From d9ba6e7348fe701b52406e67391288f393125593 Mon Sep 17 00:00:00 2001 From: Andrey Date: Tue, 18 Feb 2025 23:00:30 +0400 Subject: [PATCH 01/12] feat: make epoch's increase auto-commit --- src/contracts/vault/v1.1/Vault.sol | 4 +- .../vault/v1.1/VaultImplementation.sol | 131 +++++---- src/contracts/vault/v1.1/VaultStorage.sol | 26 +- src/interfaces/vault/v1.1/IVault.sol | 18 +- src/interfaces/vault/v1.1/IVaultStorage.sol | 56 ++-- test/vault/v1.1/Vault.t.sol | 259 +++++++++++------- test/vault/v1.1/VaultTokenized.t.sol | 40 +-- test/vault/v1.1/VaultVotes.t.sol | 36 ++- 8 files changed, 354 insertions(+), 216 deletions(-) diff --git a/src/contracts/vault/v1.1/Vault.sol b/src/contracts/vault/v1.1/Vault.sol index 8288076..00b8052 100644 --- a/src/contracts/vault/v1.1/Vault.sol +++ b/src/contracts/vault/v1.1/Vault.sol @@ -146,8 +146,8 @@ contract Vault is VaultStorage, MigratableEntity, AccessControlUpgradeable, Prox burner = params.burner; - epochDurationInit = Time.timestamp(); - epochDuration = params.epochDuration; + epochDurationInitInternal = Time.timestamp(); + epochDurationInternal = params.epochDuration; depositWhitelist = params.depositWhitelist; diff --git a/src/contracts/vault/v1.1/VaultImplementation.sol b/src/contracts/vault/v1.1/VaultImplementation.sol index 22c8702..f07e973 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -29,33 +29,74 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran constructor(address delegatorFactory, address slasherFactory) VaultStorage(delegatorFactory, slasherFactory) {} + /** + * @inheritdoc IVault + */ + function epochDuration() public view returns (uint48) { + if (nextEpochDurationInitInternal == 0 || Time.timestamp() < nextEpochDurationInitInternal) { + return epochDurationInternal; + } + return nextEpochDurationInternal; + } + + /** + * @inheritdoc IVault + */ + function epochDurationInit() public view returns (uint48) { + if (nextEpochDurationInitInternal == 0 || Time.timestamp() < nextEpochDurationInitInternal) { + return epochDurationInitInternal; + } + return nextEpochDurationInitInternal; + } + /** * @inheritdoc IVault */ function epochAt( uint48 timestamp ) public view returns (uint256) { - if (timestamp < epochDurationInit) { - if (previousEpochDurationInit == 0 || timestamp < previousEpochDurationInit) { + if (timestamp < epochDurationInitInternal) { + if (prevEpochDurationInitInternal == 0 || timestamp < prevEpochDurationInitInternal) { revert InvalidTimestamp(); } - return epochInit - (epochDurationInit - timestamp).ceilDiv(previousEpochDuration); + return prevEpochInitInternal + (timestamp - prevEpochDurationInitInternal) / prevEpochDurationInternal; + } else if (nextEpochDurationInitInternal == 0 || timestamp < nextEpochDurationInitInternal) { + return epochInitInternal + (timestamp - epochDurationInitInternal) / epochDurationInternal; + } else { + return nextEpochInitInternal + (timestamp - nextEpochDurationInitInternal) / nextEpochDurationInternal; + } + } + + function epochStart( + uint256 epoch + ) public view returns (uint48) { + if (epoch < prevEpochInitInternal) { + revert(); + } + + if (epoch < epochInitInternal) { + return + (prevEpochDurationInitInternal + (epoch - prevEpochInitInternal) * prevEpochDurationInternal).toUint48(); + } else if (nextEpochInitInternal == 0 || epoch < nextEpochInitInternal) { + return (epochDurationInitInternal + (epoch - epochInitInternal) * epochDurationInternal).toUint48(); + } else { + return + (nextEpochDurationInitInternal + (epoch - nextEpochInitInternal) * nextEpochDurationInternal).toUint48(); } - return epochInit + (timestamp - epochDurationInit) / epochDuration; } /** * @inheritdoc IVault */ function currentEpoch() public view returns (uint256) { - return epochInit + (Time.timestamp() - epochDurationInit) / epochDuration; + return epochAt(Time.timestamp()); } /** * @inheritdoc IVault */ function currentEpochStart() public view returns (uint48) { - return (epochDurationInit + (currentEpoch() - epochInit) * epochDuration).toUint48(); + return epochStart(currentEpoch()); } /** @@ -66,17 +107,14 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran if (epoch == 0) { revert NoPreviousEpoch(); } - if (epoch == epochInit) { - return epochDurationInit - previousEpochDuration; - } - return (epochDurationInit + (epoch - epochInit - 1) * epochDuration).toUint48(); + return epochStart(epoch - 1); } /** * @inheritdoc IVault */ function nextEpochStart() public view returns (uint48) { - return currentEpochStart() + epochDuration; + return epochStart(currentEpoch() + 1); } /** @@ -215,8 +253,6 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran revert NotWhitelistedDepositor(); } - _tryAcceptEpochDuration(); - uint256 balanceBefore = IERC20(collateral).balanceOf(address(this)); IERC20(collateral).safeTransferFrom(msg.sender, address(this), amount); depositedAmount = IERC20(collateral).balanceOf(address(this)) - balanceBefore; @@ -483,37 +519,43 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran function setEpochDuration( uint48 epochDuration_ ) external nonReentrant onlyRole(EPOCH_DURATION_SET_ROLE) { - _tryAcceptEpochDuration(); - - if (epochDuration > epochDuration_) { + if (nextEpochDurationInitInternal != 0 && nextEpochDurationInitInternal <= Time.timestamp()) { + uint256 currentEpoch_ = currentEpoch(); + uint48 currentEpochStart_ = currentEpochStart(); + + prevEpochInitInternal = epochInitInternal; + prevEpochDurationInternal = epochDurationInternal; + prevEpochDurationInitInternal = epochDurationInitInternal; + epochInitInternal = currentEpoch_; + epochDurationInternal = nextEpochDurationInternal; + epochDurationInitInternal = currentEpochStart_; + nextEpochInitInternal = 0; + nextEpochDurationInternal = 0; + nextEpochDurationInitInternal = 0; + } + + if (epochDurationInternal > epochDuration_) { revert InvalidNewEpochDuration(); } - if (nextEpochDurationInit != 0) { - nextEpochDuration = 0; - nextEpochDurationInit = 0; - } else if (epochDuration == epochDuration_) { + if (nextEpochDurationInitInternal != 0) { + nextEpochInitInternal = 0; + nextEpochDurationInternal = 0; + nextEpochDurationInitInternal = 0; + } else if (epochDurationInternal == epochDuration_) { revert AlreadySet(); } - if (epochDuration != epochDuration_) { - nextEpochDuration = epochDuration_; - nextEpochDurationInit = (currentEpochStart() + epochDurationSetEpochsDelay * epochDuration).toUint48(); + if (epochDurationInternal != epochDuration_) { + nextEpochInitInternal = currentEpoch() + epochDurationSetEpochsDelay; + nextEpochDurationInternal = epochDuration_; + nextEpochDurationInitInternal = + (currentEpochStart() + epochDurationSetEpochsDelay * epochDurationInternal).toUint48(); } emit SetEpochDuration(epochDuration_); } - /** - * @inheritdoc IVault - */ - function acceptEpochDuration() external nonReentrant { - if (nextEpochDurationInit == 0 || nextEpochDurationInit > Time.timestamp()) { - revert NewEpochDurationNotReady(); - } - _acceptEpochDuration(); - } - /** * @inheritdoc IVault */ @@ -599,8 +641,6 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran uint256 withdrawnAssets, uint256 burnedShares ) internal returns (uint256 mintedShares) { - _tryAcceptEpochDuration(); - _activeSharesOf[msg.sender].push(Time.timestamp(), activeSharesOf(msg.sender) - burnedShares); _activeShares.push(Time.timestamp(), activeShares() - burnedShares); _activeStake.push(Time.timestamp(), activeStake() - withdrawnAssets); @@ -638,26 +678,5 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran isWithdrawalsClaimed[epoch][msg.sender] = true; } - function _tryAcceptEpochDuration() internal { - if (nextEpochDurationInit != 0 && nextEpochDurationInit <= Time.timestamp()) { - _acceptEpochDuration(); - } - } - - function _acceptEpochDuration() internal { - uint256 currentEpoch_ = currentEpoch(); - uint48 currentEpochStart_ = currentEpochStart(); - - previousEpochDuration = epochDuration; - previousEpochDurationInit = epochDurationInit; - epochInit = currentEpoch_; - epochDuration = nextEpochDuration; - epochDurationInit = currentEpochStart_; - nextEpochDuration = 0; - nextEpochDurationInit = 0; - - emit AcceptEpochDuration(); - } - function _Vault_init() external {} } diff --git a/src/contracts/vault/v1.1/VaultStorage.sol b/src/contracts/vault/v1.1/VaultStorage.sol index c6ba10d..3f38a86 100644 --- a/src/contracts/vault/v1.1/VaultStorage.sol +++ b/src/contracts/vault/v1.1/VaultStorage.sol @@ -86,12 +86,12 @@ abstract contract VaultStorage is StaticDelegateCallable, IVaultStorage { /** * @inheritdoc IVaultStorage */ - uint48 public epochDurationInit; + uint48 public epochDurationInitInternal; /** * @inheritdoc IVaultStorage */ - uint48 public epochDuration; + uint48 public epochDurationInternal; /** * @inheritdoc IVaultStorage @@ -157,27 +157,37 @@ abstract contract VaultStorage is StaticDelegateCallable, IVaultStorage { /** * @inheritdoc IVaultStorage */ - uint256 public epochInit; + uint256 public epochInitInternal; /** * @inheritdoc IVaultStorage */ - uint48 public previousEpochDurationInit; + uint256 public prevEpochInitInternal; /** * @inheritdoc IVaultStorage */ - uint48 public previousEpochDuration; + uint48 public prevEpochDurationInitInternal; /** * @inheritdoc IVaultStorage */ - uint48 public nextEpochDurationInit; + uint48 public prevEpochDurationInternal; /** * @inheritdoc IVaultStorage */ - uint48 public nextEpochDuration; + uint48 public nextEpochDurationInitInternal; + + /** + * @inheritdoc IVaultStorage + */ + uint48 public nextEpochDurationInternal; + + /** + * @inheritdoc IVaultStorage + */ + uint256 public nextEpochInitInternal; /** * @inheritdoc IVaultStorage @@ -194,5 +204,5 @@ abstract contract VaultStorage is StaticDelegateCallable, IVaultStorage { SLASHER_FACTORY = slasherFactory; } - uint256[45] private __gap; + uint256[43] private __gap; } diff --git a/src/interfaces/vault/v1.1/IVault.sol b/src/interfaces/vault/v1.1/IVault.sol index 9546016..154f616 100644 --- a/src/interfaces/vault/v1.1/IVault.sol +++ b/src/interfaces/vault/v1.1/IVault.sol @@ -228,6 +228,18 @@ interface IVault is IVaultStorage, IAccessControl, IERC165, IERC3156FlashLender */ event SetSlasher(address indexed slasher); + /** + * @notice Get a time point of the epoch duration set. + * @return time point of the epoch duration set + */ + function epochDurationInit() external view returns (uint48); + + /** + * @notice Get a duration of the vault epoch. + * @return duration of the epoch + */ + function epochDuration() external view returns (uint48); + /** * @notice Get an epoch at a given timestamp. * @param timestamp time point to get the epoch at @@ -460,12 +472,6 @@ interface IVault is IVaultStorage, IAccessControl, IERC165, IERC3156FlashLender uint48 epochDuration_ ) external; - /** - * @notice Accept an epoch duration. - * @dev Only a EPOCH_DURATION_SET_ROLE holder can call this function. - */ - function acceptEpochDuration() external; - /** * @notice Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000). * @param flashFeeRate_ flash fee rate diff --git a/src/interfaces/vault/v1.1/IVaultStorage.sol b/src/interfaces/vault/v1.1/IVaultStorage.sol index db8cab3..238876f 100644 --- a/src/interfaces/vault/v1.1/IVaultStorage.sol +++ b/src/interfaces/vault/v1.1/IVaultStorage.sol @@ -104,18 +104,6 @@ interface IVaultStorage { */ function isSlasherInitialized() external view returns (bool); - /** - * @notice Get a time point of the epoch duration set. - * @return time point of the epoch duration set - */ - function epochDurationInit() external view returns (uint48); - - /** - * @notice Get a duration of the vault epoch. - * @return duration of the epoch - */ - function epochDuration() external view returns (uint48); - /** * @notice Get if the deposit whitelist is enabled. * @return if the deposit whitelist is enabled @@ -184,34 +172,58 @@ interface IVaultStorage { function epochDurationSetEpochsDelay() external view returns (uint256); /** - * @notice Get the current epoch duration's first epoch. + * @notice Get the current epoch duration's first epoch (internal). * @return the current epoch duration's first epoch */ - function epochInit() external view returns (uint256); + function epochInitInternal() external view returns (uint256); + + /** + * @notice Get a time point of the epoch duration set (internal). + * @return time point of the epoch duration set + */ + function epochDurationInitInternal() external view returns (uint48); + + /** + * @notice Get a duration of the epoch (internal). + * @return duration of the epoch + */ + function epochDurationInternal() external view returns (uint48); /** - * @notice Get a time point of the previous epoch duration set. + * @notice Get a the previous epoch duration's first epoch (internal). + * @return the previous epoch duration's first epoch + */ + function prevEpochInitInternal() external view returns (uint256); + + /** + * @notice Get a time point of the previous epoch duration set (internal). * @return time point of the previous epoch duration set */ - function previousEpochDurationInit() external view returns (uint48); + function prevEpochDurationInitInternal() external view returns (uint48); /** - * @notice Get a duration of the previous epoch. + * @notice Get a duration of the previous epoch (internal). * @return duration of the previous epoch */ - function previousEpochDuration() external view returns (uint48); + function prevEpochDurationInternal() external view returns (uint48); + + /** + * @notice Get a the next epoch duration's first epoch (internal). + * @return the next epoch duration's first epoch + */ + function nextEpochInitInternal() external view returns (uint256); /** - * @notice Get a time point of the next epoch duration set. + * @notice Get a time point of the next epoch duration set (internal). * @return time point of the next epoch duration set */ - function nextEpochDurationInit() external view returns (uint48); + function nextEpochDurationInitInternal() external view returns (uint48); /** - * @notice Get a duration of the next epoch. + * @notice Get a duration of the next epoch (internal). * @return duration of the next epoch */ - function nextEpochDuration() external view returns (uint48); + function nextEpochDurationInternal() external view returns (uint48); /** * @notice Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000). diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index 930d538..149c398 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -304,11 +304,11 @@ contract VaultTest is Test { assertEq(vault.flashFeeRate(), flashFeeRate); assertEq(vault.flashFeeReceiver(), alice); assertEq(vault.epochDurationSetEpochsDelay(), epochDurationSetEpochsDelay); - assertEq(vault.epochInit(), 0); - assertEq(vault.previousEpochDurationInit(), 0); - assertEq(vault.previousEpochDuration(), 0); - assertEq(vault.nextEpochDurationInit(), 0); - assertEq(vault.nextEpochDuration(), 0); + assertEq(vault.epochInitInternal(), 0); + assertEq(vault.prevEpochDurationInitInternal(), 0); + assertEq(vault.prevEpochDurationInternal(), 0); + assertEq(vault.nextEpochDurationInitInternal(), 0); + assertEq(vault.nextEpochDurationInternal(), 0); blockTimestamp = blockTimestamp + vault.epochDuration() - 1; vm.warp(blockTimestamp); @@ -2788,7 +2788,7 @@ contract VaultTest is Test { uint48 newEpochDuration3, uint48 newEpochDuration4 ) public { - epochDuration = uint48(bound(epochDuration, 1, 50 weeks)); + epochDuration = uint48(bound(epochDuration, 3, 50 weeks)); newEpochDuration = uint48(bound(newEpochDuration, epochDuration + 1, 60 weeks)); newEpochDuration2 = uint48(bound(newEpochDuration2, newEpochDuration + 1, 70 weeks)); newEpochDuration3 = uint48(bound(newEpochDuration3, newEpochDuration + 1, 70 weeks)); @@ -2801,59 +2801,107 @@ contract VaultTest is Test { vault = _getVault(epochDuration); uint256 epochDurationSetEpochsDelay = vault.epochDurationSetEpochsDelay(); + assertEq( + vault.epochStart(epochDurationSetEpochsDelay), blockTimestamp + epochDurationSetEpochsDelay * epochDuration + ); + assertEq( + vault.epochStart(epochDurationSetEpochsDelay + 1), + blockTimestamp + (epochDurationSetEpochsDelay + 1) * epochDuration + ); + _grantEpochDurationSetRole(alice, alice); _setEpochDuration(alice, newEpochDuration); assertEq(vault.epochDuration(), epochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochInit(), 0); - assertEq(vault.previousEpochDuration(), 0); - assertEq(vault.previousEpochDurationInit(), 0); - assertEq(vault.nextEpochDurationInit(), blockTimestamp + epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.nextEpochDuration(), newEpochDuration); + assertEq(vault.epochDurationInternal(), epochDuration); + assertEq(vault.epochDurationInitInternal(), blockTimestamp); + assertEq(vault.epochInitInternal(), 0); + assertEq(vault.prevEpochInitInternal(), 0); + assertEq(vault.prevEpochDurationInternal(), 0); + assertEq(vault.prevEpochDurationInitInternal(), 0); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.nextEpochDurationInternal(), newEpochDuration); + vm.expectRevert(); + vault.epochAt(uint48(blockTimestamp - 1)); + assertEq(vault.epochAt(uint48(blockTimestamp)), 0); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration - 1)), 0); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 1); + assertEq(vault.epochStart(0), blockTimestamp); + assertEq(vault.epochStart(1), blockTimestamp + epochDuration); + assertEq( + vault.epochStart(epochDurationSetEpochsDelay), blockTimestamp + epochDurationSetEpochsDelay * epochDuration + ); + assertEq( + vault.epochStart(epochDurationSetEpochsDelay + 1), + blockTimestamp + epochDurationSetEpochsDelay * epochDuration + newEpochDuration + ); blockTimestamp = blockTimestamp + 1; vm.warp(blockTimestamp); assertEq(vault.epochDuration(), epochDuration); assertEq(vault.epochDurationInit(), blockTimestamp - 1); - assertEq(vault.epochInit(), 0); - assertEq(vault.previousEpochDuration(), 0); - assertEq(vault.previousEpochDurationInit(), 0); - assertEq(vault.nextEpochDurationInit(), blockTimestamp + epochDurationSetEpochsDelay * epochDuration - 1); - assertEq(vault.nextEpochDuration(), newEpochDuration); + assertEq(vault.epochDurationInternal(), epochDuration); + assertEq(vault.epochDurationInitInternal(), blockTimestamp - 1); + assertEq(vault.epochInitInternal(), 0); + assertEq(vault.prevEpochInitInternal(), 0); + assertEq(vault.prevEpochDurationInternal(), 0); + assertEq(vault.prevEpochDurationInitInternal(), 0); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq( + vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * epochDuration - 1 + ); + assertEq(vault.nextEpochDurationInternal(), newEpochDuration); + vm.expectRevert(); + vault.epochAt(uint48(blockTimestamp - 2)); + assertEq(vault.epochAt(uint48(blockTimestamp - 1)), 0); + assertEq(vault.epochAt(uint48(blockTimestamp)), 0); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 1); + assertEq(vault.epochStart(0), blockTimestamp - 1); + assertEq(vault.epochStart(1), blockTimestamp + epochDuration - 1); blockTimestamp = blockTimestamp + epochDurationSetEpochsDelay * epochDuration - 2; vm.warp(blockTimestamp); assertEq(vault.epochDuration(), epochDuration); assertEq(vault.epochDurationInit(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 1); - assertEq(vault.epochInit(), 0); - assertEq(vault.previousEpochDuration(), 0); - assertEq(vault.previousEpochDurationInit(), 0); - assertEq(vault.nextEpochDurationInit(), blockTimestamp + 1); - assertEq(vault.nextEpochDuration(), newEpochDuration); + assertEq(vault.epochDurationInternal(), epochDuration); + assertEq(vault.epochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 1); + assertEq(vault.epochInitInternal(), 0); + assertEq(vault.prevEpochInitInternal(), 0); + assertEq(vault.prevEpochDurationInternal(), 0); + assertEq(vault.prevEpochDurationInitInternal(), 0); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 1); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 1); + assertEq(vault.nextEpochDurationInternal(), newEpochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 2)), 0); + assertEq(vault.epochAt(uint48(blockTimestamp - 1)), epochDurationSetEpochsDelay - 1); + assertEq(vault.epochAt(uint48(blockTimestamp)), epochDurationSetEpochsDelay - 1); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); + assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 1); + assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration + 1); blockTimestamp = blockTimestamp + 1; vm.warp(blockTimestamp); - assertEq(vault.epochDuration(), epochDuration); - assertEq(vault.epochDurationInit(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.epochInit(), 0); - assertEq(vault.previousEpochDuration(), 0); - assertEq(vault.previousEpochDurationInit(), 0); - assertEq(vault.nextEpochDurationInit(), blockTimestamp); - assertEq(vault.nextEpochDuration(), newEpochDuration); - - _acceptEpochDuration(alice); - assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochInit(), 3); - assertEq(vault.previousEpochDuration(), epochDuration); - assertEq(vault.previousEpochDurationInit(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.nextEpochDurationInit(), 0); - assertEq(vault.nextEpochDuration(), 0); - assertEq(vault.previousEpochStart(), blockTimestamp - epochDuration); + assertEq(vault.epochDurationInternal(), epochDuration); + assertEq(vault.epochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.epochInitInternal(), 0); + assertEq(vault.prevEpochInitInternal(), 0); + assertEq(vault.prevEpochDurationInternal(), 0); + assertEq(vault.prevEpochDurationInitInternal(), 0); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch()); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp); + assertEq(vault.nextEpochDurationInternal(), newEpochDuration); + assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); + assertEq(vault.epochStart(epochDurationSetEpochsDelay), blockTimestamp); + assertEq(vault.epochStart(epochDurationSetEpochsDelay + 1), blockTimestamp + newEpochDuration); vm.expectRevert(IVault.InvalidTimestamp.selector); vault.epochAt(0); @@ -2880,41 +2928,85 @@ contract VaultTest is Test { assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochInit(), 3); - assertEq(vault.previousEpochDuration(), epochDuration); - assertEq(vault.previousEpochDurationInit(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.nextEpochDuration(), newEpochDuration2); - assertEq(vault.nextEpochDurationInit(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration); + assertEq(vault.epochDurationInternal(), newEpochDuration); + assertEq(vault.epochDurationInitInternal(), blockTimestamp); + assertEq(vault.epochInitInternal(), 3); + assertEq(vault.prevEpochInitInternal(), 0); + assertEq(vault.prevEpochDurationInternal(), epochDuration); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq(vault.nextEpochDurationInternal(), newEpochDuration2); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration); + assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); + vm.expectRevert(); + vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration - 1)); + assertEq(vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration)), 0); + assertEq(vault.epochStart(epochDurationSetEpochsDelay), blockTimestamp); + assertEq( + vault.epochStart(epochDurationSetEpochsDelay + epochDurationSetEpochsDelay), + blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration + ); + assertEq( + vault.epochStart(epochDurationSetEpochsDelay + epochDurationSetEpochsDelay + 1), + blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration + newEpochDuration2 + ); _setEpochDuration(alice, newEpochDuration); assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochInit(), 3); - assertEq(vault.previousEpochDuration(), epochDuration); - assertEq(vault.previousEpochDurationInit(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.nextEpochDuration(), 0); - assertEq(vault.nextEpochDurationInit(), 0); + assertEq(vault.epochDurationInternal(), newEpochDuration); + assertEq(vault.epochDurationInitInternal(), blockTimestamp); + assertEq(vault.epochInitInternal(), 3); + assertEq(vault.prevEpochInitInternal(), 0); + assertEq(vault.prevEpochDurationInternal(), epochDuration); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.nextEpochInitInternal(), 0); + assertEq(vault.nextEpochDurationInternal(), 0); + assertEq(vault.nextEpochDurationInitInternal(), 0); + assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); _setEpochDuration(alice, newEpochDuration2); assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochInit(), 3); - assertEq(vault.previousEpochDuration(), epochDuration); - assertEq(vault.previousEpochDurationInit(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.nextEpochDuration(), newEpochDuration2); - assertEq(vault.nextEpochDurationInit(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration); + assertEq(vault.epochDurationInternal(), newEpochDuration); + assertEq(vault.epochDurationInitInternal(), blockTimestamp); + assertEq(vault.epochInitInternal(), 3); + assertEq(vault.prevEpochInitInternal(), 0); + assertEq(vault.prevEpochDurationInternal(), epochDuration); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq(vault.nextEpochDurationInternal(), newEpochDuration2); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration); + assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); _setEpochDuration(alice, newEpochDuration3); assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochInit(), 3); - assertEq(vault.previousEpochDuration(), epochDuration); - assertEq(vault.previousEpochDurationInit(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.nextEpochDuration(), newEpochDuration3); - assertEq(vault.nextEpochDurationInit(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration); + assertEq(vault.epochDurationInternal(), newEpochDuration); + assertEq(vault.epochDurationInitInternal(), blockTimestamp); + assertEq(vault.epochInitInternal(), 3); + assertEq(vault.prevEpochInitInternal(), 0); + assertEq(vault.prevEpochDurationInternal(), epochDuration); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq(vault.nextEpochDurationInternal(), newEpochDuration3); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration); + assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); blockTimestamp = blockTimestamp + newEpochDuration; vm.warp(blockTimestamp); @@ -2926,15 +3018,26 @@ contract VaultTest is Test { blockTimestamp = blockTimestamp + (epochDurationSetEpochsDelay - 1) * newEpochDuration; vm.warp(blockTimestamp); + assertEq(vault.epochDuration(), newEpochDuration3); + assertEq(vault.epochDurationInit(), blockTimestamp); + _setEpochDuration(alice, newEpochDuration4); assertEq(vault.epochDuration(), newEpochDuration3); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochInit(), 6); - assertEq(vault.previousEpochDuration(), newEpochDuration); - assertEq(vault.previousEpochDurationInit(), blockTimestamp - epochDurationSetEpochsDelay * newEpochDuration); - assertEq(vault.nextEpochDuration(), newEpochDuration4); - assertEq(vault.nextEpochDurationInit(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration3); + assertEq(vault.epochDurationInternal(), newEpochDuration3); + assertEq(vault.epochDurationInitInternal(), blockTimestamp); + assertEq(vault.epochInitInternal(), 6); + assertEq(vault.prevEpochInitInternal(), 3); + assertEq(vault.prevEpochDurationInternal(), newEpochDuration); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * newEpochDuration); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq(vault.nextEpochDurationInternal(), newEpochDuration4); + assertEq( + vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration3 + ); + vm.expectRevert(); + vault.epochStart(0); } function test_SetEpochDurationRevertInvalidNewEpochDuration(uint48 epochDuration, uint48 newEpochDuration) public { @@ -2968,26 +3071,6 @@ contract VaultTest is Test { _setEpochDuration(alice, epochDuration); } - function test_AcceptEpochDurationRevertNewEpochDurationNotReady( - uint48 epochDuration, - uint48 newEpochDuration - ) public { - epochDuration = uint48(bound(epochDuration, 1, 50 weeks)); - newEpochDuration = uint48(bound(newEpochDuration, epochDuration + 1, 60 weeks)); - - uint256 blockTimestamp = vm.getBlockTimestamp(); - blockTimestamp = blockTimestamp + 1_720_700_948; - vm.warp(blockTimestamp); - - vault = _getVault(epochDuration); - - _grantEpochDurationSetRole(alice, alice); - _setEpochDuration(alice, newEpochDuration); - - vm.expectRevert(IVault.NewEpochDurationNotReady.selector); - vault.acceptEpochDuration(); - } - function test_SetFlashFeeRate( uint256 flashFeeRate ) public { @@ -3333,11 +3416,11 @@ contract VaultTest is Test { assertEq(vault.epochAt(uint48(blockTimestamp)), 3); assertEq(vault.currentEpochStart(), blockTimestamp - 1); assertEq(vault.previousEpochStart(), blockTimestamp - 1 - 7 days); - assertEq(vault.epochAt(uint48(blockTimestamp - newEpochDuration)), vault.epochInit() - 2); + assertEq(vault.epochAt(uint48(blockTimestamp - newEpochDuration)), vault.nextEpochInitInternal() - 2); vm.expectRevert(IVault.InvalidCaptureEpoch.selector); _slash(alice, alice, alice, slashAmount1, uint48(blockTimestamp - newEpochDuration), ""); - assertEq(vault.epochAt(uint48(blockTimestamp - 7 days - 1)), vault.epochInit() - 1); + assertEq(vault.epochAt(uint48(blockTimestamp - 7 days - 1)), vault.nextEpochInitInternal() - 1); _slash(alice, alice, alice, slashAmount1, uint48(blockTimestamp - 7 days - 1), ""); } @@ -3978,14 +4061,6 @@ contract VaultTest is Test { vm.stopPrank(); } - function _acceptEpochDuration( - address user - ) internal { - vm.startPrank(user); - vault.acceptEpochDuration(); - vm.stopPrank(); - } - function _setFlashFeeRate(address user, uint256 flashFeeRate) internal { vm.startPrank(user); vault.setFlashFeeRate(flashFeeRate); diff --git a/test/vault/v1.1/VaultTokenized.t.sol b/test/vault/v1.1/VaultTokenized.t.sol index cafd8cf..57bd19a 100644 --- a/test/vault/v1.1/VaultTokenized.t.sol +++ b/test/vault/v1.1/VaultTokenized.t.sol @@ -270,7 +270,7 @@ contract VaultTokenizedTest is Test { assertEq(vault.delegator(), delegator_); assertEq(vault.slasher(), address(0)); assertEq(vault.burner(), burner); - assertEq(vault.epochDuration(), epochDuration); + assertEq(VaultImplementation(payable(address(vault))).epochDuration(), epochDuration); assertEq(vault.depositWhitelist(), depositWhitelist); assertEq( VaultImplementation(payable(address(vault))).hasRole( @@ -284,8 +284,8 @@ contract VaultTokenizedTest is Test { ), true ); - assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDuration(), epochDuration); + assertEq(VaultImplementation(payable(address(vault))).epochDurationInit(), blockTimestamp); + assertEq(VaultImplementation(payable(address(vault))).epochDuration(), epochDuration); vm.expectRevert(IVault.InvalidTimestamp.selector); assertEq(VaultImplementation(payable(address(vault))).epochAt(0), 0); assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 0); @@ -313,7 +313,7 @@ contract VaultTokenizedTest is Test { assertEq(VaultImplementation(payable(address(vault))).isSlasherInitialized(), true); assertEq(VaultImplementation(payable(address(vault))).isInitialized(), true); - blockTimestamp = blockTimestamp + vault.epochDuration() - 1; + blockTimestamp = blockTimestamp + VaultImplementation(payable(address(vault))).epochDuration() - 1; vm.warp(blockTimestamp); assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 0); @@ -321,7 +321,7 @@ contract VaultTokenizedTest is Test { assertEq(VaultImplementation(payable(address(vault))).currentEpoch(), 0); assertEq( VaultImplementation(payable(address(vault))).currentEpochStart(), - blockTimestamp - (vault.epochDuration() - 1) + blockTimestamp - (VaultImplementation(payable(address(vault))).epochDuration() - 1) ); vm.expectRevert(IVault.NoPreviousEpoch.selector); VaultImplementation(payable(address(vault))).previousEpochStart(); @@ -332,16 +332,23 @@ contract VaultTokenizedTest is Test { assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 1); assertEq( - VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp + 2 * vault.epochDuration())), 3 + VaultImplementation(payable(address(vault))).epochAt( + uint48(blockTimestamp + 2 * VaultImplementation(payable(address(vault))).epochDuration()) + ), + 3 ); assertEq(VaultImplementation(payable(address(vault))).currentEpoch(), 1); assertEq(VaultImplementation(payable(address(vault))).currentEpochStart(), blockTimestamp); assertEq( - VaultImplementation(payable(address(vault))).previousEpochStart(), blockTimestamp - vault.epochDuration() + VaultImplementation(payable(address(vault))).previousEpochStart(), + blockTimestamp - VaultImplementation(payable(address(vault))).epochDuration() + ); + assertEq( + VaultImplementation(payable(address(vault))).nextEpochStart(), + blockTimestamp + VaultImplementation(payable(address(vault))).epochDuration() ); - assertEq(VaultImplementation(payable(address(vault))).nextEpochStart(), blockTimestamp + vault.epochDuration()); - blockTimestamp = blockTimestamp + vault.epochDuration() - 1; + blockTimestamp = blockTimestamp + VaultImplementation(payable(address(vault))).epochDuration() - 1; vm.warp(blockTimestamp); assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 1); @@ -349,11 +356,12 @@ contract VaultTokenizedTest is Test { assertEq(VaultImplementation(payable(address(vault))).currentEpoch(), 1); assertEq( VaultImplementation(payable(address(vault))).currentEpochStart(), - blockTimestamp - (vault.epochDuration() - 1) + blockTimestamp - (VaultImplementation(payable(address(vault))).epochDuration() - 1) ); assertEq( VaultImplementation(payable(address(vault))).previousEpochStart(), - blockTimestamp - (vault.epochDuration() - 1) - vault.epochDuration() + blockTimestamp - (VaultImplementation(payable(address(vault))).epochDuration() - 1) + - VaultImplementation(payable(address(vault))).epochDuration() ); assertEq(VaultImplementation(payable(address(vault))).nextEpochStart(), blockTimestamp + 1); @@ -3140,7 +3148,7 @@ contract VaultTokenizedTest is Test { _deposit(alice, depositAmount); _withdraw(alice, withdrawAmount1); - blockTimestamp = blockTimestamp + vault.epochDuration(); + blockTimestamp = blockTimestamp + VaultImplementation(payable(address(vault))).epochDuration(); vm.warp(blockTimestamp); _withdraw(alice, withdrawAmount2); @@ -3402,8 +3410,8 @@ contract VaultTokenizedTest is Test { ), true ); - assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDuration(), 7 days); + assertEq(VaultImplementation(payable(address(vault))).epochDurationInit(), blockTimestamp); + assertEq(VaultImplementation(payable(address(vault))).epochDuration(), 7 days); vm.expectRevert(IVault.InvalidTimestamp.selector); assertEq(VaultImplementation(payable(address(vault))).epochAt(0), 0); assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 0); @@ -3557,8 +3565,8 @@ contract VaultTokenizedTest is Test { ), true ); - assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDuration(), 7 days); + assertEq(VaultImplementation(payable(address(vault))).epochDurationInit(), blockTimestamp); + assertEq(VaultImplementation(payable(address(vault))).epochDuration(), 7 days); vm.expectRevert(IVault.InvalidTimestamp.selector); assertEq(VaultImplementation(payable(address(vault))).epochAt(0), 0); assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 0); diff --git a/test/vault/v1.1/VaultVotes.t.sol b/test/vault/v1.1/VaultVotes.t.sol index 4bc0b2f..1549851 100644 --- a/test/vault/v1.1/VaultVotes.t.sol +++ b/test/vault/v1.1/VaultVotes.t.sol @@ -282,7 +282,7 @@ contract VaultVotesTest is Test { assertEq(vault.delegator(), delegator_); assertEq(vault.slasher(), address(0)); assertEq(vault.burner(), burner); - assertEq(vault.epochDuration(), epochDuration); + assertEq(VaultImplementation(payable(address(vault))).epochDuration(), epochDuration); assertEq(vault.depositWhitelist(), depositWhitelist); assertEq( VaultImplementation(payable(address(vault))).hasRole( @@ -296,8 +296,8 @@ contract VaultVotesTest is Test { ), true ); - assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDuration(), epochDuration); + assertEq(VaultImplementation(payable(address(vault))).epochDurationInit(), blockTimestamp); + assertEq(VaultImplementation(payable(address(vault))).epochDuration(), epochDuration); vm.expectRevert(IVault.InvalidTimestamp.selector); assertEq(VaultImplementation(payable(address(vault))).epochAt(0), 0); assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 0); @@ -325,7 +325,7 @@ contract VaultVotesTest is Test { assertEq(VaultImplementation(payable(address(vault))).isSlasherInitialized(), true); assertEq(VaultImplementation(payable(address(vault))).isInitialized(), true); - blockTimestamp = blockTimestamp + vault.epochDuration() - 1; + blockTimestamp = blockTimestamp + VaultImplementation(payable(address(vault))).epochDuration() - 1; vm.warp(blockTimestamp); assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 0); @@ -333,7 +333,7 @@ contract VaultVotesTest is Test { assertEq(VaultImplementation(payable(address(vault))).currentEpoch(), 0); assertEq( VaultImplementation(payable(address(vault))).currentEpochStart(), - blockTimestamp - (vault.epochDuration() - 1) + blockTimestamp - (VaultImplementation(payable(address(vault))).epochDuration() - 1) ); vm.expectRevert(IVault.NoPreviousEpoch.selector); VaultImplementation(payable(address(vault))).previousEpochStart(); @@ -344,16 +344,23 @@ contract VaultVotesTest is Test { assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 1); assertEq( - VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp + 2 * vault.epochDuration())), 3 + VaultImplementation(payable(address(vault))).epochAt( + uint48(blockTimestamp + 2 * VaultImplementation(payable(address(vault))).epochDuration()) + ), + 3 ); assertEq(VaultImplementation(payable(address(vault))).currentEpoch(), 1); assertEq(VaultImplementation(payable(address(vault))).currentEpochStart(), blockTimestamp); assertEq( - VaultImplementation(payable(address(vault))).previousEpochStart(), blockTimestamp - vault.epochDuration() + VaultImplementation(payable(address(vault))).previousEpochStart(), + blockTimestamp - VaultImplementation(payable(address(vault))).epochDuration() + ); + assertEq( + VaultImplementation(payable(address(vault))).nextEpochStart(), + blockTimestamp + VaultImplementation(payable(address(vault))).epochDuration() ); - assertEq(VaultImplementation(payable(address(vault))).nextEpochStart(), blockTimestamp + vault.epochDuration()); - blockTimestamp = blockTimestamp + vault.epochDuration() - 1; + blockTimestamp = blockTimestamp + VaultImplementation(payable(address(vault))).epochDuration() - 1; vm.warp(blockTimestamp); assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 1); @@ -361,11 +368,12 @@ contract VaultVotesTest is Test { assertEq(VaultImplementation(payable(address(vault))).currentEpoch(), 1); assertEq( VaultImplementation(payable(address(vault))).currentEpochStart(), - blockTimestamp - (vault.epochDuration() - 1) + blockTimestamp - (VaultImplementation(payable(address(vault))).epochDuration() - 1) ); assertEq( VaultImplementation(payable(address(vault))).previousEpochStart(), - blockTimestamp - (vault.epochDuration() - 1) - vault.epochDuration() + blockTimestamp - (VaultImplementation(payable(address(vault))).epochDuration() - 1) + - VaultImplementation(payable(address(vault))).epochDuration() ); assertEq(VaultImplementation(payable(address(vault))).nextEpochStart(), blockTimestamp + 1); @@ -3155,7 +3163,7 @@ contract VaultVotesTest is Test { _deposit(alice, depositAmount); _withdraw(alice, withdrawAmount1); - blockTimestamp = blockTimestamp + vault.epochDuration(); + blockTimestamp = blockTimestamp + VaultImplementation(payable(address(vault))).epochDuration(); vm.warp(blockTimestamp); _withdraw(alice, withdrawAmount2); @@ -3752,8 +3760,8 @@ contract VaultVotesTest is Test { ), true ); - assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDuration(), 7 days); + assertEq(VaultImplementation(payable(address(vault))).epochDurationInit(), blockTimestamp); + assertEq(VaultImplementation(payable(address(vault))).epochDuration(), 7 days); vm.expectRevert(IVault.InvalidTimestamp.selector); assertEq(VaultImplementation(payable(address(vault))).epochAt(0), 0); assertEq(VaultImplementation(payable(address(vault))).epochAt(uint48(blockTimestamp)), 0); From a7b63b10b37c3bb013d9515f0311fb7254f0f309 Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 19 Feb 2025 00:39:42 +0400 Subject: [PATCH 02/12] docs: add missing description --- src/contracts/vault/v1.1/VaultImplementation.sol | 3 +++ src/interfaces/vault/v1.1/IVault.sol | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/src/contracts/vault/v1.1/VaultImplementation.sol b/src/contracts/vault/v1.1/VaultImplementation.sol index f07e973..35e4f40 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -67,6 +67,9 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran } } + /** + * @inheritdoc IVault + */ function epochStart( uint256 epoch ) public view returns (uint48) { diff --git a/src/interfaces/vault/v1.1/IVault.sol b/src/interfaces/vault/v1.1/IVault.sol index 154f616..41abe0b 100644 --- a/src/interfaces/vault/v1.1/IVault.sol +++ b/src/interfaces/vault/v1.1/IVault.sol @@ -250,6 +250,15 @@ interface IVault is IVaultStorage, IAccessControl, IERC165, IERC3156FlashLender uint48 timestamp ) external view returns (uint256); + /** + * @notice Get a start of the epoch. + * @param epoch epoch to get the start of + * @return start of the epoch + */ + function epochStart( + uint256 epoch + ) external view returns (uint48); + /** * @notice Get a current vault epoch. * @return current epoch From 1f1e8abb8002f19d62f95dd0bb99b868502fda82 Mon Sep 17 00:00:00 2001 From: Andrey Date: Sun, 23 Feb 2025 20:46:42 +0400 Subject: [PATCH 03/12] test: more coverage --- src/contracts/vault/v1.1/VaultVotes.sol | 2 +- src/interfaces/vault/v1.1/IVaultVotes.sol | 2 +- test/mocks/Token.sol | 4 ++ test/vault/v1.1/VaultVotes.t.sol | 76 +++++++++++++++++++++++ 4 files changed, 82 insertions(+), 2 deletions(-) diff --git a/src/contracts/vault/v1.1/VaultVotes.sol b/src/contracts/vault/v1.1/VaultVotes.sol index 993c5ba..7ae9572 100644 --- a/src/contracts/vault/v1.1/VaultVotes.sol +++ b/src/contracts/vault/v1.1/VaultVotes.sol @@ -26,7 +26,7 @@ contract VaultVotes is VaultTokenized { function _migrate(uint64 oldVersion, uint64, /* newVersion */ bytes memory data) internal virtual override { if (oldVersion != 3) { - revert IVaultVotes.ImproperMigration(); + revert IVaultVotes.InvalidOrigin(); } if (data.length > 0) { diff --git a/src/interfaces/vault/v1.1/IVaultVotes.sol b/src/interfaces/vault/v1.1/IVaultVotes.sol index 5aa243e..1b6b453 100644 --- a/src/interfaces/vault/v1.1/IVaultVotes.sol +++ b/src/interfaces/vault/v1.1/IVaultVotes.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.0; import {IERC5805} from "@openzeppelin/contracts/interfaces/IERC5805.sol"; interface IVaultVotes is IERC5805 { - error ImproperMigration(); + error InvalidOrigin(); error InvalidData(); error SafeSupplyExceeded(); } diff --git a/test/mocks/Token.sol b/test/mocks/Token.sol index 7304716..facb3f2 100644 --- a/test/mocks/Token.sol +++ b/test/mocks/Token.sol @@ -9,4 +9,8 @@ contract Token is ERC20 { ) ERC20(name_, "") { _mint(msg.sender, 1_000_000 * 10 ** decimals()); } + + function mint(address to, uint256 amount) external { + _mint(to, amount); + } } diff --git a/test/vault/v1.1/VaultVotes.t.sol b/test/vault/v1.1/VaultVotes.t.sol index 1549851..fc8e72b 100644 --- a/test/vault/v1.1/VaultVotes.t.sol +++ b/test/vault/v1.1/VaultVotes.t.sol @@ -12,6 +12,7 @@ import {MetadataService} from "../../../src/contracts/service/MetadataService.so import {NetworkMiddlewareService} from "../../../src/contracts/service/NetworkMiddlewareService.sol"; import {OptInService} from "../../../src/contracts/service/OptInService.sol"; +import {IVault as IVaultV1} from "../../../src/interfaces/vault/IVault.sol"; import {Vault as VaultV1} from "../../../src/contracts/vault/Vault.sol"; import {VaultTokenized as VaultTokenizedV1} from "../../../src/contracts/vault/VaultTokenized.sol"; import {VaultVotesImplementation} from "../../../src/contracts/vault/v1.1/VaultVotesImplementation.sol"; @@ -25,6 +26,7 @@ import {OperatorSpecificDelegator} from "../../../src/contracts/delegator/Operat import {OperatorNetworkSpecificDelegator} from "../../../src/contracts/delegator/OperatorNetworkSpecificDelegator.sol"; import {Slasher} from "../../../src/contracts/slasher/Slasher.sol"; import {VetoSlasher} from "../../../src/contracts/slasher/VetoSlasher.sol"; +import {VotesUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/utils/VotesUpgradeable.sol"; import {IVault} from "../../../src/interfaces/vault/v1.1/IVault.sol"; import {IVaultTokenized} from "../../../src/interfaces/vault/v1.1/IVaultTokenized.sol"; @@ -1562,6 +1564,26 @@ contract VaultVotesTest is Test { assertGt(gasSpent, gasLeft - gasleft()); } + function test_DepositRevertSafeSupplyExceeded( + uint256 amount1 + ) public { + amount1 = bound(amount1, uint256(type(uint208).max) + 1, type(uint224).max); + + uint256 blockTimestamp = vm.getBlockTimestamp(); + blockTimestamp = blockTimestamp + 1_720_700_948; + vm.warp(blockTimestamp); + + uint48 epochDuration = 1; + vault = _getVault(epochDuration); + + collateral.mint(alice, amount1); + vm.startPrank(alice); + collateral.approve(address(vault), amount1); + vm.expectRevert(IVaultVotes.SafeSupplyExceeded.selector); + vault.deposit(alice, amount1); + vm.stopPrank(); + } + function test_DepositTwiceFeeOnTransferCollateral(uint256 amount1, uint256 amount2) public { amount1 = bound(amount1, 2, 100 * 10 ** 18); amount2 = bound(amount2, 2, 100 * 10 ** 18); @@ -3584,6 +3606,8 @@ contract VaultVotesTest is Test { assertEq(vault.getVotes(alice), 0); assertEq(vault.getPastVotes(alice, blockTimestamp - 1), 0); assertEq(vault.getPastTotalSupply(blockTimestamp - 1), 0); + vm.expectRevert(); + vault.getPastTotalSupply(blockTimestamp + 1); assertEq(vault.delegates(alice), address(0)); vm.startPrank(alice); @@ -3876,6 +3900,58 @@ contract VaultVotesTest is Test { vm.stopPrank(); } + function test_MigrateInvalidOrigin() public { + 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: 1, + owner: alice, + vaultParams: abi.encode( + IVaultV1.InitParams({ + collateral: address(collateral), + burner: address(0xdEaD), + epochDuration: 7 days, + depositWhitelist: false, + isDepositLimit: false, + depositLimit: 0, + defaultAdminRoleHolder: alice, + depositWhitelistSetRoleHolder: alice, + depositorWhitelistRoleHolder: alice, + isDepositLimitSetRoleHolder: alice, + depositLimitSetRoleHolder: 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})})) + }) + ); + + vm.startPrank(alice); + vm.expectRevert(IVaultVotes.InvalidOrigin.selector); + vaultFactory.migrate(vault_, 4, new bytes(0)); + vm.stopPrank(); + } + function _getVault( uint48 epochDuration ) internal returns (VaultVotesImplementation) { From 4c06bed0adf370fb17c803e32221b7e45558bf84 Mon Sep 17 00:00:00 2001 From: Andrey Date: Sun, 23 Feb 2025 21:37:38 +0400 Subject: [PATCH 04/12] refactor: simplify constructors --- src/contracts/vault/v1.1/Vault.sol | 7 +---- .../vault/v1.1/VaultImplementation.sol | 15 +++++++++- src/contracts/vault/v1.1/VaultStorage.sol | 15 ---------- src/contracts/vault/v1.1/VaultTokenized.sol | 8 +---- .../v1.1/VaultTokenizedImplementation.sol | 4 +-- src/contracts/vault/v1.1/VaultVotes.sol | 8 +---- .../vault/v1.1/VaultVotesImplementation.sol | 6 ++-- src/interfaces/vault/v1.1/IVault.sol | 12 ++++++++ src/interfaces/vault/v1.1/IVaultStorage.sol | 12 -------- test/vault/v1.1/Vault.t.sol | 4 +-- test/vault/v1.1/VaultTokenized.t.sol | 22 +++++--------- test/vault/v1.1/VaultVotes.t.sol | 30 +++++-------------- 12 files changed, 49 insertions(+), 94 deletions(-) diff --git a/src/contracts/vault/v1.1/Vault.sol b/src/contracts/vault/v1.1/Vault.sol index 00b8052..2b7d672 100644 --- a/src/contracts/vault/v1.1/Vault.sol +++ b/src/contracts/vault/v1.1/Vault.sol @@ -25,12 +25,7 @@ contract Vault is VaultStorage, MigratableEntity, AccessControlUpgradeable, Prox address private immutable IMPLEMENTATION; - constructor( - address delegatorFactory, - address slasherFactory, - address vaultFactory, - address implementation - ) VaultStorage(delegatorFactory, slasherFactory) MigratableEntity(vaultFactory) { + constructor(address vaultFactory, address implementation) MigratableEntity(vaultFactory) { IMPLEMENTATION = implementation; } diff --git a/src/contracts/vault/v1.1/VaultImplementation.sol b/src/contracts/vault/v1.1/VaultImplementation.sol index 35e4f40..00c56d2 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -27,7 +27,20 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran using SafeCast for uint256; using SafeERC20 for IERC20; - constructor(address delegatorFactory, address slasherFactory) VaultStorage(delegatorFactory, slasherFactory) {} + /** + * @inheritdoc IVault + */ + address public immutable DELEGATOR_FACTORY; + + /** + * @inheritdoc IVault + */ + address public immutable SLASHER_FACTORY; + + constructor(address delegatorFactory, address slasherFactory) { + DELEGATOR_FACTORY = delegatorFactory; + SLASHER_FACTORY = slasherFactory; + } /** * @inheritdoc IVault diff --git a/src/contracts/vault/v1.1/VaultStorage.sol b/src/contracts/vault/v1.1/VaultStorage.sol index 3f38a86..ee6fdb4 100644 --- a/src/contracts/vault/v1.1/VaultStorage.sol +++ b/src/contracts/vault/v1.1/VaultStorage.sol @@ -53,16 +53,6 @@ abstract contract VaultStorage is StaticDelegateCallable, IVaultStorage { */ bytes32 public constant RETURN_VALUE = keccak256("ERC3156FlashBorrower.onFlashLoan"); - /** - * @inheritdoc IVaultStorage - */ - address public immutable DELEGATOR_FACTORY; - - /** - * @inheritdoc IVaultStorage - */ - address public immutable SLASHER_FACTORY; - /** * @inheritdoc IVaultStorage */ @@ -199,10 +189,5 @@ abstract contract VaultStorage is StaticDelegateCallable, IVaultStorage { */ address public flashFeeReceiver; - constructor(address delegatorFactory, address slasherFactory) { - DELEGATOR_FACTORY = delegatorFactory; - SLASHER_FACTORY = slasherFactory; - } - uint256[43] private __gap; } diff --git a/src/contracts/vault/v1.1/VaultTokenized.sol b/src/contracts/vault/v1.1/VaultTokenized.sol index 7d5a9e1..1e1b125 100644 --- a/src/contracts/vault/v1.1/VaultTokenized.sol +++ b/src/contracts/vault/v1.1/VaultTokenized.sol @@ -4,7 +4,6 @@ pragma solidity 0.8.25; import {Vault} from "./Vault.sol"; import {VaultTokenizedImplementation} from "./VaultTokenizedImplementation.sol"; -import {IVault} from "../../../interfaces/vault/v1.1/IVault.sol"; import {IVaultTokenized} from "../../../interfaces/vault/v1.1/IVaultTokenized.sol"; import {Address} from "@openzeppelin/contracts/utils/Address.sol"; @@ -12,12 +11,7 @@ import {Address} from "@openzeppelin/contracts/utils/Address.sol"; contract VaultTokenized is Vault { using Address for address; - constructor( - address delegatorFactory, - address slasherFactory, - address vaultFactory, - address implementation - ) Vault(delegatorFactory, slasherFactory, vaultFactory, implementation) {} + constructor(address vaultFactory, address implementation) Vault(vaultFactory, implementation) {} function _initialize(uint64 initialVersion, address owner_, bytes memory data) internal virtual override { (IVaultTokenized.InitParamsTokenized memory params) = abi.decode(data, (IVaultTokenized.InitParamsTokenized)); diff --git a/src/contracts/vault/v1.1/VaultTokenizedImplementation.sol b/src/contracts/vault/v1.1/VaultTokenizedImplementation.sol index af8107a..c643c1e 100644 --- a/src/contracts/vault/v1.1/VaultTokenizedImplementation.sol +++ b/src/contracts/vault/v1.1/VaultTokenizedImplementation.sol @@ -30,10 +30,8 @@ contract VaultTokenizedImplementation is address private immutable BASE_IMPLEMENTATION; constructor( - address delegatorFactory, - address slasherFactory, address baseImplementation - ) VaultStorage(delegatorFactory, slasherFactory) { + ) { BASE_IMPLEMENTATION = baseImplementation; } diff --git a/src/contracts/vault/v1.1/VaultVotes.sol b/src/contracts/vault/v1.1/VaultVotes.sol index 7ae9572..8cbbbcf 100644 --- a/src/contracts/vault/v1.1/VaultVotes.sol +++ b/src/contracts/vault/v1.1/VaultVotes.sol @@ -5,18 +5,12 @@ import {VaultTokenized} from "./VaultTokenized.sol"; import {VaultVotesImplementation} from "./VaultVotesImplementation.sol"; import {IVaultVotes} from "../../../interfaces/vault/v1.1/IVaultVotes.sol"; -import {IVaultTokenized} from "../../../interfaces/vault/v1.1/IVaultTokenized.sol"; import {Address} from "@openzeppelin/contracts/utils/Address.sol"; contract VaultVotes is VaultTokenized { using Address for address; - constructor( - address delegatorFactory, - address slasherFactory, - address vaultFactory, - address implementation - ) VaultTokenized(delegatorFactory, slasherFactory, vaultFactory, implementation) {} + constructor(address vaultFactory, address implementation) VaultTokenized(vaultFactory, implementation) {} function _initialize(uint64 initialVersion, address owner_, bytes memory data) internal virtual override { super._initialize(initialVersion, owner_, data); diff --git a/src/contracts/vault/v1.1/VaultVotesImplementation.sol b/src/contracts/vault/v1.1/VaultVotesImplementation.sol index 02fbadd..ec91236 100644 --- a/src/contracts/vault/v1.1/VaultVotesImplementation.sol +++ b/src/contracts/vault/v1.1/VaultVotesImplementation.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; -import {VaultStorage} from "../VaultStorage.sol"; +import {VaultStorage} from "./VaultStorage.sol"; import {IVault} from "../../../interfaces/vault/v1.1/IVault.sol"; import {IVaultVotes} from "../../../interfaces/vault/v1.1/IVaultVotes.sol"; @@ -27,10 +27,8 @@ contract VaultVotesImplementation is VaultStorage, VotesUpgradeable, Proxy, IVau address private immutable BASE_IMPLEMENTATION; constructor( - address delegatorFactory, - address slasherFactory, address baseImplementation - ) VaultStorage(delegatorFactory, slasherFactory) { + ) { BASE_IMPLEMENTATION = baseImplementation; } diff --git a/src/interfaces/vault/v1.1/IVault.sol b/src/interfaces/vault/v1.1/IVault.sol index 41abe0b..ca3437f 100644 --- a/src/interfaces/vault/v1.1/IVault.sol +++ b/src/interfaces/vault/v1.1/IVault.sol @@ -228,6 +228,18 @@ interface IVault is IVaultStorage, IAccessControl, IERC165, IERC3156FlashLender */ event SetSlasher(address indexed slasher); + /** + * @notice Get the delegator factory's address. + * @return address of the delegator factory + */ + function DELEGATOR_FACTORY() external view returns (address); + + /** + * @notice Get the slasher factory's address. + * @return address of the slasher factory + */ + function SLASHER_FACTORY() external view returns (address); + /** * @notice Get a time point of the epoch duration set. * @return time point of the epoch duration set diff --git a/src/interfaces/vault/v1.1/IVaultStorage.sol b/src/interfaces/vault/v1.1/IVaultStorage.sol index 238876f..a643cde 100644 --- a/src/interfaces/vault/v1.1/IVaultStorage.sol +++ b/src/interfaces/vault/v1.1/IVaultStorage.sol @@ -56,18 +56,6 @@ interface IVaultStorage { */ function RETURN_VALUE() external view returns (bytes32); - /** - * @notice Get the delegator factory's address. - * @return address of the delegator factory - */ - function DELEGATOR_FACTORY() external view returns (address); - - /** - * @notice Get the slasher factory's address. - * @return address of the slasher factory - */ - function SLASHER_FACTORY() external view returns (address); - /** * @notice Get a vault collateral. * @return address of the underlying collateral diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index 149c398..a9741c5 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -101,9 +101,7 @@ contract VaultTest is Test { address vaultImplementation = address(new VaultImplementation(address(delegatorFactory), address(slasherFactory))); - address vaultImpl = address( - new Vault(address(delegatorFactory), address(slasherFactory), address(vaultFactory), vaultImplementation) - ); + address vaultImpl = address(new Vault(address(vaultFactory), vaultImplementation)); vaultFactory.whitelist(vaultImpl); address networkRestakeDelegatorImpl = address( diff --git a/test/vault/v1.1/VaultTokenized.t.sol b/test/vault/v1.1/VaultTokenized.t.sol index 57bd19a..6008b76 100644 --- a/test/vault/v1.1/VaultTokenized.t.sol +++ b/test/vault/v1.1/VaultTokenized.t.sol @@ -103,14 +103,8 @@ contract VaultTokenizedTest is Test { address vaultImplementation = address(new VaultImplementation(address(delegatorFactory), address(slasherFactory))); - address vaultTokenizedImplementation = address( - new VaultTokenizedImplementation(address(delegatorFactory), address(slasherFactory), vaultImplementation) - ); - address vaultImpl = address( - new VaultTokenized( - address(delegatorFactory), address(slasherFactory), address(vaultFactory), vaultTokenizedImplementation - ) - ); + address vaultTokenizedImplementation = address(new VaultTokenizedImplementation(vaultImplementation)); + address vaultImpl = address(new VaultTokenized(address(vaultFactory), vaultTokenizedImplementation)); vaultFactory.whitelist(vaultImpl); address networkRestakeDelegatorImpl = address( @@ -262,8 +256,8 @@ contract VaultTokenizedTest is Test { assertEq(vault.DEPOSIT_WHITELIST_SET_ROLE(), keccak256("DEPOSIT_WHITELIST_SET_ROLE")); assertEq(vault.DEPOSITOR_WHITELIST_ROLE(), keccak256("DEPOSITOR_WHITELIST_ROLE")); - assertEq(vault.DELEGATOR_FACTORY(), address(delegatorFactory)); - assertEq(vault.SLASHER_FACTORY(), address(slasherFactory)); + assertEq(VaultImplementation(payable(address(vault))).DELEGATOR_FACTORY(), address(delegatorFactory)); + assertEq(VaultImplementation(payable(address(vault))).SLASHER_FACTORY(), address(slasherFactory)); assertEq(VaultTokenized(payable(address(vault))).owner(), address(0)); assertEq(vault.collateral(), address(collateral)); @@ -3393,8 +3387,8 @@ contract VaultTokenizedTest is Test { assertEq(vault.DEPOSIT_WHITELIST_SET_ROLE(), keccak256("DEPOSIT_WHITELIST_SET_ROLE")); assertEq(vault.DEPOSITOR_WHITELIST_ROLE(), keccak256("DEPOSITOR_WHITELIST_ROLE")); - assertEq(vault.DELEGATOR_FACTORY(), address(delegatorFactory)); - assertEq(vault.SLASHER_FACTORY(), address(slasherFactory)); + assertEq(VaultImplementation(payable(address(vault))).DELEGATOR_FACTORY(), address(delegatorFactory)); + assertEq(VaultImplementation(payable(address(vault))).SLASHER_FACTORY(), address(slasherFactory)); assertEq(VaultTokenized(payable(address(vault))).owner(), alice); assertEq(vault.collateral(), address(collateral)); @@ -3548,8 +3542,8 @@ contract VaultTokenizedTest is Test { assertEq(vault.DEPOSIT_WHITELIST_SET_ROLE(), keccak256("DEPOSIT_WHITELIST_SET_ROLE")); assertEq(vault.DEPOSITOR_WHITELIST_ROLE(), keccak256("DEPOSITOR_WHITELIST_ROLE")); - assertEq(vault.DELEGATOR_FACTORY(), address(delegatorFactory)); - assertEq(vault.SLASHER_FACTORY(), address(slasherFactory)); + assertEq(VaultImplementation(payable(address(vault))).DELEGATOR_FACTORY(), address(delegatorFactory)); + assertEq(VaultImplementation(payable(address(vault))).SLASHER_FACTORY(), address(slasherFactory)); assertEq(VaultTokenized(payable(address(vault))).owner(), alice); assertEq(vault.collateral(), address(collateral)); diff --git a/test/vault/v1.1/VaultVotes.t.sol b/test/vault/v1.1/VaultVotes.t.sol index fc8e72b..fcb8cdc 100644 --- a/test/vault/v1.1/VaultVotes.t.sol +++ b/test/vault/v1.1/VaultVotes.t.sol @@ -105,26 +105,12 @@ contract VaultVotesTest is Test { address vaultImplementation = address(new VaultImplementation(address(delegatorFactory), address(slasherFactory))); - address vaultTokenizedImplementation = address( - new VaultTokenizedImplementation(address(delegatorFactory), address(slasherFactory), vaultImplementation) - ); - address vaultTokenizedImpl = address( - new VaultTokenized( - address(delegatorFactory), address(slasherFactory), address(vaultFactory), vaultTokenizedImplementation - ) - ); + address vaultTokenizedImplementation = address(new VaultTokenizedImplementation(vaultImplementation)); + address vaultTokenizedImpl = address(new VaultTokenized(address(vaultFactory), vaultTokenizedImplementation)); vaultFactory.whitelist(vaultTokenizedImpl); - address vaultVotesImplementation = address( - new VaultVotesImplementation( - address(delegatorFactory), address(slasherFactory), vaultTokenizedImplementation - ) - ); - address vaultImpl = address( - new VaultVotes( - address(delegatorFactory), address(slasherFactory), address(vaultFactory), vaultVotesImplementation - ) - ); + address vaultVotesImplementation = address(new VaultVotesImplementation(vaultTokenizedImplementation)); + address vaultImpl = address(new VaultVotes(address(vaultFactory), vaultVotesImplementation)); vaultFactory.whitelist(vaultImpl); address networkRestakeDelegatorImpl = address( @@ -276,8 +262,8 @@ contract VaultVotesTest is Test { assertEq(vault.DEPOSIT_WHITELIST_SET_ROLE(), keccak256("DEPOSIT_WHITELIST_SET_ROLE")); assertEq(vault.DEPOSITOR_WHITELIST_ROLE(), keccak256("DEPOSITOR_WHITELIST_ROLE")); - assertEq(vault.DELEGATOR_FACTORY(), address(delegatorFactory)); - assertEq(vault.SLASHER_FACTORY(), address(slasherFactory)); + assertEq(VaultImplementation(payable(address(vault))).DELEGATOR_FACTORY(), address(delegatorFactory)); + assertEq(VaultImplementation(payable(address(vault))).SLASHER_FACTORY(), address(slasherFactory)); assertEq(VaultVotes(payable(address(vault))).owner(), address(0)); assertEq(vault.collateral(), address(collateral)); @@ -3767,8 +3753,8 @@ contract VaultVotesTest is Test { assertEq(vault.DEPOSIT_WHITELIST_SET_ROLE(), keccak256("DEPOSIT_WHITELIST_SET_ROLE")); assertEq(vault.DEPOSITOR_WHITELIST_ROLE(), keccak256("DEPOSITOR_WHITELIST_ROLE")); - assertEq(vault.DELEGATOR_FACTORY(), address(delegatorFactory)); - assertEq(vault.SLASHER_FACTORY(), address(slasherFactory)); + assertEq(VaultImplementation(payable(address(vault))).DELEGATOR_FACTORY(), address(delegatorFactory)); + assertEq(VaultImplementation(payable(address(vault))).SLASHER_FACTORY(), address(slasherFactory)); assertEq(VaultTokenized(payable(address(vault))).owner(), alice); assertEq(vault.collateral(), address(collateral)); From 7a00ce5f1ff52711c825c1413b1cbd593aa29923 Mon Sep 17 00:00:00 2001 From: Andrey Date: Sun, 23 Feb 2025 23:30:25 +0400 Subject: [PATCH 05/12] feat: allow epoch duration set delay change --- src/contracts/vault/v1.1/Vault.sol | 2 +- .../vault/v1.1/VaultImplementation.sol | 25 +- src/contracts/vault/v1.1/VaultStorage.sol | 9 +- src/interfaces/vault/v1.1/IVault.sol | 11 +- src/interfaces/vault/v1.1/IVaultStorage.sol | 10 +- test/vault/v1.1/Vault.t.sol | 215 ++++++++++-------- 6 files changed, 165 insertions(+), 107 deletions(-) diff --git a/src/contracts/vault/v1.1/Vault.sol b/src/contracts/vault/v1.1/Vault.sol index 2b7d672..50096b3 100644 --- a/src/contracts/vault/v1.1/Vault.sol +++ b/src/contracts/vault/v1.1/Vault.sol @@ -47,7 +47,7 @@ contract Vault is VaultStorage, MigratableEntity, AccessControlUpgradeable, Prox revert IVault.InvalidFlashParams(); } - epochDurationSetEpochsDelay = params.epochDurationSetEpochsDelay; + epochDurationSetEpochsDelayInternal = params.epochDurationSetEpochsDelay; flashFeeRate = params.flashFeeRate; flashFeeReceiver = params.flashFeeReceiver; diff --git a/src/contracts/vault/v1.1/VaultImplementation.sol b/src/contracts/vault/v1.1/VaultImplementation.sol index 00c56d2..5f12493 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -42,6 +42,16 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran SLASHER_FACTORY = slasherFactory; } + /** + * @inheritdoc IVault + */ + function epochDurationSetEpochsDelay() external view returns (uint256) { + if (nextEpochDurationInitInternal == 0 || Time.timestamp() < nextEpochDurationInitInternal) { + return epochDurationSetEpochsDelayInternal; + } + return nextEpochDurationSetEpochsDelayInternal; + } + /** * @inheritdoc IVault */ @@ -533,8 +543,13 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran * @inheritdoc IVault */ function setEpochDuration( - uint48 epochDuration_ + uint48 epochDuration_, + uint256 epochDurationSetEpochsDelay_ ) external nonReentrant onlyRole(EPOCH_DURATION_SET_ROLE) { + if (epochDurationSetEpochsDelay_ < 3) { + revert InvalidEpochDurationSetEpochsDelay(); + } + if (nextEpochDurationInitInternal != 0 && nextEpochDurationInitInternal <= Time.timestamp()) { uint256 currentEpoch_ = currentEpoch(); uint48 currentEpochStart_ = currentEpochStart(); @@ -545,9 +560,11 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran epochInitInternal = currentEpoch_; epochDurationInternal = nextEpochDurationInternal; epochDurationInitInternal = currentEpochStart_; + epochDurationSetEpochsDelayInternal = nextEpochDurationSetEpochsDelayInternal; nextEpochInitInternal = 0; nextEpochDurationInternal = 0; nextEpochDurationInitInternal = 0; + nextEpochDurationSetEpochsDelayInternal = 0; } if (epochDurationInternal > epochDuration_) { @@ -558,15 +575,17 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran nextEpochInitInternal = 0; nextEpochDurationInternal = 0; nextEpochDurationInitInternal = 0; + nextEpochDurationSetEpochsDelayInternal = 0; } else if (epochDurationInternal == epochDuration_) { revert AlreadySet(); } if (epochDurationInternal != epochDuration_) { - nextEpochInitInternal = currentEpoch() + epochDurationSetEpochsDelay; + nextEpochInitInternal = currentEpoch() + epochDurationSetEpochsDelayInternal; nextEpochDurationInternal = epochDuration_; nextEpochDurationInitInternal = - (currentEpochStart() + epochDurationSetEpochsDelay * epochDurationInternal).toUint48(); + (currentEpochStart() + epochDurationSetEpochsDelayInternal * epochDurationInternal).toUint48(); + nextEpochDurationSetEpochsDelayInternal = epochDurationSetEpochsDelay_; } emit SetEpochDuration(epochDuration_); diff --git a/src/contracts/vault/v1.1/VaultStorage.sol b/src/contracts/vault/v1.1/VaultStorage.sol index ee6fdb4..049f4c8 100644 --- a/src/contracts/vault/v1.1/VaultStorage.sol +++ b/src/contracts/vault/v1.1/VaultStorage.sol @@ -142,7 +142,12 @@ abstract contract VaultStorage is StaticDelegateCallable, IVaultStorage { /** * @inheritdoc IVaultStorage */ - uint256 public epochDurationSetEpochsDelay; + uint256 public epochDurationSetEpochsDelayInternal; + + /** + * @inheritdoc IVaultStorage + */ + uint256 public nextEpochDurationSetEpochsDelayInternal; /** * @inheritdoc IVaultStorage @@ -189,5 +194,5 @@ abstract contract VaultStorage is StaticDelegateCallable, IVaultStorage { */ address public flashFeeReceiver; - uint256[43] private __gap; + uint256[42] private __gap; } diff --git a/src/interfaces/vault/v1.1/IVault.sol b/src/interfaces/vault/v1.1/IVault.sol index ca3437f..ae6f343 100644 --- a/src/interfaces/vault/v1.1/IVault.sol +++ b/src/interfaces/vault/v1.1/IVault.sol @@ -240,6 +240,12 @@ interface IVault is IVaultStorage, IAccessControl, IERC165, IERC3156FlashLender */ function SLASHER_FACTORY() external view returns (address); + /** + * @notice Get a delay for the epoch duration set in epochs. + * @return delay for the epoch duration set + */ + function epochDurationSetEpochsDelay() external view returns (uint256); + /** * @notice Get a time point of the epoch duration set. * @return time point of the epoch duration set @@ -486,12 +492,11 @@ interface IVault is IVaultStorage, IAccessControl, IERC165, IERC3156FlashLender /** * @notice Set an epoch duration (can be only greater than the current one). * @param epochDuration_ epoch duration + * @param epochDurationSetEpochsDelay_ delay for the epoch duration set in epochs * @dev Only a EPOCH_DURATION_SET_ROLE holder can call this function. * Can be accepted after `epochDurationSetEpochsDelay` epochs. */ - function setEpochDuration( - uint48 epochDuration_ - ) external; + function setEpochDuration(uint48 epochDuration_, uint256 epochDurationSetEpochsDelay_) external; /** * @notice Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000). diff --git a/src/interfaces/vault/v1.1/IVaultStorage.sol b/src/interfaces/vault/v1.1/IVaultStorage.sol index a643cde..560fbf1 100644 --- a/src/interfaces/vault/v1.1/IVaultStorage.sol +++ b/src/interfaces/vault/v1.1/IVaultStorage.sol @@ -154,10 +154,16 @@ interface IVaultStorage { function isWithdrawalsClaimed(uint256 epoch, address account) external view returns (bool); /** - * @notice Get a delay for the epoch duration set (in epochs). + * @notice Get a delay for the epoch duration set in epochs (internal). * @return delay for the epoch duration set */ - function epochDurationSetEpochsDelay() external view returns (uint256); + function epochDurationSetEpochsDelayInternal() external view returns (uint256); + + /** + * @notice Get the next delay for the epoch duration set in epochs (internal). + * @return next delay for the epoch duration set + */ + function nextEpochDurationSetEpochsDelayInternal() external view returns (uint256); /** * @notice Get the current epoch duration's first epoch (internal). diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index a9741c5..fecb9e2 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -302,6 +302,8 @@ contract VaultTest is Test { assertEq(vault.flashFeeRate(), flashFeeRate); assertEq(vault.flashFeeReceiver(), alice); assertEq(vault.epochDurationSetEpochsDelay(), epochDurationSetEpochsDelay); + assertEq(vault.epochDurationSetEpochsDelayInternal(), epochDurationSetEpochsDelay); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 0); assertEq(vault.epochInitInternal(), 0); assertEq(vault.prevEpochDurationInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), 0); @@ -2797,18 +2799,17 @@ contract VaultTest is Test { vm.warp(blockTimestamp); vault = _getVault(epochDuration); - uint256 epochDurationSetEpochsDelay = vault.epochDurationSetEpochsDelay(); - assertEq( - vault.epochStart(epochDurationSetEpochsDelay), blockTimestamp + epochDurationSetEpochsDelay * epochDuration - ); - assertEq( - vault.epochStart(epochDurationSetEpochsDelay + 1), - blockTimestamp + (epochDurationSetEpochsDelay + 1) * epochDuration - ); + assertEq(vault.epochStart(3), blockTimestamp + 3 * epochDuration); + assertEq(vault.epochStart(3 + 1), blockTimestamp + (3 + 1) * epochDuration); + assertEq(vault.epochDurationSetEpochsDelay(), 3); + assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 0); _grantEpochDurationSetRole(alice, alice); - _setEpochDuration(alice, newEpochDuration); + vm.startPrank(alice); + vault.setEpochDuration(newEpochDuration, 5); + vm.stopPrank(); assertEq(vault.epochDuration(), epochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); assertEq(vault.epochDurationInternal(), epochDuration); @@ -2817,8 +2818,8 @@ contract VaultTest is Test { assertEq(vault.prevEpochInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), 0); assertEq(vault.prevEpochDurationInitInternal(), 0); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 3); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 3 * epochDuration); assertEq(vault.nextEpochDurationInternal(), newEpochDuration); vm.expectRevert(); vault.epochAt(uint48(blockTimestamp - 1)); @@ -2827,13 +2828,11 @@ contract VaultTest is Test { assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 1); assertEq(vault.epochStart(0), blockTimestamp); assertEq(vault.epochStart(1), blockTimestamp + epochDuration); - assertEq( - vault.epochStart(epochDurationSetEpochsDelay), blockTimestamp + epochDurationSetEpochsDelay * epochDuration - ); - assertEq( - vault.epochStart(epochDurationSetEpochsDelay + 1), - blockTimestamp + epochDurationSetEpochsDelay * epochDuration + newEpochDuration - ); + assertEq(vault.epochStart(3), blockTimestamp + 3 * epochDuration); + assertEq(vault.epochStart(3 + 1), blockTimestamp + 3 * epochDuration + newEpochDuration); + assertEq(vault.epochDurationSetEpochsDelay(), 3); + assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); blockTimestamp = blockTimestamp + 1; vm.warp(blockTimestamp); @@ -2846,10 +2845,8 @@ contract VaultTest is Test { assertEq(vault.prevEpochInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), 0); assertEq(vault.prevEpochDurationInitInternal(), 0); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); - assertEq( - vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * epochDuration - 1 - ); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 3); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 3 * epochDuration - 1); assertEq(vault.nextEpochDurationInternal(), newEpochDuration); vm.expectRevert(); vault.epochAt(uint48(blockTimestamp - 2)); @@ -2858,14 +2855,17 @@ contract VaultTest is Test { assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 1); assertEq(vault.epochStart(0), blockTimestamp - 1); assertEq(vault.epochStart(1), blockTimestamp + epochDuration - 1); + assertEq(vault.epochDurationSetEpochsDelay(), 3); + assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); - blockTimestamp = blockTimestamp + epochDurationSetEpochsDelay * epochDuration - 2; + blockTimestamp = blockTimestamp + 3 * epochDuration - 2; vm.warp(blockTimestamp); assertEq(vault.epochDuration(), epochDuration); - assertEq(vault.epochDurationInit(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 1); + assertEq(vault.epochDurationInit(), blockTimestamp - 3 * epochDuration + 1); assertEq(vault.epochDurationInternal(), epochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 1); + assertEq(vault.epochDurationInitInternal(), blockTimestamp - 3 * epochDuration + 1); assertEq(vault.epochInitInternal(), 0); assertEq(vault.prevEpochInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), 0); @@ -2873,12 +2873,15 @@ contract VaultTest is Test { assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 1); assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 1); assertEq(vault.nextEpochDurationInternal(), newEpochDuration); - assertEq(vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 2)), 0); - assertEq(vault.epochAt(uint48(blockTimestamp - 1)), epochDurationSetEpochsDelay - 1); - assertEq(vault.epochAt(uint48(blockTimestamp)), epochDurationSetEpochsDelay - 1); - assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); - assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 1); - assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration + 1); + assertEq(vault.epochAt(uint48(blockTimestamp - 3 * epochDuration + 2)), 0); + assertEq(vault.epochAt(uint48(blockTimestamp - 1)), 3 - 1); + assertEq(vault.epochAt(uint48(blockTimestamp)), 3 - 1); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); + assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration + 1); + assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration + 1); + assertEq(vault.epochDurationSetEpochsDelay(), 3); + assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); blockTimestamp = blockTimestamp + 1; vm.warp(blockTimestamp); @@ -2886,7 +2889,7 @@ contract VaultTest is Test { assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); assertEq(vault.epochDurationInternal(), epochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.epochDurationInitInternal(), blockTimestamp - 3 * epochDuration); assertEq(vault.epochInitInternal(), 0); assertEq(vault.prevEpochInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), 0); @@ -2894,33 +2897,32 @@ contract VaultTest is Test { assertEq(vault.nextEpochInitInternal(), vault.currentEpoch()); assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp); assertEq(vault.nextEpochDurationInternal(), newEpochDuration); - assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); - assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); - assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); - assertEq(vault.epochStart(epochDurationSetEpochsDelay), blockTimestamp); - assertEq(vault.epochStart(epochDurationSetEpochsDelay + 1), blockTimestamp + newEpochDuration); + assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), 3 + 1); + assertEq(vault.epochStart(3), blockTimestamp); + assertEq(vault.epochStart(3 + 1), blockTimestamp + newEpochDuration); + assertEq(vault.epochDurationSetEpochsDelay(), 5); + assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); vm.expectRevert(IVault.InvalidTimestamp.selector); vault.epochAt(0); vm.expectRevert(IVault.InvalidTimestamp.selector); - vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration - 1)); - assertEq(vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration)), 0); - assertEq( - vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration + epochDuration - 1)), 0 - ); - assertEq(vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration + epochDuration)), 1); - assertEq( - vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 2 * epochDuration - 1)), - 1 - ); - assertEq( - vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration + 2 * epochDuration)), 2 - ); + vault.epochAt(uint48(blockTimestamp - 3 * epochDuration - 1)); + assertEq(vault.epochAt(uint48(blockTimestamp - 3 * epochDuration)), 0); + assertEq(vault.epochAt(uint48(blockTimestamp - 3 * epochDuration + epochDuration - 1)), 0); + assertEq(vault.epochAt(uint48(blockTimestamp - 3 * epochDuration + epochDuration)), 1); + assertEq(vault.epochAt(uint48(blockTimestamp - 3 * epochDuration + 2 * epochDuration - 1)), 1); + assertEq(vault.epochAt(uint48(blockTimestamp - 3 * epochDuration + 2 * epochDuration)), 2); assertEq(vault.epochAt(uint48(blockTimestamp)), 3); assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration - 1)), 3); assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), 4); assertEq(vault.previousEpochStart(), blockTimestamp - epochDuration); + assertEq(vault.epochDurationSetEpochsDelay(), 5); + assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); _setEpochDuration(alice, newEpochDuration2); @@ -2931,26 +2933,23 @@ contract VaultTest is Test { assertEq(vault.epochInitInternal(), 3); assertEq(vault.prevEpochInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), epochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 3 * epochDuration); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 5); assertEq(vault.nextEpochDurationInternal(), newEpochDuration2); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration); - assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); - assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); - assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 5 * newEpochDuration); + assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), 3 + 1); vm.expectRevert(); - vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration - 1)); - assertEq(vault.epochAt(uint48(blockTimestamp - epochDurationSetEpochsDelay * epochDuration)), 0); - assertEq(vault.epochStart(epochDurationSetEpochsDelay), blockTimestamp); - assertEq( - vault.epochStart(epochDurationSetEpochsDelay + epochDurationSetEpochsDelay), - blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration - ); - assertEq( - vault.epochStart(epochDurationSetEpochsDelay + epochDurationSetEpochsDelay + 1), - blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration + newEpochDuration2 - ); + vault.epochAt(uint48(blockTimestamp - 3 * epochDuration - 1)); + assertEq(vault.epochAt(uint48(blockTimestamp - 3 * epochDuration)), 0); + assertEq(vault.epochStart(3), blockTimestamp); + assertEq(vault.epochStart(3 + 5), blockTimestamp + 5 * newEpochDuration); + assertEq(vault.epochStart(3 + 5 + 1), blockTimestamp + 5 * newEpochDuration + newEpochDuration2); + assertEq(vault.epochDurationSetEpochsDelay(), 5); + assertEq(vault.epochDurationSetEpochsDelayInternal(), 5); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 3); _setEpochDuration(alice, newEpochDuration); @@ -2961,14 +2960,17 @@ contract VaultTest is Test { assertEq(vault.epochInitInternal(), 3); assertEq(vault.prevEpochInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), epochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 3 * epochDuration); assertEq(vault.nextEpochInitInternal(), 0); assertEq(vault.nextEpochDurationInternal(), 0); assertEq(vault.nextEpochDurationInitInternal(), 0); - assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); - assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); - assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); + assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), 3 + 1); + assertEq(vault.epochDurationSetEpochsDelay(), 5); + assertEq(vault.epochDurationSetEpochsDelayInternal(), 5); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 0); _setEpochDuration(alice, newEpochDuration2); @@ -2979,14 +2981,14 @@ contract VaultTest is Test { assertEq(vault.epochInitInternal(), 3); assertEq(vault.prevEpochInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), epochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 3 * epochDuration); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 5); assertEq(vault.nextEpochDurationInternal(), newEpochDuration2); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration); - assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); - assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); - assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 5 * newEpochDuration); + assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), 3 + 1); _setEpochDuration(alice, newEpochDuration3); @@ -2997,14 +2999,14 @@ contract VaultTest is Test { assertEq(vault.epochInitInternal(), 3); assertEq(vault.prevEpochInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), epochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 3 * epochDuration); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 5); assertEq(vault.nextEpochDurationInternal(), newEpochDuration3); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration); - assertEq(vault.epochStart(0), blockTimestamp - epochDurationSetEpochsDelay * epochDuration); - assertEq(vault.epochStart(1), blockTimestamp - (epochDurationSetEpochsDelay - 1) * epochDuration); - assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), epochDurationSetEpochsDelay); - assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), epochDurationSetEpochsDelay + 1); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 5 * newEpochDuration); + assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); + assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); + assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); + assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), 3 + 1); blockTimestamp = blockTimestamp + newEpochDuration; vm.warp(blockTimestamp); @@ -3013,7 +3015,7 @@ contract VaultTest is Test { assertEq(vault.currentEpochStart(), blockTimestamp); assertEq(vault.nextEpochStart(), blockTimestamp + newEpochDuration); - blockTimestamp = blockTimestamp + (epochDurationSetEpochsDelay - 1) * newEpochDuration; + blockTimestamp = blockTimestamp + (5 - 1) * newEpochDuration; vm.warp(blockTimestamp); assertEq(vault.epochDuration(), newEpochDuration3); @@ -3025,19 +3027,40 @@ contract VaultTest is Test { assertEq(vault.epochDurationInit(), blockTimestamp); assertEq(vault.epochDurationInternal(), newEpochDuration3); assertEq(vault.epochDurationInitInternal(), blockTimestamp); - assertEq(vault.epochInitInternal(), 6); + assertEq(vault.epochInitInternal(), 3 + 5); assertEq(vault.prevEpochInitInternal(), 3); assertEq(vault.prevEpochDurationInternal(), newEpochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - epochDurationSetEpochsDelay * newEpochDuration); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + epochDurationSetEpochsDelay); + assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 5 * newEpochDuration); + assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 3); assertEq(vault.nextEpochDurationInternal(), newEpochDuration4); - assertEq( - vault.nextEpochDurationInitInternal(), blockTimestamp + epochDurationSetEpochsDelay * newEpochDuration3 - ); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 3 * newEpochDuration3); vm.expectRevert(); vault.epochStart(0); } + function test_SetEpochDurationRevertInvalidEpochDurationSetEpochsDelay( + uint48 epochDuration, + uint48 newEpochDuration, + uint256 epochDurationSetEpochsDelay + ) public { + epochDuration = uint48(bound(epochDuration, 3, 50 weeks)); + newEpochDuration = uint48(bound(newEpochDuration, epochDuration + 1, 60 weeks)); + epochDurationSetEpochsDelay = uint256(bound(epochDurationSetEpochsDelay, 0, 2)); + + uint256 blockTimestamp = vm.getBlockTimestamp(); + blockTimestamp = blockTimestamp + 1_720_700_948; + vm.warp(blockTimestamp); + + vault = _getVault(epochDuration); + + _grantEpochDurationSetRole(alice, alice); + + vm.startPrank(alice); + vm.expectRevert(IVault.InvalidEpochDurationSetEpochsDelay.selector); + vault.setEpochDuration(newEpochDuration, epochDurationSetEpochsDelay); + vm.stopPrank(); + } + function test_SetEpochDurationRevertInvalidNewEpochDuration(uint48 epochDuration, uint48 newEpochDuration) public { epochDuration = uint48(bound(epochDuration, 1, 50 weeks)); newEpochDuration = uint48(bound(newEpochDuration, 0, epochDuration - 1)); @@ -4055,7 +4078,7 @@ contract VaultTest is Test { function _setEpochDuration(address user, uint48 epochDuration) internal { vm.startPrank(user); - vault.setEpochDuration(epochDuration); + vault.setEpochDuration(epochDuration, 3); vm.stopPrank(); } From 2bcd165d16f24bf107c916642c777a6bd16e0fc2 Mon Sep 17 00:00:00 2001 From: Andrey Date: Sun, 23 Feb 2025 23:30:41 +0400 Subject: [PATCH 06/12] chore: sync out files --- .gitignore | 7 +++++++ out/DelegatorHints.sol/BaseDelegatorHints.json | 2 +- out/DelegatorHints.sol/FullRestakeDelegatorHints.json | 2 +- out/DelegatorHints.sol/NetworkRestakeDelegatorHints.json | 2 +- .../OperatorNetworkSpecificDelegatorHints.json | 2 +- out/DelegatorHints.sol/OperatorSpecificDelegatorHints.json | 2 +- out/SlasherHints.sol/BaseSlasherHints.json | 2 +- out/SlasherHints.sol/SlasherHints.json | 2 +- out/SlasherHints.sol/VetoSlasherHints.json | 2 +- out/Vault.sol/Vault.json | 2 +- out/VaultConfigurator.sol/VaultConfigurator.json | 2 +- out/VaultHints.sol/VaultHints.json | 2 +- out/VaultImplementation.sol/VaultImplementation.json | 1 + out/VaultTokenized.sol/VaultTokenized.json | 2 +- .../VaultTokenizedImplementation.json | 1 + out/VaultVotes.sol/VaultVotes.json | 1 + .../VaultVotesImplementation.json | 1 + out/v1.1/Vault.sol/Vault.json | 1 + out/v1.1/VaultTokenized.sol/VaultTokenized.json | 1 + 19 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 out/VaultImplementation.sol/VaultImplementation.json create mode 100644 out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json create mode 100644 out/VaultVotes.sol/VaultVotes.json create mode 100644 out/VaultVotesImplementation.sol/VaultVotesImplementation.json create mode 100644 out/v1.1/Vault.sol/Vault.json create mode 100644 out/v1.1/VaultTokenized.sol/VaultTokenized.json diff --git a/.gitignore b/.gitignore index 4385201..54c3db4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,13 @@ # Compiler files cache/ out/**/ +!out/VaultImplementation.sol/ +!out/VaultTokenizedImplementation.sol/ +!out/VaultVotesImplementation.sol/ +!out/v1.1/ +!out/v1.1/Vault.sol/ +!out/v1.1/VaultTokenized.sol/ +!out/VaultVotes.sol/ !out/Vault.sol/ !out/VaultTokenized.sol/ !out/NetworkRestakeDelegator.sol/ diff --git a/out/DelegatorHints.sol/BaseDelegatorHints.json b/out/DelegatorHints.sol/BaseDelegatorHints.json index f976092..bbb58b2 100644 --- a/out/DelegatorHints.sol/BaseDelegatorHints.json +++ b/out/DelegatorHints.sol/BaseDelegatorHints.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"optInServiceHints","type":"address","internalType":"address"},{"name":"vaultHints_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_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":"FULL_RESTAKE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_RESTAKE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeBaseHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","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":"AlreadySet","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"bytecode":{"object":"0x6101c03461027157618c446001600160401b03601f38839003908101601f191684019082821185831017610202578085916040958694855283398101031261027157610056602061004f85610275565b9401610275565b90306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460ff81861c166102605780838080931603610220575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609280845281516138338082019082821088831117610202578389849361010093611ef286393081526001600160a01b0391821660208201529116604082015260600190565b03905ff09485156102165760018060a01b0396876101809716875283519261351f91828501938585109085111761020257849361015c9361572586393081526001600160a01b0391821660208201529116604082015260600190565b03905ff09485156101f8576101a0951685525194611c68968761028a883960805187505060a05187610623015260c05187610b5f015260e05187818161048f0152610b980152518681816102c70152611a4b01525185818161030b015261163d01525184818161034f01526116bb015251838181610a3d0152611190015251828181610283015261148f015251818181610dfa01526115510152f35b50513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b82513d5f823e3d90fd5b6001600160401b03191617905582518181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8181610094565b845163f92ee8a960e01b8152600490fd5b5f80fd5b51906001600160a01b03821682036102715756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610214578063075db0361461020f578063103f29071461020a578063128e5d82146102055780631a80e500146102005780631bf10a3e146101fb57806323f752d5146101f6578063248a9ca3146101f157806325dc9708146101ec5780632dd31000146101e75780632f2ff15d146101e257806336568abe146101dd5780633dfd3873146101d8578063439fab91146101d3578063557cab44146101ce5780636679191e146101c95780637f5a7c7b146101c457806391d14854146101bf5780639b656b22146101ba5780639f86fd85146101b5578063a217fddf146101b0578063bb24fe8a146101ab578063c0cd7c3e146101a6578063d15b740e146101a1578063d547741f1461019c578063e02f693714610197578063e102831a14610192578063e49561ee1461018d578063fbfa77cf14610188578063fd4d447c14610183578063ff54740f1461017e5763ffa1ad7414610179575f80fd5b61108a565b61106d565b61103b565b611014565b610e29565b610de5565b610d02565b610bf1565b610bc7565b610b83565b610b40565b610b26565b610a6c565b610a28565b6109ca565b6109a2565b610968565b61094c565b61080f565b6106e9565b61069e565b610652565b61060e565b6105f1565b6105b8565b61043c565b610407565b61033a565b6102f6565b6102b2565b61026e565b3461026a57602036600319011261026a5760043563ffffffff60e01b811680910361026a57602090637965db0b60e01b8114908115610259575b506040519015158152f35b6301ffc9a760e01b1490505f61024e565b5f80fd5b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361026a57565b6064359065ffffffffffff8216820361026a57565b608090600319011261026a576004356103bc8161037e565b90602435906044356103cd8161037e565b9060643565ffffffffffff8116810361026a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461026a5761043861042461041b366103a4565b92919091611168565b6040519182916020835260208301906103e3565b0390f35b3461026a57604036600319011261026a576004356001600160601b038116810361026a576024359061046c611732565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f91610584575b5015610572576001600160601b03166bffffffffffffffffffffffff193360601b161790806104f6835f52600260205260405f2090565b541461056057610545817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610534855f52600260205260405f2090565b556040519081529081906020820190565b0390a261055e60015f80516020611bf383398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6105a6915060203d6020116105ac575b61059e8183610c71565b8101906113b9565b5f6104bf565b503d610594565b6110bd565b3461026a57602036600319011261026a576004355f525f80516020611bd38339815191526020526020600160405f200154604051908152f35b3461026a57610438610424610605366103a4565b929190916113f0565b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57604036600319011261026a5761055e6024356004356106758261037e565b805f525f80516020611bd3833981519152602052610699600160405f200154611761565b611918565b3461026a57604036600319011261026a576024356106bb8161037e565b336001600160a01b038216036106d75761055e9060043561194e565b60405163334bd91960e11b8152600490fd5b3461026a57602036600319011261026a576004356107068161037e565b61070e611732565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff16156107c457506001546001600160a01b039182169181168214610560576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020611bf383398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b9181601f8401121561026a578235916001600160401b03831161026a576020838186019501011161026a57565b3461026a57602036600319011261026a576001600160401b0360043581811161026a576108409036906004016107e2565b5f80516020611c13833981519152549260ff8460401c1615931680159081610944575b600114908161093a575b159081610931575b5061091f575f80516020611c13833981519152805467ffffffffffffffff191660011790556108a891836108f657611a16565b6108ae57005b5f80516020611c13833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611c13833981519152805460ff60401b191668010000000000000000179055611a16565b60405163f92ee8a960e01b8152600490fd5b9050155f610875565b303b15915061086d565b849150610863565b3461026a575f36600319011261026a576020604051614e208152f35b3461026a575f36600319011261026a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461026a575f36600319011261026a576001546040516001600160a01b039091168152602090f35b3461026a57604036600319011261026a57602060ff610a1c6024356109ee8161037e565b6004355f525f80516020611bd3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a5760408060031936011261026a57600435610a8a8161037e565b602435906001600160401b03821161026a575f8091610ab0610b149436906004016107e2565b908187519283928337810184815203915af43d15610b1c57610b063d610ad581610ca1565b90610ae286519283610c71565b81523d5f602083013e5b8451948593151560208501528084015260608301906103e3565b03601f198101835282610c71565b805190602001fd5b610b066060610aec565b3461026a575f36600319011261026a5760206040515f8152f35b3461026a575f36600319011261026a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57602036600319011261026a576004355f526002602052602060405f2054604051908152f35b3461026a57604036600319011261026a5761055e602435600435610c148261037e565b805f525f80516020611bd3833981519152602052610c38600160405f200154611761565b61194e565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610c6c57604052565b610c3d565b90601f801991011681019081106001600160401b03821117610c6c57604052565b60405190610c9f82610c51565b565b6001600160401b038111610c6c57601f01601f191660200190565b81601f8201121561026a57803590610cd382610ca1565b92610ce16040519485610c71565b8284526020838301011161026a57815f926020809301838601378301015290565b3461026a5760808060031936011261026a57610d1f60243561037e565b60443565ffffffffffff81160361026a576001600160401b0360643581811161026a57610d50903690600401610cbc565b5060606020604051610d6181610c51565b828152015260605180610d79575b60206040515f8152f35b8281016020821261026a5783519183831161026a5782604091031261026a5760405193610da585610c51565b8281015184811161026a578282610dbe928601016110c8565b855260a083015193841161026a57602093610dda9301016110c8565b9101525f8080610d6f565b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a5760a036600319011261026a57602435600435610e498261037e565b60443591610e5561038f565b90608435906001600160401b03821161026a57610e7760049236908401610cbc565b610e7f611732565b5f54602090610ea490610e98906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156105b3575f93610fe3575b506001600160a01b039283163303610fd1576001546001600160a01b0316838116610f46575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361055e60015f80516020611bf383398151915255565b909360405194610f7d86610f6f602082019363724ab0f760e11b8552858c898d602487016115d0565b03601f198101885287610c71565b62042e305a10610fbf575f610f2d938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093610eec565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61100691935060203d60201161100d575b610ffe8183610c71565b8101906110a5565b915f610ec6565b503d610ff4565b3461026a575f36600319011261026a575f546040516001600160a01b039091168152602090f35b3461026a57604036600319011261026a57602061106560243561105d8161037e565b600435611608565b604051908152f35b3461026a575f36600319011261026a5760206040516203d0908152f35b3461026a575f36600319011261026a57602060405160018152f35b9081602091031261026a57516110ba8161037e565b90565b6040513d5f823e3d90fd5b81601f8201121561026a578051906110df82610ca1565b926110ed6040519485610c71565b8284526020838301011161026a57815f9260208093018386015e8301015290565b9060208282031261026a5781516001600160401b03811161026a576110ba92016110c8565b906110ba91602081526020611153835160408385015260608401906103e3565b920151906040601f19828503019101526103e3565b604080516309472ec160e11b8152606096956001600160a01b039384169591946020949192917f0000000000000000000000000000000000000000000000000000000000000000169085876004818b5afa9687156105b3575f9761139a575b50845163fbfa77cf60e01b81529686886004818c5afa80156105b357855f9161123b9a839161137d575b508851636a531c3160e11b8082526001600160a01b039586166004830152858916602483015294909116604482015265ffffffffffff909116606482015298899081906084820190565b0381865afa9788156105b3575f98611358575b508686979899600496975196878092621a80e560e81b82525afa9485156105b3575f95611335575b5086519081526001600160a01b03948516600482015293909216602484015260609190911c604483015265ffffffffffff9092166064820152905f9082908180608481015b03915afa9081156105b3575f91611313575b50835115801590611309575b6112e35750505050565b6110ba9394955090610b06916112f7610c92565b95865283860152519384928301611133565b50805115156112d9565b61132f91503d805f833e6113278183610c71565b81019061110e565b5f6112cd565b5f95506113516112bb918a3d8c1161100d57610ffe8183610c71565b9550611276565b8798509661137360049697983d805f833e6113278183610c71565b989796955061124e565b61139491508a3d8c1161100d57610ffe8183610c71565b5f6111f1565b6113b2919750863d881161100d57610ffe8183610c71565b955f6111c7565b9081602091031261026a5751801515810361026a5790565b9081602091031261026a57516001600160401b038116810361026a5790565b604051635d927f4560e11b8082526060969594936001600160a01b03939092909160209190858416908383600481855afa9283156105b3575f936115b1575b506001600160401b039283166114d65750506040516304bb92e160e31b81526001600160a01b0393841660048201526024810194909452505092909216604483015265ffffffffffff9290921660648201529192505f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f916114c2575090565b6110ba91503d805f833e6113278183610c71565b839060046040518094819382525afa9081156105b3576001935f92611584575b50501614611505575050505050565b6040516304bb92e160e31b81526001600160a01b039182166004820152602481019290925292909216604483015265ffffffffffff9290921660648201529192505f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f916114c2575090565b6115a39250803d106115aa575b61159b8183610c71565b8101906113d1565b5f806114f6565b503d611591565b6115c9919350843d86116115aa5761159b8183610c71565b915f61142f565b919360a0936110ba969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103e3565b5f546040516308834cb560e21b8082526001600160a01b038581166004840152928316602483015293602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156105b3575f91611715575b501593841561168a575b505050509050611686575f90565b5f90565b6040519586526001600160a01b0392909216600486015260609190911c6024850152909291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156105b3575f926116f8575b505015805f808080611678565b61170e9250803d106105ac5761059e8183610c71565b5f806116eb565b61172c9150843d86116105ac5761059e8183610c71565b5f61166e565b5f80516020611bf3833981519152600281541461174f5760029055565b604051633ee5aeb560e01b8152600490fd5b5f8181525f80516020611bd38339815191526020908152604080832033845290915290205460ff16156107c45750565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020611bd38339815191529060ff1661183c575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020611bd38339815191529060ff905b5416611911575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020611bd3833981519152602081815260408084206001600160a01b038716855290915290912060ff906118ad565b5f8181525f80516020611bd3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611911575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261026a5780356119f88161037e565b9260208201356001600160401b03811161026a576110ba9201610cbc565b611a22918101906119e0565b506040516302910f8b60e31b81526001600160a01b0391821660048201819052906020816024817f000000000000000000000000000000000000000000000000000000000000000087165afa9081156105b3575f91611b34575b5015611b2257611aa990611a8e611b53565b60018060a01b03166001600160601b0360a01b5f5416175f55565b611afc6040611ab6611b76565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116611b12575b5001516001600160a01b031690565b908116611b065750565b611b0f90611842565b50565b611b1b90611791565b505f611aed565b6040516362df054560e01b8152600490fd5b611b4d915060203d6020116105ac5761059e8183610c71565b5f611a7c565b611b5b611ba4565b611b63611ba4565b60015f80516020611bf383398151915255565b60405190606082018281106001600160401b03821117610c6c576040525f6040838281528260208201520152565b60ff5f80516020611c138339815191525460401c1615611bc057565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212208c8cb609a14ad0196f2716730b417869a08c533b532b4fc28fabc1ee690e133164736f6c634300081900336101c0346101cf57601f61383338819003918201601f19168301916001600160401b0391828411858510176101d35781606092869260409687528339810103126101cf5761004c836101e7565b926100648361005d602084016101e7565b92016101e7565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101be57808083160361017a575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609283526101809384526101a0948552519461363796876101fc88396080518781816105a001528181610fd70152611629015260a051876109e9015260c051876112ac015260e05187818161084b01526112e5015251868181610512015261298501525185818161055601528181611e330152611f3b0152518481816107c901528181611d9a0152611fb9015251838181610e95015261194d015251828181610d9701526119ee015251816110490152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101cf5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a71461030457806302145348146102ff57806307f9d5fd146102fa578063103f2907146102f5578063128e5d82146102f0578063197aa7ea146102eb5780631a7a7044146102e65780631a80e500146102e157806323f752d5146102dc578063248a9ca3146102d757806325dc9708146102d25780632dd31000146102cd5780632f2ff15d146102c857806336568abe146102c35780633dfd3873146102be5780633eb22c0f146102b957806342c53e33146102b4578063439fab91146102af57806345e78fcb146102aa578063557cab44146102a55780635d32a1c9146102a05780636679191e1461029b57806379d89614146102965780637d24bb27146102915780637f5a7c7b1461028c5780638b3f10b01461028757806391d1485414610282578063987b3ee81461027d5780639b656b22146102785780639f86fd8514610273578063a217fddf1461026e578063a33bc28714610269578063b549ef1f14610264578063bb24fe8a1461025f578063c0cd7c3e1461025a578063c43dc03f14610255578063d15b740e14610250578063d547741f1461024b578063da749d2b14610246578063e02f693714610241578063e49561ee1461023c578063e78eb6ae14610237578063ed4d89e514610232578063fbfa77cf1461022d578063fd4d447c14610228578063ff54740f146102235763ffa1ad741461021e575f80fd5b6116dc565b6116bf565b611695565b61166e565b61160e565b6115d4565b6113e9565b6113cd565b6113b3565b611367565b61133d565b611314565b6112d0565b61128d565b611273565b611126565b61110c565b611078565b611034565b610fa6565b610f48565b610f25565b610efd565b610ec4565b610e80565b610e46565b610e23565b610dc6565b610d82565b610c4a565b610bd1565b610ba8565b610aaf565b610a64565b610a18565b6109d4565b6109b7565b61097e565b6107f8565b6107b4565b61076e565b610585565b610541565b6104fd565b6104c8565b61035e565b3461035a57602036600319011261035a5760043563ffffffff60e01b811680910361035a57602090637965db0b60e01b8114908115610349575b506040519015158152f35b6301ffc9a760e01b1490505f61033e565b5f80fd5b3461035a5760408060031936011261035a57600435906024359061038061202e565b825f526002602052805f2054821161041a57825f526003602052816103a6825f206128d7565b1461040a5781610405916103f57e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103e6875f52600360205260405f2090565b6103ef42612d8e565b90612176565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b6001600160a01b0381160361035a57565b6024359065ffffffffffff8216820361035a57565b6064359065ffffffffffff8216820361035a57565b608090600319011261035a5760043561047d8161042a565b906024359060443561048e8161042a565b9060643565ffffffffffff8116810361035a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461035a576104f96104e56104dc36610465565b92919091611736565b6040519182916020835260208301906104a4565b0390f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a5761059e61043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600360205260405f206122f5565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761064357604052565b610614565b606081019081106001600160401b0382111761064357604052565b60a081019081106001600160401b0382111761064357604052565b90601f801991011681019081106001600160401b0382111761064357604052565b604051906106ac82610663565b565b604051906106ac82610628565b6001600160401b03811161064357601f01601f191660200190565b81601f8201121561035a578035906106ed826106bb565b926106fb604051948561067e565b8284526020838301011161035a57815f926020809301838601378301015290565b90608060031983011261035a57600435916024356107398161042a565b9160443565ffffffffffff8116810361035a5791606435906001600160401b03821161035a5761076b916004016106d6565b90565b3461035a5760206107ac6107a76107843661071c565b939190925f526005865260405f209060018060a01b03165f5260205260405f2090565b61242d565b604051908152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356001600160601b038116810361035a5760243590610828612505565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610979575f9161094a575b5015610938576001600160601b03166bffffffffffffffffffffffff193360601b161790806108b2835f52600260205260405f2090565b54146109265761090b817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c926108f0855f52600260205260405f2090565b556108fb8185612534565b6040519081529081906020820190565b0390a261092460015f805160206135c283398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b61096c915060203d602011610972575b610964818361067e565b8101906117e8565b5f61087b565b503d61095a565b6117fc565b3461035a57602036600319011261035a576004355f525f805160206135a28339815191526020526020600160405f200154604051908152f35b3461035a576104f96104e56109cb36610465565b92919091611904565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a57610924602435600435610a3b8261042a565b805f525f805160206135a2833981519152602052610a5f600160405f2001546120e1565b61280f565b3461035a57604036600319011261035a57602435610a818161042a565b336001600160a01b03821603610a9d5761092490600435612845565b60405163334bd91960e11b8152600490fd5b3461035a57602036600319011261035a57600435610acc8161042a565b610ad4612505565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610b8a57506001546001600160a01b039182169181168214610926576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206135c283398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461035a57602036600319011261035a576004355f52600360205260206107ac60405f206128d7565b3461035a57604036600319011261035a5760206107ac610c18602435610bf68161042a565b6004355f526005845260405f209060018060a01b03165f5260205260405f2090565b6128d7565b9181601f8401121561035a578235916001600160401b03831161035a576020838186019501011161035a57565b3461035a57602036600319011261035a576001600160401b0360043581811161035a57610c7b903690600401610c1d565b5f805160206135e2833981519152549260ff8460401c1615931680159081610d7a575b6001149081610d70575b159081610d67575b50610d55575f805160206135e2833981519152805467ffffffffffffffff19166001179055610ce39183610d3157612950565b610ce957005b5f805160206135e2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206135e2833981519152805460ff60401b1916600160401b179055612950565b60405163f92ee8a960e01b8152600490fd5b9050155f610cb0565b303b159150610ca8565b849150610c9e565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576020604051614e208152f35b606060031982011261035a576004359160243565ffffffffffff8116810361035a5791604435906001600160401b03821161035a5761076b916004016106d6565b3461035a5760206107ac610e3636610de2565b915f526003845260405f2061242d565b3461035a575f36600319011261035a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461035a575f36600319011261035a576001546040516001600160a01b039091168152602090f35b3461035a5760206107ac610f3836610de2565b915f526004845260405f2061242d565b3461035a57604036600319011261035a57602060ff610f9a602435610f6c8161042a565b6004355f525f805160206135a2833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461035a57606036600319011261035a57602435610fc38161042a565b60443565ffffffffffff8116810361035a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106025761102f6105e5926004355f52600560205260405f209060018060a01b03165f5260205260405f2090565b6122f5565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356110958161042a565b6024356001600160401b03811161035a575f916110b783923690600401610c1d565b90816040519283928337810184815203915af46111046110d5611b60565b916110f66040519384921515602084015260408084015260608301906104a4565b03601f19810183528261067e565b805190602001fd5b3461035a575f36600319011261035a5760206040515f8152f35b3461035a57606036600319011261035a576024356004356111468261042a565b6044359161115261208a565b5f8281526005602090815260408083206001600160a01b0385168452909152902061117c906128d7565b838114610926577f739a5a3ec0ff71e2386d0013deac5f44e0935a98def2e2a5ddf9a709518c8294916111ef61123c92855f52600460205260405f20906111e9886111e46111c942612d8e565b936111df610c188c5f52600460205260405f2090565b611bb6565b611bd1565b91612176565b5050611220856103e68361120b885f52600560205260405f2090565b9060018060a01b03165f5260205260405f2090565b50506040519485526001600160a01b0316939081906020820190565b0390a3005b606090600319011261035a576004356112598161042a565b906024359060443565ffffffffffff8116810361035a5790565b3461035a576104f96104e561128736611241565b91611bde565b3461035a575f36600319011261035a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57602036600319011261035a576004355f52600460205260206107ac60405f206128d7565b3461035a57602036600319011261035a576004355f526002602052602060405f2054604051908152f35b3461035a57604036600319011261035a5761092460243560043561138a8261042a565b805f525f805160206135a28339815191526020526113ae600160405f2001546120e1565b612845565b3461035a576104f96104e56113c736611241565b91611c28565b3461035a5760206107ac6113e03661071c565b92919091611d24565b3461035a5760a036600319011261035a576024356004356114098261042a565b60443591611415610450565b90608435906001600160401b03821161035a57611437600492369084016106d6565b61143f612505565b5f5460209061146490611458906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa928315610979575f936115a3575b506001600160a01b039283163303611591576001546001600160a01b0316838116611506575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361092460015f805160206135c283398151915255565b90936040519461153d8661152f602082019363724ab0f760e11b8552858c898d60248701611eae565b03601f19810188528761067e565b62042e305a1061157f575f6114ed938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f150936114ac565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6115c691935060203d6020116115cd575b6115be818361067e565b810190611872565b915f611486565b503d6115b4565b3461035a575f36600319011261035a5760206040517f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846258152f35b3461035a57604036600319011261035a5761162761043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600460205260405f206122f5565b3461035a575f36600319011261035a575f546040516001600160a01b039091168152602090f35b3461035a57604036600319011261035a5760206107ac6024356116b78161042a565b600435611f04565b3461035a575f36600319011261035a5760206040516203d0908152f35b3461035a575f36600319011261035a57602060405160018152f35b5190811515820361035a57565b519063ffffffff8216820361035a57565b919082604091031261035a5761076b602061172f846116f7565b9301611704565b906117869165ffffffffffff6117959496956060976040519463130f67dd60e31b6020870152602486015260018060a01b031660448501521660648301526064825261178182610663565b612238565b60208082518301019101611715565b9061179d5750565b90915063ffffffff604051911660208201526020815261076b81610628565b5f9081526005602090815260408083206001600160a01b0390941683529290522061076b92919061242d565b9081602091031261035a5761076b906116f7565b6040513d5f823e3d90fd5b81601f8201121561035a5780519061181e826106bb565b9261182c604051948561067e565b8284526020838301011161035a57815f9260208093018386015e8301015290565b9060208282031261035a5781516001600160401b03811161035a5761076b9201611807565b9081602091031261035a575161076b8161042a565b9061076b91602081526118a6825160a0602084015260c08301906104a4565b9060a060806118f46118e16118cd602088015196601f1997888883030160408901526104a4565b6040880151878783030160608801526104a4565b60608701518686830301848701526104a4565b94015192828503019101526104a4565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491935f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa948515610979575f95611b18575b5060405163fbfa77cf60e01b8152602081600481888d165afa908115610979576119ea995f9285928491611af9575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa978815610979575f98611acf575b509081611a3b82611a3381611a419689611c28565b958388611736565b94611bde565b90835115801590611ac5575b8015611abb575b8015611ab1575b8015611aa7575b611a6f5750505050909150565b6110f6955061076b9496611a8161069f565b948552602085015260408401526060830152608082015260405192839160208301611887565b5081511515611a62565b5082511515611a5b565b5080511515611a54565b5086511515611a4d565b611a4192919850611af1903d805f833e611ae9818361067e565b81019061184d565b979091611a1e565b611b12915060203d6020116115cd576115be818361067e565b5f6119ad565b611b2d9195503d805f833e611ae9818361067e565b935f61197e565b9061076b92915f52600360205260405f2061242d565b9061076b92915f52600460205260405f2061242d565b3d15611b8a573d90611b71826106bb565b91611b7f604051938461067e565b82523d5f602084013e565b606090565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211611bb157565b611b8f565b91908203918211611bb157565b9060018201809211611bb157565b91908201809211611bb157565b60405163ed4d89e560e01b6020820152602481019290925265ffffffffffff909216604482015260609291611795916117869161178182606481015b03601f19810184528361067e565b604051630cbd53f560e11b6020820152602481019290925265ffffffffffff90921660448201526060929161179591611786916117818260648101611c1a565b60405190611c7582610628565b60606020838281520152565b9060208282031261035a5781516001600160401b039283821161035a57019060408282031261035a5760405192611cb784610628565b825181811161035a5782611ccc918501611807565b8452602083015190811161035a57611ce49201611807565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261076b929101906104a4565b92611d3490929192828486612bb5565b929093611d3f611c68565b93805180611e92575b50508415938415611dfc575b8415611d6b575b50505050611d665790565b505f90565b602080949550611d96910151604051958694859463530e1d4360e01b865260601c9060048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611ddd575b50155f808080611d5b565b611df6915060203d60201161097257610964818361067e565b5f611dd2565b5f549094506001600160a01b0316602084865192611e2f604051948593849363530e1d4360e01b85528960048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611e73575b501593611d54565b611e8c915060203d60201161097257610964818361067e565b5f611e6b565b611ea6929550602080918301019101611c81565b925f80611d48565b919360a09361076b969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906104a4565b8115611ef0570490565b634e487b7160e01b5f52601260045260245ffd5b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa908115610979575f91612011575b5015918215611f8d575b50509050611f875761076b91612ccb565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa918215610979575f92611ff4575b505015805f80611f76565b61200a9250803d1061097257610964818361067e565b5f80611fe9565b6120289150843d861161097257610964818361067e565b5f611f6c565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b541615610b8a5750565b335f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846259060ff90612080565b5f8181525f805160206135a283398151915260209081526040808320338452909152902060ff90612080565b634e487b7160e01b5f52603260045260245ffd5b8054821015612136575f5260205f2001905f90565b61210d565b90815491600160401b831015610643578261215e9160016106ac95018155612121565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612208575b508461219384612dc0565b509490928454936121a3836128d7565b96816121f3575b50156121d0575050505f198101908111611bb15761215e85916121cc93612121565b9190565b6121cc9492936121ec926001600160d01b039091169190613486565b505061213b565b65ffffffffffff83811691161490505f6121aa565b600160401b811015610643578060016122249201845583612121565b8154905f199060031b1b191690555f612188565b5f9190829160405161226d816110f66020820194639f86fd8560e01b86523060248401526040604484015260648301906104a4565b51915afa5061227a611b60565b8051810160408282031261035a57612294602083016116f7565b916040810151916001600160401b03831161035a576122ba926020809201920101611807565b90156122c35790565b805190811561035a57602001fd5b906040516122de81610628565b915465ffffffffffff8116835260301c6020830152565b91908254905f82916005841161239d575b612311935085612f24565b9081156123915761238a61238161237b61237161234361233e61233388611ba3565b895f5260205f200190565b6122d1565b96600161236a602061235b8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612121565b90549060031b1c90565b93611ba3565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926123a881612df9565b8103908111611bb15761231193865f526123dc6123d18360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff851610156123f2575091612306565b9291506123fe90611bc3565b90612306565b9081602091031261035a5761076b90611704565b90600163ffffffff80931601918211611bb157565b918051156124fb578060208061244893518301019101612404565b916124538382613056565b92612464845165ffffffffffff1690565b9065ffffffffffff80851692168281146124ef578211918261249a575b50506124915761076b9250612f86565b50506020015190565b9091506124a78354611ba3565b63ffffffff8316149182156124c0575b50505f80612481565b6124e79192506124db6124d56123d192612418565b85613056565b5165ffffffffffff1690565b115f806124b7565b50505050506020015190565b5061076b91612f86565b5f805160206135c283398151915260028154146125225760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161254b82612dc0565b9193905083156125a95761256b916001600160d01b031690600101612121565b90549060031b1c5b8261259f575b5050612583575050565b61259b915f52600360205260405f206103ef42612d8e565b5050565b119050815f612579565b50505f612573565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206135a28339815191529060ff16611f87575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206135a28339815191529060ff905b541661272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206135a28339815191529060ff906126c7565b6001600160a01b0381165f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b5584625905f805160206135a28339815191529060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b038716855290915290912060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b8054806128fc57505f5b6001600160d01b03811615611f875760016123719201612121565b5f19908082810111611bb157825f5260205f2001015460301c6128e1565b91909160408184031261035a5780356129328161042a565b9260208201356001600160401b03811161035a5761076b92016106d6565b61295c9181019061291a565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610979575f91612a6f575b5015612a5d576129f16040916129ec612a37946129d16130be565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61323e565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612a4d575b5001516001600160a01b031690565b908116612a415750565b612a4a9061265c565b50565b612a56906125b1565b505f612a28565b6040516362df054560e01b8152600490fd5b612a88915060203d60201161097257610964818361067e565b5f6129b6565b6040519060a082018281106001600160401b038211176106435760405281608060609182815282602082015282604082015282808201520152565b9060208282031261035a5781516001600160401b039283821161035a57019060a08282031261035a57612afa61069f565b92825181811161035a5782612b10918501611807565b8452602083015181811161035a5782612b2a918501611807565b6020850152604083015181811161035a5782612b47918501611807565b6040850152606083015181811161035a5782612b64918501611807565b6060850152608083015190811161035a57612b7f9201611807565b608082015290565b9081602091031261035a575190565b60409065ffffffffffff61076b949316815281602082015201906104a4565b91939293612bc1612a8e565b94805180612caf575b5050612bdb60608601518285611b4a565b9182612bed57505050509051905f9190565b612c01612c3b9183608089015191876117bc565b916020612c1a6114586114585f5460018060a01b031690565b8189015190604051808096819463810da75d60e01b83528760048401612b96565b03915afa801561097957612c7795612c71935f92612c7c575b50612c65919260408a015191611b34565b90818082109118021890565b9061339e565b915190565b612c659250612ca29060203d602011612ca8575b612c9a818361067e565b810190612b87565b91612c54565b503d612c90565b612cc3929650602080918301019101612ac9565b935f80612bca565b612ce0610c18825f52600460205260405f2090565b9081612ced575050505f90565b612d08610c1860049461120b845f52600560205260405f2090565b5f5460405163bd49c35f60e01b81529491929160209186919082906001600160a01b03165afa9081156109795761076b945f92612d65575b50610c18612d56915f52600360205260405f2090565b9081808210911802189061339e565b612d56919250612d86610c189160203d602011612ca857612c9a818361067e565b929150612d40565b65ffffffffffff90818111612da1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612dd15750505f905f905f90565b5f19918183810111611bb1575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561076b57600181600160801b811015612f12575b612eba612eb0612ea6612e9c612e92612e88612ec697600488600160401b612ec19a1015612f05575b640100000000811015612ef8575b62010000811015612eeb575b610100811015612edf575b6010811015612ed3575b1015612ecb575b60030260011c612e81818b611ee6565b0160011c90565b612e81818a611ee6565b612e818189611ee6565b612e818188611ee6565b612e818187611ee6565b612e818186611ee6565b8093611ee6565b821190565b900390565b60011b612e71565b811c9160021b91612e6a565b60081c91811b91612e60565b60101c9160081b91612e55565b60201c9160101b91612e49565b60401c9160201b91612e3b565b50600160401b9050608082901c612e12565b91905b838210612f345750505090565b909192808316906001818518811c8301809311611bb157855f5265ffffffffffff808460205f20015416908516105f14612f73575050925b9190612f27565b909493508101809111611bb15791612f6c565b908154905f829160058411612ff0575b612fa1935084612f24565b80612fc957505f905b6001600160d01b03821615611f875761076b9160016123719201612121565b612fe3612fd8612fea92611ba3565b835f5260205f200190565b5460301c90565b90612faa565b9192612ffb81612df9565b8103908111611bb157612fa193855f5265ffffffffffff808360205f20015416908516105f1461302c575091612f96565b92915061303890611bc3565b90612f96565b6040519061304b82610628565b5f6020838281520152565b9061307f6130796130a09261306961303e565b5061307261303e565b5084612121565b506122d1565b91600165ffffffffffff845116936020828060d01b03910151169101612121565b905490604051926130b084610628565b835260031b1c602082015290565b6130c6613563565b6130ce613563565b60015f805160206135c283398151915255565b604051906130ee82610648565b5f6040838281528260208201520152565b81601f8201121561035a578051916020916001600160401b038411610643578360051b90604051946131338584018761067e565b8552838086019282010192831161035a578301905b828210613156575050505090565b83809183516131648161042a565b815201910190613148565b9060208282031261035a5781516001600160401b039283821161035a5701908181039260a0841261035a576060604051946131a986610648565b1261035a576040516131ba81610648565b83516131c58161042a565b815260208401516131d58161042a565b602082015260408401516131e88161042a565b60408201528452606083015181811161035a57826132079185016130ff565b6020850152608083015190811161035a5761322292016130ff565b604082015290565b80518210156121365760209160051b010190565b61325a9061324a6130e1565b506020808251830101910161316f565b8051519091906001600160a01b03161580613384575b613372579060208101905f5b825180518210156132f657611458613297836132a49361322a565b516001600160a01b031690565b156132e4576132c66132c26132bd61329784875161322a565b612732565b1590565b6132d25760010161327c565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015613369576114586132978361331d9361322a565b156133585761333b6132c261333661329784875161322a565b6127a0565b61334757600101613302565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580613270575060408201515115613270565b91818302915f198185099383808610950394808603951461341e57848311156134115790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118613591565b50509061076b9250611ee6565b8054600160401b8110156106435761344891600182018155612121565b61347357815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156135395761349d6134a891611ba3565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411613527578793036134ee57506134e792509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506135229161350e6135006106ae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261342b565b6134e7565b604051632520601d60e01b8152600490fd5b509061355e9161354a6135006106ae565b6001600160d01b038516602083015261342b565b5f9190565b60ff5f805160206135e28339815191525460401c161561357f57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220634e3b6b986f1093753acb2fce82d90613d9763273e8cb9fc5d156adf1a11ace64736f6c634300081900336101c0346101c857601f61351f38819003918201601f19168301916001600160401b0391828411858510176101cc5781606092869260409687528339810103126101c85761004c836101e0565b926100648361005d602084016101e0565b92016101e0565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101b7578080831603610173575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609283526101809384526101a0948552519461332a96876101f58839608051878181610696015261148c015260a0518761092d015260c0518761114b015260e0518781816107a101526111840152518681816104e2015261266601525185818161064c01528181611be00152611d0f01525184818161071f01528181611b470152611d8d015251838181610ebc015261179a015251828181610c8f015261183b0152518161104f0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101c85756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146102c4578063020cf0c2146102bf57806302145348146102ba578063103f2907146102b557806310a28b5d146102b057806311422095146102ab578063128e5d82146102a6578063197aa7ea146102a15780631a80e5001461029c57806323f752d514610297578063248a9ca31461029257806325dc97081461028d5780632dd31000146102885780632f2ff15d1461028357806336568abe1461027e5780633dfd3873146102795780633eb22c0f14610274578063439fab911461026f57806345e78fcb1461026a578063518504ba14610265578063557cab44146102605780635d32a1c91461025b5780636679191e1461025657806379d89614146102515780637d24bb271461024c5780637f5a7c7b1461024757806391d148541461024257806394d2558a1461023d5780639b656b22146102385780639f86fd8514610233578063a217fddf1461022e578063bb24fe8a14610229578063c0cd7c3e14610224578063d15b740e1461021f578063d547741f1461021a578063da749d2b14610215578063e02f693714610210578063e49561ee1461020b578063f7b0554714610206578063fbfa77cf14610201578063fd4d447c146101fc578063ff54740f146101f75763ffa1ad74146101f2575f80fd5b611557565b61153a565b611510565b6114e9565b611465565b61127a565b61125e565b611229565b6111dd565b6111b3565b61116f565b61112c565b611112565b61107e565b61103a565b610ffc565b610f4c565b610f24565b610eeb565b610ea7565b610e6d565b610e1c565b610cf8565b610cbe565b610c7a565b610b42565b610aec565b6109f3565b6109a8565b61095c565b610918565b6108fb565b6108c2565b61074e565b61070a565b61067b565b610637565b6105e8565b6105b3565b6104cd565b610410565b61032f565b3461031a57602036600319011261031a5760043563ffffffff60e01b811680910361031a57602090637965db0b60e01b8114908115610309575b506040519015158152f35b6301ffc9a760e01b1490505f6102fe565b5f80fd5b6001600160a01b0381160361031a57565b3461031a57606036600319011261031a5760243560043561034f8261031e565b6044359161035b611e02565b815f526004602052826103896103848360405f209060018060a01b03165f5260205260405f2090565b6120b3565b146103fe5760207ffc9545f07ffadfb668efd0144cdcaf2d6e2c8192dce1ea9fc131934f9c90fc7e91835f52600482526103e9856103da8360405f209060018060a01b03165f5260205260405f2090565b6103e342612b1e565b90611f58565b50506040519485526001600160a01b031693a3005b60405163a741a04560e01b8152600490fd5b3461031a5760408060031936011261031a576004359060243590610432611e5f565b825f526002602052805f205482116104bd57825f52600360205281610458825f206120b3565b146104ad57816104a8916104987e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103da875f52600360205260405f2090565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff8216820361031a57565b6044359065ffffffffffff8216820361031a57565b6064359065ffffffffffff8216820361031a57565b608090600319011261031a576004356105688161031e565b90602435906044356105798161031e565b9060643565ffffffffffff8116810361031a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461031a576105e46105d06105c736610550565b929190916115b1565b60405191829160208352602083019061058f565b0390f35b3461031a57604036600319011261031a57602061062f61038460243561060d8161031e565b6004355f526004845260405f209060018060a01b03165f5260205260405f2090565b604051908152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a57610694610511565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576106db906004355f52600360205260405f20612124565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a576004356001600160601b038116810361031a576024359061077e612229565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156108bd575f9161088e575b501561087c576001600160601b03166bffffffffffffffffffffffff193360601b16179080610808835f52600260205260405f2090565b54146103fe57610861817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610846855f52600260205260405f2090565b556108518185612258565b6040519081529081906020820190565b0390a261087a60015f805160206132b583398151915255565b005b6040516323d53b9760e21b8152600490fd5b6108b0915060203d6020116108b6575b6108a88183610d7e565b810190611649565b5f6107d1565b503d61089e565b61165d565b3461031a57602036600319011261031a576004355f525f805160206132958339815191526020526020600160405f200154604051908152f35b3461031a576105e46105d061090f36610550565b9291909161174e565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5761087a60243560043561097f8261031e565b805f525f805160206132958339815191526020526109a3600160405f200154611eb5565b612533565b3461031a57604036600319011261031a576024356109c58161031e565b336001600160a01b038216036109e15761087a90600435612569565b60405163334bd91960e11b8152600490fd5b3461031a57602036600319011261031a57600435610a108161031e565b610a18612229565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610ace57506001546001600160a01b0391821691811682146103fe576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206132b583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461031a57602036600319011261031a576004355f526003602052602061062f60405f206120b3565b9181601f8401121561031a578235916001600160401b03831161031a576020838186019501011161031a57565b3461031a57602036600319011261031a576001600160401b0360043581811161031a57610b73903690600401610b15565b5f805160206132d5833981519152549260ff8460401c1615931680159081610c72575b6001149081610c68575b159081610c5f575b50610c4d575f805160206132d5833981519152805467ffffffffffffffff19166001179055610bdb9183610c2957612631565b610be157005b5f805160206132d5833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206132d5833981519152805460ff60401b1916600160401b179055612631565b60405163f92ee8a960e01b8152600490fd5b9050155f610ba8565b303b159150610ba0565b849150610b96565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a38152f35b3461031a575f36600319011261031a576020604051614e208152f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610d4357604052565b610d14565b606081019081106001600160401b03821117610d4357604052565b608081019081106001600160401b03821117610d4357604052565b90601f801991011681019081106001600160401b03821117610d4357604052565b60405190610dac82610d63565b565b60405190610dac82610d28565b6001600160401b038111610d4357601f01601f191660200190565b81601f8201121561031a57803590610ded82610dbb565b92610dfb6040519485610d7e565b8284526020838301011161031a57815f926020809301838601378301015290565b3461031a57606036600319011261031a57610e35610511565b6044356001600160401b03811161031a57602091610e5a61062f923690600401610dd6565b906004355f526003845260405f20612798565b3461031a575f36600319011261031a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461031a575f36600319011261031a576001546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602060ff610f9e602435610f708161031e565b6004355f525f80516020613295833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b90608060031983011261031a5760043591602435610fc78161031e565b9160443565ffffffffffff8116810361031a5791606435906001600160401b03821161031a57610ff991600401610dd6565b90565b3461031a57602061062f61103561101236610faa565b939190925f526004865260405f209060018060a01b03165f5260205260405f2090565b612798565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5760043561109b8161031e565b6024356001600160401b03811161031a575f916110bd83923690600401610b15565b90816040519283928337810184815203915af461110a6110db6119a3565b916110fc60405193849215156020840152604080840152606083019061058f565b03601f198101835282610d7e565b805190602001fd5b3461031a575f36600319011261031a5760206040515f8152f35b3461031a575f36600319011261031a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57602036600319011261031a576004355f526002602052602060405f2054604051908152f35b3461031a57604036600319011261031a5761087a6024356004356112008261031e565b805f525f80516020613295833981519152602052611224600160405f200154611eb5565b612569565b3461031a57606036600319011261031a576105e46105d060043561124c8161031e565b611254610526565b90602435906119d2565b3461031a57602061062f61127136610faa565b92919091611ad1565b3461031a5760a036600319011261031a5760243560043561129a8261031e565b604435916112a661053b565b90608435906001600160401b03821161031a576112c860049236908401610dd6565b6112d0612229565b5f546020906112f5906112e9906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156108bd575f93611434575b506001600160a01b039283163303611422576001546001600160a01b0316838116611397575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361087a60015f805160206132b583398151915255565b9093604051946113ce866113c0602082019363724ab0f760e11b8552858c898d60248701611c5b565b03601f198101885287610d7e565b62042e305a10611410575f61137e938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f1509361133d565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61145791935060203d60201161145e575b61144f8183610d7e565b8101906116d3565b915f611317565b503d611445565b3461031a57606036600319011261031a576024356114828161031e565b61148a610526565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576114e46106db926004355f52600460205260405f209060018060a01b03165f5260205260405f2090565b612124565b3461031a575f36600319011261031a575f546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602061062f6024356115328161031e565b600435611cd8565b3461031a575f36600319011261031a5760206040516203d0908152f35b3461031a575f36600319011261031a57602060405160018152f35b5190811515820361031a57565b519063ffffffff8216820361031a57565b919082604091031261031a57610ff960206115aa84611572565b930161157f565b91939265ffffffffffff906060956040519363f7b0554760e01b6020860152602485015260018060a01b031660448401521660648201526064815260a08101908082106001600160401b03831117610d4357611622926116139260405261201a565b60208082518301019101611590565b9061162a5750565b90915063ffffffff6040519116602082015260208152610ff981610d28565b9081602091031261031a57610ff990611572565b6040513d5f823e3d90fd5b81601f8201121561031a5780519061167f82610dbb565b9261168d6040519485610d7e565b8284526020838301011161031a57815f9260208093018386015e8301015290565b9060208282031261031a5781516001600160401b03811161031a57610ff99201611668565b9081602091031261031a5751610ff98161031e565b90610ff9916020815261170782516080602084015260a083019061058f565b906080606061173e61172b602087015195601f19968787830301604088015261058f565b604087015186868303018487015261058f565b940151928285030191015261058f565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491939091905f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa9485156108bd575f95611945575b5060405163fbfa77cf60e01b8152602081600481888d165afa9081156108bd57611837995f9286928491611926575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9788156108bd575f986118fa575b50908161187d846118839594876119d2565b946115b1565b908251158015906118f0575b80156118e6575b80156118dc575b6118a957505050909150565b6110fc9450610ff993956118bb610d9f565b938452602084015260408301526060820152604051928391602083016116e8565b508151151561189d565b5080511515611896565b508551151561188f565b611883939291985061191d903d805f833e6119158183610d7e565b8101906116ae565b9790919261186b565b61193f915060203d60201161145e5761144f8183610d7e565b5f6117fa565b61195a9195503d805f833e6119158183610d7e565b935f6117cb565b90610ff992915f52600360205260405f20612798565b5f9081526004602090815260408083206001600160a01b03909416835292905220610ff9929190612798565b3d156119cd573d906119b482610dbb565b916119c26040519384610d7e565b82523d5f602084013e565b606090565b611622916116139194939465ffffffffffff60609660405193630cbd53f560e11b6020860152602485015216604483015260448252611a1082610d63565b61201a565b60405190611a2282610d28565b60606020838281520152565b9060208282031261031a5781516001600160401b039283821161031a57019060408282031261031a5760405192611a6484610d28565b825181811161031a5782611a79918501611668565b8452602083015190811161031a57611a919201611668565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff9091166040820152608060608201819052610ff99291019061058f565b92611ae190929192828486612973565b929093611aec611a15565b93805180611c3f575b50508415938415611ba9575b8415611b18575b50505050611b135790565b505f90565b602080949550611b43910151604051958694859463530e1d4360e01b865260601c9060048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611b8a575b50155f808080611b08565b611ba3915060203d6020116108b6576108a88183610d7e565b5f611b7f565b5f549094506001600160a01b0316602084865192611bdc604051948593849363530e1d4360e01b85528960048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611c20575b501593611b01565b611c39915060203d6020116108b6576108a88183610d7e565b5f611c18565b611c53929550602080918301019101611a2e565b925f80611af5565b919360a093610ff9969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061058f565b634e487b7160e01b5f52601160045260245ffd5b8115611cb1570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611cd357565b611c93565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156108bd575f91611de5575b5015918215611d61575b50509050611d5b57610ff991612a6e565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156108bd575f92611dc8575b505015805f80611d4a565b611dde9250803d106108b6576108a88183610d7e565b5f80611dbd565b611dfc9150843d86116108b6576108a88183610d7e565b5f611d40565b335f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a39060ff905b541615610ace5750565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff90611e55565b5f8181525f8051602061329583398151915260209081526040808320338452909152902060ff90611e55565b634e487b7160e01b5f52603260045260245ffd5b8054821015611f0a575f5260205f2001905f90565b611ee1565b90815491600160401b831015610d435782611f32916001610dac95018155611ef5565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611cd357565b90929192600182019081548015611fea575b5084611f7584612b50565b50949092845493611f85836120b3565b9681611fd5575b5015611fb2575050505f198101908111611cd357611f328591611fae93611ef5565b9190565b611fae949293611fce926001600160d01b039091169190613189565b5050611f0f565b65ffffffffffff83811691161490505f611f8c565b600160401b811015610d43578060016120069201845583611ef5565b8154905f199060031b1b191690555f611f6a565b5f9190829160405161204f816110fc6020820194639f86fd8560e01b865230602484015260406044840152606483019061058f565b51915afa5061205c6119a3565b8051810160408282031261031a5761207660208301611572565b916040810151916001600160401b03831161031a5761209c926020809201920101611668565b90156120a55790565b805190811561031a57602001fd5b8054806120e257505f5b6001600160d01b03811615611d5b5760016120d89201611ef5565b90549060031b1c90565b5f19908082810111611cd357825f5260205f2001015460301c6120bd565b9060405161210d81610d28565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116121c2575b612140935085612cb4565b9081156121b6576121af6121a66121a06120d861217261216d61216288611f4a565b895f5260205f200190565b612100565b966001612199602061218a8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611ef5565b93611f4a565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926121cd81612b89565b8103908111611cd35761214093865f526122016121f68360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015612217575091612135565b92915061222390611cc5565b90612135565b5f805160206132b583398151915260028154146122465760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161226f82612b50565b9193905083156122cd5761228f916001600160d01b031690600101611ef5565b90549060031b1c5b826122c3575b50506122a7575050565b6122bf915f52600360205260405f206103e342612b1e565b5050565b119050815f61229d565b50505f612297565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206132958339815191529060ff16611d5b575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206132958339815191529060ff905b541661244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206132958339815191529060ff906123eb565b6001600160a01b0381165f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a3905f805160206132958339815191529060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b038716855290915290912060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261031a5780356126138161031e565b9260208201356001600160401b03811161031a57610ff99201610dd6565b61263d918101906125fb565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156108bd575f91612750575b501561273e576126d26040916126cd612718946126b2612d16565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612e96565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661272e575b5001516001600160a01b031690565b9081166127225750565b61272b90612380565b50565b612737906122d5565b505f612709565b6040516362df054560e01b8152600490fd5b612769915060203d6020116108b6576108a88183610d7e565b5f612697565b9081602091031261031a57610ff99061157f565b90600163ffffffff80931601918211611cd357565b9180511561286657806020806127b39351830101910161276f565b916127be83826130c6565b926127cf845165ffffffffffff1690565b9065ffffffffffff808516921682811461285a5782119182612805575b50506127fc57610ff99250612ff6565b50506020015190565b9091506128128354611f4a565b63ffffffff83161491821561282b575b50505f806127ec565b6128529192506128466128406121f692612783565b856130c6565b5165ffffffffffff1690565b115f80612822565b50505050506020015190565b50610ff991612ff6565b60405190608082018281106001600160401b03821117610d4357604052606080838181528160208201528160408201520152565b9060208282031261031a5781516001600160401b039283821161031a57019060808282031261031a576128d5610d9f565b92825181811161031a57826128eb918501611668565b8452602083015181811161031a5782612905918501611668565b6020850152604083015181811161031a5782612922918501611668565b6040850152606083015190811161031a5761293d9201611668565b606082015290565b9081602091031261031a575190565b60409065ffffffffffff610ff99493168152816020820152019061058f565b9391909361297f612870565b93805180612a4e575b50506129c992939460206129a86112e96112e95f5460018060a01b031690565b8188015190604051808098819463810da75d60e01b83528960048401612954565b03915afa9182156108bd57612a10945f93612a15575b50612a0490612a0493946129f860408a01518284611961565b9360608a015192611977565b90818082109118021890565b915190565b612a04935090612a3f612a049260203d602011612a47575b612a378183610d7e565b810190612945565b9350906129df565b503d612a2d565b6129c994955090602080612a669383010191016128a4565b93925f612988565b5f5460405163bd49c35f60e01b81529290602090849060049082906001600160a01b03165afa9283156108bd575f93612af5575b50610384612ae091612abf610384855f52600360205260405f2090565b935f52600460205260405f209060018060a01b03165f5260205260405f2090565b90818082109118021890818082109118021890565b612ae0919350612b166103849160203d602011612a4757612a378183610d7e565b939150612aa2565b65ffffffffffff90818111612b31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612b615750505f905f905f90565b5f19918183810111611cd3575f5260205f2001015460019165ffffffffffff82169160301c90565b6001811115610ff957600181600160801b811015612ca2575b612c4a612c40612c36612c2c612c22612c18612c5697600488600160401b612c519a1015612c95575b640100000000811015612c88575b62010000811015612c7b575b610100811015612c6f575b6010811015612c63575b1015612c5b575b60030260011c612c11818b611ca7565b0160011c90565b612c11818a611ca7565b612c118189611ca7565b612c118188611ca7565b612c118187611ca7565b612c118186611ca7565b8093611ca7565b821190565b900390565b60011b612c01565b811c9160021b91612bfa565b60081c91811b91612bf0565b60101c9160081b91612be5565b60201c9160101b91612bd9565b60401c9160201b91612bcb565b50600160401b9050608082901c612ba2565b91905b838210612cc45750505090565b909192808316906001818518811c8301809311611cd357855f5265ffffffffffff808460205f20015416908516105f14612d03575050925b9190612cb7565b909493508101809111611cd35791612cfc565b612d1e613266565b612d26613266565b60015f805160206132b583398151915255565b60405190612d4682610d48565b5f6040838281528260208201520152565b81601f8201121561031a578051916020916001600160401b038411610d43578360051b9060405194612d8b85840187610d7e565b8552838086019282010192831161031a578301905b828210612dae575050505090565b8380918351612dbc8161031e565b815201910190612da0565b9060208282031261031a5781516001600160401b039283821161031a5701908181039260a0841261031a57606060405194612e0186610d48565b1261031a57604051612e1281610d48565b8351612e1d8161031e565b81526020840151612e2d8161031e565b60208201526040840151612e408161031e565b60408201528452606083015181811161031a5782612e5f918501612d57565b6020850152608083015190811161031a57612e7a9201612d57565b604082015290565b8051821015611f0a5760209160051b010190565b612eb290612ea2612d39565b5060208082518301019101612dc7565b8051519091906001600160a01b03161580612fdc575b612fca579060208101905f5b82518051821015612f4e576112e9612eef83612efc93612e82565b516001600160a01b031690565b15612f3c57612f1e612f1a612f15612eef848751612e82565b612456565b1590565b612f2a57600101612ed4565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015612fc1576112e9612eef83612f7593612e82565b15612fb057612f93612f1a612f8e612eef848751612e82565b6124c4565b612f9f57600101612f5a565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580612ec8575060408201515115612ec8565b908154905f829160058411613060575b613011935084612cb4565b8061303957505f905b6001600160d01b03821615611d5b57610ff99160016120d89201611ef5565b61305361304861305a92611f4a565b835f5260205f200190565b5460301c90565b9061301a565b919261306b81612b89565b8103908111611cd35761301193855f5265ffffffffffff808360205f20015416908516105f1461309c575091613006565b9291506130a890611cc5565b90613006565b604051906130bb82610d28565b5f6020838281520152565b906130ef6130e9613110926130d96130ae565b506130e26130ae565b5084611ef5565b50612100565b91600165ffffffffffff845116936020828060d01b03910151169101611ef5565b9054906040519261312084610d28565b835260031b1c602082015290565b8054600160401b811015610d435761314b91600182018155611ef5565b61317657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b8054929392801561323c576131a06131ab91611f4a565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161322a578793036131f157506131ea92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b91505061322591613211613203610dae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261312e565b6131ea565b604051632520601d60e01b8152600490fd5b50906132619161324d613203610dae565b6001600160d01b038516602083015261312e565b5f9190565b60ff5f805160206132d58339815191525460401c161561328257565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204499a4e541806b6efe7986c303b25f7c58d6541a27cb7ee070507be47989947d64736f6c63430008190033","sourceMap":"765:2461:92:-:0;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:93;;332:21;;8837:64:26;765:2461:92;;;;;;;7896:76:26;;765:2461:92;;;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:80;;;-1:-1:-1;525:17:80;;-1:-1:-1;552:12:80;;-1:-1:-1;2360:34:87;;2404:28;;-1:-1:-1;2404:28:87;;2442:57;;-1:-1:-1;2442:57:87;;2509:61;;-1:-1:-1;2509:61:87;;1248:40:92;;;;;765:2461;;1352:79;;;;;;;;;;;;;;;;;;;;;;;348:4:93;765:2461:92;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;;;;;;1352:79;;;-1:-1:-1;1352:79:92;;;;;;765:2461;;;;;1298:134;;;765:2461;;1298:134;;765:2461;;1493:76;;;;;;;;;;;;;;;;;;;;;;;348:4:93;765:2461:92;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;;;;;;1493:76;;;-1:-1:-1;1493:76:92;;;;;;1442:128;765:2461;;1442:128;;765:2461;;;;;;;;332:21:93;765:2461:92;;;;525:17:80;765:2461:92;;;;;552:12:80;765:2461:92;;;;;2360:34:87;765:2461:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1493:76;765:2461;;;-1:-1:-1;765:2461:92;;;;;1493:76;765:2461;;;-1:-1:-1;765:2461:92;;;;;-1:-1:-1;765:2461:92;1352:79;765:2461;;;-1:-1:-1;765:2461:92;;;;;7981:146:26;-1:-1:-1;;;;;;765:2461:92;;;;;;;;;8087:29:26;;765:2461:92;;8087:29:26;7981:146;;;;;7896:76;765:2461:92;;-1:-1:-1;;;7938:23:26;;;;;765:2461:92;-1:-1:-1;765:2461:92;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610214578063075db0361461020f578063103f29071461020a578063128e5d82146102055780631a80e500146102005780631bf10a3e146101fb57806323f752d5146101f6578063248a9ca3146101f157806325dc9708146101ec5780632dd31000146101e75780632f2ff15d146101e257806336568abe146101dd5780633dfd3873146101d8578063439fab91146101d3578063557cab44146101ce5780636679191e146101c95780637f5a7c7b146101c457806391d14854146101bf5780639b656b22146101ba5780639f86fd85146101b5578063a217fddf146101b0578063bb24fe8a146101ab578063c0cd7c3e146101a6578063d15b740e146101a1578063d547741f1461019c578063e02f693714610197578063e102831a14610192578063e49561ee1461018d578063fbfa77cf14610188578063fd4d447c14610183578063ff54740f1461017e5763ffa1ad7414610179575f80fd5b61108a565b61106d565b61103b565b611014565b610e29565b610de5565b610d02565b610bf1565b610bc7565b610b83565b610b40565b610b26565b610a6c565b610a28565b6109ca565b6109a2565b610968565b61094c565b61080f565b6106e9565b61069e565b610652565b61060e565b6105f1565b6105b8565b61043c565b610407565b61033a565b6102f6565b6102b2565b61026e565b3461026a57602036600319011261026a5760043563ffffffff60e01b811680910361026a57602090637965db0b60e01b8114908115610259575b506040519015158152f35b6301ffc9a760e01b1490505f61024e565b5f80fd5b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361026a57565b6064359065ffffffffffff8216820361026a57565b608090600319011261026a576004356103bc8161037e565b90602435906044356103cd8161037e565b9060643565ffffffffffff8116810361026a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461026a5761043861042461041b366103a4565b92919091611168565b6040519182916020835260208301906103e3565b0390f35b3461026a57604036600319011261026a576004356001600160601b038116810361026a576024359061046c611732565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f91610584575b5015610572576001600160601b03166bffffffffffffffffffffffff193360601b161790806104f6835f52600260205260405f2090565b541461056057610545817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610534855f52600260205260405f2090565b556040519081529081906020820190565b0390a261055e60015f80516020611bf383398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6105a6915060203d6020116105ac575b61059e8183610c71565b8101906113b9565b5f6104bf565b503d610594565b6110bd565b3461026a57602036600319011261026a576004355f525f80516020611bd38339815191526020526020600160405f200154604051908152f35b3461026a57610438610424610605366103a4565b929190916113f0565b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57604036600319011261026a5761055e6024356004356106758261037e565b805f525f80516020611bd3833981519152602052610699600160405f200154611761565b611918565b3461026a57604036600319011261026a576024356106bb8161037e565b336001600160a01b038216036106d75761055e9060043561194e565b60405163334bd91960e11b8152600490fd5b3461026a57602036600319011261026a576004356107068161037e565b61070e611732565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff16156107c457506001546001600160a01b039182169181168214610560576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020611bf383398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b9181601f8401121561026a578235916001600160401b03831161026a576020838186019501011161026a57565b3461026a57602036600319011261026a576001600160401b0360043581811161026a576108409036906004016107e2565b5f80516020611c13833981519152549260ff8460401c1615931680159081610944575b600114908161093a575b159081610931575b5061091f575f80516020611c13833981519152805467ffffffffffffffff191660011790556108a891836108f657611a16565b6108ae57005b5f80516020611c13833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611c13833981519152805460ff60401b191668010000000000000000179055611a16565b60405163f92ee8a960e01b8152600490fd5b9050155f610875565b303b15915061086d565b849150610863565b3461026a575f36600319011261026a576020604051614e208152f35b3461026a575f36600319011261026a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461026a575f36600319011261026a576001546040516001600160a01b039091168152602090f35b3461026a57604036600319011261026a57602060ff610a1c6024356109ee8161037e565b6004355f525f80516020611bd3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a5760408060031936011261026a57600435610a8a8161037e565b602435906001600160401b03821161026a575f8091610ab0610b149436906004016107e2565b908187519283928337810184815203915af43d15610b1c57610b063d610ad581610ca1565b90610ae286519283610c71565b81523d5f602083013e5b8451948593151560208501528084015260608301906103e3565b03601f198101835282610c71565b805190602001fd5b610b066060610aec565b3461026a575f36600319011261026a5760206040515f8152f35b3461026a575f36600319011261026a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57602036600319011261026a576004355f526002602052602060405f2054604051908152f35b3461026a57604036600319011261026a5761055e602435600435610c148261037e565b805f525f80516020611bd3833981519152602052610c38600160405f200154611761565b61194e565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610c6c57604052565b610c3d565b90601f801991011681019081106001600160401b03821117610c6c57604052565b60405190610c9f82610c51565b565b6001600160401b038111610c6c57601f01601f191660200190565b81601f8201121561026a57803590610cd382610ca1565b92610ce16040519485610c71565b8284526020838301011161026a57815f926020809301838601378301015290565b3461026a5760808060031936011261026a57610d1f60243561037e565b60443565ffffffffffff81160361026a576001600160401b0360643581811161026a57610d50903690600401610cbc565b5060606020604051610d6181610c51565b828152015260605180610d79575b60206040515f8152f35b8281016020821261026a5783519183831161026a5782604091031261026a5760405193610da585610c51565b8281015184811161026a578282610dbe928601016110c8565b855260a083015193841161026a57602093610dda9301016110c8565b9101525f8080610d6f565b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a5760a036600319011261026a57602435600435610e498261037e565b60443591610e5561038f565b90608435906001600160401b03821161026a57610e7760049236908401610cbc565b610e7f611732565b5f54602090610ea490610e98906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156105b3575f93610fe3575b506001600160a01b039283163303610fd1576001546001600160a01b0316838116610f46575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361055e60015f80516020611bf383398151915255565b909360405194610f7d86610f6f602082019363724ab0f760e11b8552858c898d602487016115d0565b03601f198101885287610c71565b62042e305a10610fbf575f610f2d938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093610eec565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61100691935060203d60201161100d575b610ffe8183610c71565b8101906110a5565b915f610ec6565b503d610ff4565b3461026a575f36600319011261026a575f546040516001600160a01b039091168152602090f35b3461026a57604036600319011261026a57602061106560243561105d8161037e565b600435611608565b604051908152f35b3461026a575f36600319011261026a5760206040516203d0908152f35b3461026a575f36600319011261026a57602060405160018152f35b9081602091031261026a57516110ba8161037e565b90565b6040513d5f823e3d90fd5b81601f8201121561026a578051906110df82610ca1565b926110ed6040519485610c71565b8284526020838301011161026a57815f9260208093018386015e8301015290565b9060208282031261026a5781516001600160401b03811161026a576110ba92016110c8565b906110ba91602081526020611153835160408385015260608401906103e3565b920151906040601f19828503019101526103e3565b604080516309472ec160e11b8152606096956001600160a01b039384169591946020949192917f0000000000000000000000000000000000000000000000000000000000000000169085876004818b5afa9687156105b3575f9761139a575b50845163fbfa77cf60e01b81529686886004818c5afa80156105b357855f9161123b9a839161137d575b508851636a531c3160e11b8082526001600160a01b039586166004830152858916602483015294909116604482015265ffffffffffff909116606482015298899081906084820190565b0381865afa9788156105b3575f98611358575b508686979899600496975196878092621a80e560e81b82525afa9485156105b3575f95611335575b5086519081526001600160a01b03948516600482015293909216602484015260609190911c604483015265ffffffffffff9092166064820152905f9082908180608481015b03915afa9081156105b3575f91611313575b50835115801590611309575b6112e35750505050565b6110ba9394955090610b06916112f7610c92565b95865283860152519384928301611133565b50805115156112d9565b61132f91503d805f833e6113278183610c71565b81019061110e565b5f6112cd565b5f95506113516112bb918a3d8c1161100d57610ffe8183610c71565b9550611276565b8798509661137360049697983d805f833e6113278183610c71565b989796955061124e565b61139491508a3d8c1161100d57610ffe8183610c71565b5f6111f1565b6113b2919750863d881161100d57610ffe8183610c71565b955f6111c7565b9081602091031261026a5751801515810361026a5790565b9081602091031261026a57516001600160401b038116810361026a5790565b604051635d927f4560e11b8082526060969594936001600160a01b03939092909160209190858416908383600481855afa9283156105b3575f936115b1575b506001600160401b039283166114d65750506040516304bb92e160e31b81526001600160a01b0393841660048201526024810194909452505092909216604483015265ffffffffffff9290921660648201529192505f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f916114c2575090565b6110ba91503d805f833e6113278183610c71565b839060046040518094819382525afa9081156105b3576001935f92611584575b50501614611505575050505050565b6040516304bb92e160e31b81526001600160a01b039182166004820152602481019290925292909216604483015265ffffffffffff9290921660648201529192505f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f916114c2575090565b6115a39250803d106115aa575b61159b8183610c71565b8101906113d1565b5f806114f6565b503d611591565b6115c9919350843d86116115aa5761159b8183610c71565b915f61142f565b919360a0936110ba969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103e3565b5f546040516308834cb560e21b8082526001600160a01b038581166004840152928316602483015293602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156105b3575f91611715575b501593841561168a575b505050509050611686575f90565b5f90565b6040519586526001600160a01b0392909216600486015260609190911c6024850152909291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156105b3575f926116f8575b505015805f808080611678565b61170e9250803d106105ac5761059e8183610c71565b5f806116eb565b61172c9150843d86116105ac5761059e8183610c71565b5f61166e565b5f80516020611bf3833981519152600281541461174f5760029055565b604051633ee5aeb560e01b8152600490fd5b5f8181525f80516020611bd38339815191526020908152604080832033845290915290205460ff16156107c45750565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020611bd38339815191529060ff1661183c575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020611bd38339815191529060ff905b5416611911575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020611bd3833981519152602081815260408084206001600160a01b038716855290915290912060ff906118ad565b5f8181525f80516020611bd3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611911575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261026a5780356119f88161037e565b9260208201356001600160401b03811161026a576110ba9201610cbc565b611a22918101906119e0565b506040516302910f8b60e31b81526001600160a01b0391821660048201819052906020816024817f000000000000000000000000000000000000000000000000000000000000000087165afa9081156105b3575f91611b34575b5015611b2257611aa990611a8e611b53565b60018060a01b03166001600160601b0360a01b5f5416175f55565b611afc6040611ab6611b76565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116611b12575b5001516001600160a01b031690565b908116611b065750565b611b0f90611842565b50565b611b1b90611791565b505f611aed565b6040516362df054560e01b8152600490fd5b611b4d915060203d6020116105ac5761059e8183610c71565b5f611a7c565b611b5b611ba4565b611b63611ba4565b60015f80516020611bf383398151915255565b60405190606082018281106001600160401b03821117610c6c576040525f6040838281528260208201520152565b60ff5f80516020611c138339815191525460401c1615611bc057565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212208c8cb609a14ad0196f2716730b417869a08c533b532b4fc28fabc1ee690e133164736f6c63430008190033","sourceMap":"765:2461:92:-: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;:::-;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;765:2461:92;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;765:2461:92;-1:-1:-1;765:2461:92;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;957:56;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;1537:38:87;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;1632:54:87;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;1743:56:87;-1:-1:-1;;;;;765:2461:92;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;765:2461:92;;;;;;;;-1:-1:-1;;765:2461:92;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;3361:103:30;;;:::i;:::-;765:2461:92;;-1:-1:-1;;;4285:48:87;;4322:10;765:2461:92;4285:48:87;;765:2461:92;;;;;-1:-1:-1;;;;;4295:16:87;765:2461:92;4285:48:87;;;;;;;-1:-1:-1;4285:48:87;;;765:2461:92;4284:49:87;;4280:99;;-1:-1:-1;;;;;765:2461:92;-1:-1:-1;;4322:10:87;297:2:99;765:2461:92;;267:46:99;4459:27:87;;;;765:2461:92;;4459:15:87;765:2461:92;;;;;;;4459:27:87;765:2461:92;4459:37:87;4455:87;;4654:38;4552:27;4654:38;4552:27;;;765:2461:92;;4459:15:87;765:2461:92;;;;;;;4552:27:87;765:2461:92;;;;;;;;;;;;;;4654:38:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;765:2461:92;3860:283:30;3426:1;765:2461:92;4455:87:87;765:2461:92;;-1:-1:-1;;;4519:12:87;;765:2461:92;;4519:12:87;4280:99;765:2461:92;;-1:-1:-1;;;4356:12:87;;765:2461:92;;4356:12:87;4285:48;;;;765:2461:92;4285:48:87;765:2461:92;4285:48:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;765:2461:92:-;;;;;;-1:-1:-1;;765:2461:92;;;;;;-1:-1:-1;765:2461:92;-1:-1:-1;;;;;;;;;;;765:2461:92;;;4919:24:23;765:2461:92;-1:-1:-1;765:2461:92;4919:24:23;765:2461:92;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;765:2461:92;;;;;;322:32:80;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;5350:25:23;765:2461:92;;;;;;;:::i;:::-;;-1:-1:-1;765:2461:92;-1:-1:-1;;;;;;;;;;;765:2461:92;;3202:4:23;4919:24;765:2461:92;-1:-1:-1;765:2461:92;4919:24:23;765:2461:92;3202:4:23;:::i;:::-;5350:25;:::i;765:2461:92:-;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;765:2461:92;;6441:34:23;6437:102;;6549:37;765:2461:92;;;6549:37:23;:::i;6437:102::-;765:2461:92;;-1:-1:-1;;;6498:30:23;;765:2461:92;;6498:30:23;765:2461:92;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;765:2461:92;;;;;;;;;;1356:26:87;;765:2461:92;;4468:23:23;4464:108;;-1:-1:-1;4861:4:87;765:2461:92;-1:-1:-1;;;;;765:2461:92;;;;;;4861:13:87;;4857:63;;-1:-1:-1;;;;;;765:2461:92;;;4861:4:87;765:2461:92;4958:14:87;-1:-1:-1;;4958:14:87;4861:4;-1:-1:-1;;;;;;;;;;;765:2461:92;;4464:108:23;765:2461:92;;;;4514:47:23;;;;;;966:10:28;765:2461:92;4514:47:23;;765:2461:92;;;;;4514:47:23;765:2461:92;;;;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;765:2461:92;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;765:2461:92;;;;;;;4301:16:26;765:2461:92;;4726:16:26;;:34;;;;765:2461:92;4805:1:26;4790:16;:50;;;;765:2461:92;4855:13:26;:30;;;;765:2461:92;4851:91:26;;;-1:-1:-1;;;;;;;;;;;765:2461:92;;-1:-1:-1;;765:2461:92;;;;;718:4:80;;4951:18:26;4979:67;;718:4:80;:::i;:::-;5066:101:26;;765:2461:92;5066:101:26;-1:-1:-1;;;;;;;;;;;765:2461:92;;-1:-1:-1;;;;765:2461:92;;;;;-1:-1:-1;765:2461:92;;5142:14:26;;765:2461:92;;5142:14:26;765:2461:92;4979:67:26;-1:-1:-1;;;;;;;;;;;765:2461:92;;-1:-1:-1;;;;765:2461:92;;;;;718:4:80;:::i;4851:91:26:-;765:2461:92;;-1:-1:-1;;;4908:23:26;;765:2461:92;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;765:2461:92;;;;;;-1:-1:-1;;765:2461:92;;;;;;;1253:6:87;765:2461:92;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;1356:26:87;765:2461:92;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;3901:31:23;765:2461:92;;;;;:::i;:::-;;;-1:-1:-1;765:2461:92;-1:-1:-1;;;;;;;;;;;765:2461:92;;;-1:-1:-1;765:2461:92;;;;;;;;;;;;;;;;;3901:31:23;765:2461:92;;;;;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;906:45;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;765:2461:92;;;;-1:-1:-1;765:2461:92;;;477:31:86;765:2461:92;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;765:2461:92;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;765:2461:92;;;;;;;;;;;;;477:31:86;;765:2461:92;;;;;;;;;;:::i;:::-;477:31:86;765:2461:92;;477:31:86;;;;;;:::i;:::-;518:79;;;765:2461:92;518:79:86;;765:2461:92;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;-1:-1:-1;;;;;404:28:80;765:2461:92;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;1439:41:87;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;-1:-1:-1;765:2461:92;2009:67:87;765:2461:92;;;;-1:-1:-1;765:2461:92;;;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;5767:26:23;765:2461:92;;;;;;;:::i;:::-;;-1:-1:-1;765:2461:92;-1:-1:-1;;;;;;;;;;;765:2461:92;;3202:4:23;4919:24;765:2461:92;-1:-1:-1;765:2461:92;4919:24:23;765:2461:92;3202:4:23;:::i;:::-;5767:26;:::i;765:2461:92:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;765:2461:92;;;;;;-1:-1:-1;;765:2461:92;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;765:2461:92;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;3086:20:87;3082:107;;765:2461:92;;;;-1:-1:-1;765:2461:92;;;3082:107:87;3139:39;;;765:2461:92;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3082:107:87;;;;;765:2461:92;;;;;;-1:-1:-1;;765:2461:92;;;;;;1019:53;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;765:2461:92;;;5246:21:87;;:13;;-1:-1:-1;;;;;765:2461:92;5246:13:87;765:2461:92;;-1:-1:-1;;;;;765:2461:92;;;5246:21:87;765:2461:92;;-1:-1:-1;;;5246:23:87;;765:2461:92;;;;;5246:23:87;;;;;;;-1:-1:-1;5246:23:87;;;765:2461:92;-1:-1:-1;;;;;;765:2461:92;;;5232:10:87;:37;5228:87;;5341:4;765:2461:92;-1:-1:-1;;;;;765:2461:92;;;;5355:469:87;;765:2461:92;-1:-1:-1;;765:2461:92;;;;;;;;;;;;;;;;5839:55:87;;765:2461:92;;;;5839:55:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;765:2461:92;3860:283:30;5355:469:87;765:2461:92;;;;5435:94:87;;;;765:2461:92;5435:94:87;;;;;;;;;;;;765:2461:92;5435:94:87;;;:::i;:::-;;765:2461:92;;5435:94:87;;;;;;:::i;:::-;765:2461:92;5548:9:87;:51;5544:118;;-1:-1:-1;5839:55:87;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;765:2461:92;;-1:-1:-1;;;5626:21:87;;765:2461:92;;5626:21:87;5228:87;765:2461:92;;-1:-1:-1;;;5292:12:87;;765:2461:92;;5292:12:87;5246:23;;;;;765:2461:92;5246:23:87;765:2461:92;5246:23:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;765:2461:92;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;1150:7:87;765:2461:92;;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;2700:1:87;765:2461:92;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;765:2461:92;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;2213:1011::-;765:2461;;;-1:-1:-1;;;2498:56:92;;765:2461;;2213:1011;-1:-1:-1;;;;;765:2461:92;;;;;;2498:56;;2213:1011;;;2453:20;765:2461;;2498:56;765:2461;2498:56;765:2461;;2498:56;;;;;;;;;;;2213:1011;-1:-1:-1;765:2461:92;;-1:-1:-1;;;2590:32:92;;765:2461;2590:32;765:2461;2498:56;765:2461;2590:32;;;;;;;;2498:56;2590:32;2435:220;2590:32;;;;;2213:1011;-1:-1:-1;765:2461:92;;-1:-1:-1;;;2435:220:92;;;-1:-1:-1;;;;;765:2461:92;;;2498:56;2435:220;;765:2461;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2435:220;;;;;;;;;;;2498:56;2435:220;;;2213:1011;765:2461;;;;;;2498:56;765:2461;;;;;;;;;;2768:58;;;;;;;;;2498:56;2768:58;;;2213:1011;-1:-1:-1;765:2461:92;;2705:174;;;-1:-1:-1;;;;;765:2461:92;;;2498:56;2705:174;;765:2461;;;;;;;;;;;;;;;;;;;;;;;;;;;2498:56;;765:2461;;;;;;;2705:174;;;;;;;;;;2498:56;2705:174;;;2213:1011;765:2461;;;2894:34;;;:74;;;2213:1011;2890:328;;2213:1011;;;;:::o;2890:328::-;2991:216;765:2461;;;;;2991:216;765:2461;;;:::i;:::-;;;;3019:174;;;765:2461;;2991:216;;;;;;:::i;2894:74::-;765:2461;;;2932:36;;2894:74;;2705:174;;;;;;2498:56;2705:174;;;;;;:::i;:::-;;;;;:::i;:::-;;;;2768:58;2498:56;2768:58;;;2705:174;2768:58;;;;;;;;;;;:::i;:::-;;;;;2435:220;;;;;;2498:56;2435:220;;;;;2498:56;2435:220;;;;;;:::i;:::-;;;;;;;;2590:32;;;;;;;;;;;;;;:::i;:::-;;;;2498:56;;;;;;;;;;;;;;;:::i;:::-;;;;;765:2461;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;:::o;1583:624::-;765:2461;;-1:-1:-1;;;1765:31:92;;;765:2461;;1583:624;;;-1:-1:-1;;;;;765:2461:92;1583:624;;;;1765:31;;765:2461;;;;;1765:31;765:2461;1765:31;765:2461;;1765:31;;;;;;;;;;;1583:624;-1:-1:-1;;;;;;765:2461:92;;;;;-1:-1:-1;;765:2461:92;;-1:-1:-1;;;1824:146:92;;-1:-1:-1;;;;;765:2461:92;;;1765:31;1824:146;;765:2461;;;;;;;;-1:-1:-1;;765:2461:92;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;765:2461:92;;;;;;1853:31;765:2461;1824:146;;;;;;;1765:31;1824:146;;;1817:153;;:::o;1824:146::-;;;;;;1765:31;1824:146;;;;;;:::i;1761:440::-;765:2461;;1765:31;765:2461;;1991:31;;;;;;;;;;;;;2026:1;1991:31;1765;1991;;;1761:440;765:2461;;;1991:36;1987:214;;1761:440;;;;;1583:624::o;1987:214::-;765:2461;;-1:-1:-1;;;2050:140:92;;-1:-1:-1;;;;;765:2461:92;;;1765:31;2050:140;;765:2461;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;765:2461:92;;;;;;2076:28;765:2461;2050:140;;;;;;;1765:31;2050:140;;;2043:147;;:::o;1991:31::-;;;;;;-1:-1:-1;1991:31:92;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1765;;;;;;;;;;;;;;;:::i;:::-;;;;;765:2461;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3740:389:87:-;3918:5;765:2461:92;;;-1:-1:-1;;;3853:71:87;;;-1:-1:-1;;;;;765:2461:92;;;3853:71:87;;;765:2461:92;;;;;;;;;3853:71:87;;765:2461:92;;3853:71:87;765:2461:92;;;3867:29:87;765:2461:92;;3853:71:87;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;765:2461:92;;;3852:181:87;;3740:389;3835:242;;;;;;;;3918:5;3740:389;:::o;3835:242::-;3918:5;4058:8;:::o;3852:181::-;765:2461:92;;3945:88:87;;;-1:-1:-1;;;;;765:2461:92;;;;3853:71:87;3945:88;;765:2461:92;467:2:99;765:2461:92;;;;;;;;;;;-1:-1:-1;765:2461:92;;;;;;;;3959:31:87;765:2461:92;3945:88:87;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;;;3945:88;;;;;;-1:-1:-1;3945:88:87;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;765:2461:92;;3670:20:30;3666:88;;1991:1;765:2461:92;;3470:384:30:o;3666:88::-;765:2461:92;;-1:-1:-1;;;3713:30:30;;;;;4148:103:23;-1:-1:-1;765:2461:92;;;-1:-1:-1;;;;;;;;;;;765:2461:92;;;;;;;;966:10:28;765:2461:92;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;7270:387::-;-1:-1:-1;;;;;765:2461:92;;-1:-1:-1;765:2461:92;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;765:2461:92;;;;-1:-1:-1;765:2461:92;;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;-1:-1:-1;;765:2461:92;7509:4:23;765:2461:92;;;966:10:28;;-1:-1:-1;;;;;765:2461:92;-1:-1:-1;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;;;;;765:2461:92;;-1:-1:-1;765:2461:92;;;;;;;;;1356:26:87;;-1:-1:-1;;;;;;;;;;;2887:71:23;765:2461:92;;3901:31:23;765:2461:92;;;;-1:-1:-1;765:2461:92;;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;-1:-1:-1;;765:2461:92;7509:4:23;765:2461:92;;;966:10:28;;-1:-1:-1;;;;;765:2461:92;;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;765:2461:92;;;-1:-1:-1;;;;;;;;;;;765:2461:92;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;3901:31:23;765:2461:92;7892:388:23;-1:-1:-1;765:2461:92;;;-1:-1:-1;;;;;;;;;;;765:2461:92;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;;;;;;-1:-1:-1;765:2461:92;;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;-1:-1:-1;;765:2461:92;;;966:10:28;;-1:-1:-1;;;;;765:2461:92;;8155:40:23;-1:-1:-1;;8155:40:23;765:2461:92;8209:11:23;:::o;765:2461:92:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;;:::i;5907:716:87:-;6030:34;5907:716;6030:34;;;;:::i;:::-;-1:-1:-1;765:2461:92;;-1:-1:-1;;;6080:41:87;;-1:-1:-1;;;;;765:2461:92;;;6080:41:87;;;765:2461:92;;;;6080:41:87;765:2461:92;;;6090:13:87;765:2461:92;;6080:41:87;;;;;;;-1:-1:-1;6080:41:87;;;5907:716;6079:42;;6075:90;;6210:14;2684:111:30;;;:::i;:::-;765:2461:92;;;;;;-1:-1:-1;;;;;765:2461:92;;-1:-1:-1;765:2461:92;;;-1:-1:-1;765:2461:92;;6210:14:87;765:2461:92;;;;:::i;:::-;6080:41:87;6311:15;;765:2461:92;;;;-1:-1:-1;;;;;;765:2461:92;-1:-1:-1;;;;;765:2461:92;;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;6337:143:87;;5907:716;-1:-1:-1;6493:28:87;765:2461:92;-1:-1:-1;;;;;765:2461:92;;;;;;;6489:128:87;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;765:2461:92;;-1:-1:-1;;;6144:10:87;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;6893:76:26;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;765:2461:92;6893:76:26:o;765:2461:92:-;;;;;;;;;;-1:-1:-1;;;;;765:2461:92;;;;;;;-1:-1:-1;765:2461:92;;;;;;;;;;;;:::o;7084:141:26:-;765:2461:92;-1:-1:-1;;;;;;;;;;;765:2461:92;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;765:2461:92;;-1:-1:-1;;;7191:17:26;;;;","linkReferences":{},"immutableReferences":{"59800":[{"start":1571,"length":32}],"59803":[{"start":2911,"length":32}],"60754":[{"start":1167,"length":32},{"start":2968,"length":32}],"60757":[{"start":711,"length":32},{"start":6731,"length":32}],"60760":[{"start":779,"length":32},{"start":5693,"length":32}],"60763":[{"start":847,"length":32},{"start":5819,"length":32}],"63073":[{"start":2621,"length":32},{"start":4496,"length":32}],"63075":[{"start":643,"length":32},{"start":5263,"length":32}],"63077":[{"start":3578,"length":32},{"start":5457,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","FULL_RESTAKE_DELEGATOR_HINTS()":"e102831a","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_REGISTRY()":"c0cd7c3e","NETWORK_RESTAKE_DELEGATOR_HINTS()":"075db036","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeBaseHints(address,bytes32,address,uint48)":"1bf10a3e","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints_\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"FULL_RESTAKE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_RESTAKE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"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\":[{\"internalType\":\"address\",\"name\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeBaseHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"BaseDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"optInServiceHints","type":"address"},{"internalType":"address","name":"vaultHints_","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":"AlreadySet"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"FULL_RESTAKE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_RESTAKE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeBaseHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"BaseDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":92} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"optInServiceHints","type":"address","internalType":"address"},{"name":"vaultHints_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_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":"FULL_RESTAKE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_RESTAKE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeBaseHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","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":"AlreadySet","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"bytecode":{"object":"0x6101c03461027157618c446001600160401b03601f38839003908101601f191684019082821185831017610202578085916040958694855283398101031261027157610056602061004f85610275565b9401610275565b90306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460ff81861c166102605780838080931603610220575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609280845281516138338082019082821088831117610202578389849361010093611ef286393081526001600160a01b0391821660208201529116604082015260600190565b03905ff09485156102165760018060a01b0396876101809716875283519261351f91828501938585109085111761020257849361015c9361572586393081526001600160a01b0391821660208201529116604082015260600190565b03905ff09485156101f8576101a0951685525194611c68968761028a883960805187505060a05187610623015260c05187610b5f015260e05187818161048f0152610b980152518681816102c70152611a4b01525185818161030b015261163d01525184818161034f01526116bb015251838181610a3d0152611190015251828181610283015261148f015251818181610dfa01526115510152f35b50513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b82513d5f823e3d90fd5b6001600160401b03191617905582518181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8181610094565b845163f92ee8a960e01b8152600490fd5b5f80fd5b51906001600160a01b03821682036102715756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610214578063075db0361461020f578063103f29071461020a578063128e5d82146102055780631a80e500146102005780631bf10a3e146101fb57806323f752d5146101f6578063248a9ca3146101f157806325dc9708146101ec5780632dd31000146101e75780632f2ff15d146101e257806336568abe146101dd5780633dfd3873146101d8578063439fab91146101d3578063557cab44146101ce5780636679191e146101c95780637f5a7c7b146101c457806391d14854146101bf5780639b656b22146101ba5780639f86fd85146101b5578063a217fddf146101b0578063bb24fe8a146101ab578063c0cd7c3e146101a6578063d15b740e146101a1578063d547741f1461019c578063e02f693714610197578063e102831a14610192578063e49561ee1461018d578063fbfa77cf14610188578063fd4d447c14610183578063ff54740f1461017e5763ffa1ad7414610179575f80fd5b61108a565b61106d565b61103b565b611014565b610e29565b610de5565b610d02565b610bf1565b610bc7565b610b83565b610b40565b610b26565b610a6c565b610a28565b6109ca565b6109a2565b610968565b61094c565b61080f565b6106e9565b61069e565b610652565b61060e565b6105f1565b6105b8565b61043c565b610407565b61033a565b6102f6565b6102b2565b61026e565b3461026a57602036600319011261026a5760043563ffffffff60e01b811680910361026a57602090637965db0b60e01b8114908115610259575b506040519015158152f35b6301ffc9a760e01b1490505f61024e565b5f80fd5b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361026a57565b6064359065ffffffffffff8216820361026a57565b608090600319011261026a576004356103bc8161037e565b90602435906044356103cd8161037e565b9060643565ffffffffffff8116810361026a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461026a5761043861042461041b366103a4565b92919091611168565b6040519182916020835260208301906103e3565b0390f35b3461026a57604036600319011261026a576004356001600160601b038116810361026a576024359061046c611732565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f91610584575b5015610572576001600160601b03166bffffffffffffffffffffffff193360601b161790806104f6835f52600260205260405f2090565b541461056057610545817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610534855f52600260205260405f2090565b556040519081529081906020820190565b0390a261055e60015f80516020611bf383398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6105a6915060203d6020116105ac575b61059e8183610c71565b8101906113b9565b5f6104bf565b503d610594565b6110bd565b3461026a57602036600319011261026a576004355f525f80516020611bd38339815191526020526020600160405f200154604051908152f35b3461026a57610438610424610605366103a4565b929190916113f0565b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57604036600319011261026a5761055e6024356004356106758261037e565b805f525f80516020611bd3833981519152602052610699600160405f200154611761565b611918565b3461026a57604036600319011261026a576024356106bb8161037e565b336001600160a01b038216036106d75761055e9060043561194e565b60405163334bd91960e11b8152600490fd5b3461026a57602036600319011261026a576004356107068161037e565b61070e611732565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff16156107c457506001546001600160a01b039182169181168214610560576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020611bf383398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b9181601f8401121561026a578235916001600160401b03831161026a576020838186019501011161026a57565b3461026a57602036600319011261026a576001600160401b0360043581811161026a576108409036906004016107e2565b5f80516020611c13833981519152549260ff8460401c1615931680159081610944575b600114908161093a575b159081610931575b5061091f575f80516020611c13833981519152805467ffffffffffffffff191660011790556108a891836108f657611a16565b6108ae57005b5f80516020611c13833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611c13833981519152805460ff60401b191668010000000000000000179055611a16565b60405163f92ee8a960e01b8152600490fd5b9050155f610875565b303b15915061086d565b849150610863565b3461026a575f36600319011261026a576020604051614e208152f35b3461026a575f36600319011261026a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461026a575f36600319011261026a576001546040516001600160a01b039091168152602090f35b3461026a57604036600319011261026a57602060ff610a1c6024356109ee8161037e565b6004355f525f80516020611bd3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a5760408060031936011261026a57600435610a8a8161037e565b602435906001600160401b03821161026a575f8091610ab0610b149436906004016107e2565b908187519283928337810184815203915af43d15610b1c57610b063d610ad581610ca1565b90610ae286519283610c71565b81523d5f602083013e5b8451948593151560208501528084015260608301906103e3565b03601f198101835282610c71565b805190602001fd5b610b066060610aec565b3461026a575f36600319011261026a5760206040515f8152f35b3461026a575f36600319011261026a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57602036600319011261026a576004355f526002602052602060405f2054604051908152f35b3461026a57604036600319011261026a5761055e602435600435610c148261037e565b805f525f80516020611bd3833981519152602052610c38600160405f200154611761565b61194e565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610c6c57604052565b610c3d565b90601f801991011681019081106001600160401b03821117610c6c57604052565b60405190610c9f82610c51565b565b6001600160401b038111610c6c57601f01601f191660200190565b81601f8201121561026a57803590610cd382610ca1565b92610ce16040519485610c71565b8284526020838301011161026a57815f926020809301838601378301015290565b3461026a5760808060031936011261026a57610d1f60243561037e565b60443565ffffffffffff81160361026a576001600160401b0360643581811161026a57610d50903690600401610cbc565b5060606020604051610d6181610c51565b828152015260605180610d79575b60206040515f8152f35b8281016020821261026a5783519183831161026a5782604091031261026a5760405193610da585610c51565b8281015184811161026a578282610dbe928601016110c8565b855260a083015193841161026a57602093610dda9301016110c8565b9101525f8080610d6f565b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a5760a036600319011261026a57602435600435610e498261037e565b60443591610e5561038f565b90608435906001600160401b03821161026a57610e7760049236908401610cbc565b610e7f611732565b5f54602090610ea490610e98906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156105b3575f93610fe3575b506001600160a01b039283163303610fd1576001546001600160a01b0316838116610f46575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361055e60015f80516020611bf383398151915255565b909360405194610f7d86610f6f602082019363724ab0f760e11b8552858c898d602487016115d0565b03601f198101885287610c71565b62042e305a10610fbf575f610f2d938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093610eec565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61100691935060203d60201161100d575b610ffe8183610c71565b8101906110a5565b915f610ec6565b503d610ff4565b3461026a575f36600319011261026a575f546040516001600160a01b039091168152602090f35b3461026a57604036600319011261026a57602061106560243561105d8161037e565b600435611608565b604051908152f35b3461026a575f36600319011261026a5760206040516203d0908152f35b3461026a575f36600319011261026a57602060405160018152f35b9081602091031261026a57516110ba8161037e565b90565b6040513d5f823e3d90fd5b81601f8201121561026a578051906110df82610ca1565b926110ed6040519485610c71565b8284526020838301011161026a57815f9260208093018386015e8301015290565b9060208282031261026a5781516001600160401b03811161026a576110ba92016110c8565b906110ba91602081526020611153835160408385015260608401906103e3565b920151906040601f19828503019101526103e3565b604080516309472ec160e11b8152606096956001600160a01b039384169591946020949192917f0000000000000000000000000000000000000000000000000000000000000000169085876004818b5afa9687156105b3575f9761139a575b50845163fbfa77cf60e01b81529686886004818c5afa80156105b357855f9161123b9a839161137d575b508851636a531c3160e11b8082526001600160a01b039586166004830152858916602483015294909116604482015265ffffffffffff909116606482015298899081906084820190565b0381865afa9788156105b3575f98611358575b508686979899600496975196878092621a80e560e81b82525afa9485156105b3575f95611335575b5086519081526001600160a01b03948516600482015293909216602484015260609190911c604483015265ffffffffffff9092166064820152905f9082908180608481015b03915afa9081156105b3575f91611313575b50835115801590611309575b6112e35750505050565b6110ba9394955090610b06916112f7610c92565b95865283860152519384928301611133565b50805115156112d9565b61132f91503d805f833e6113278183610c71565b81019061110e565b5f6112cd565b5f95506113516112bb918a3d8c1161100d57610ffe8183610c71565b9550611276565b8798509661137360049697983d805f833e6113278183610c71565b989796955061124e565b61139491508a3d8c1161100d57610ffe8183610c71565b5f6111f1565b6113b2919750863d881161100d57610ffe8183610c71565b955f6111c7565b9081602091031261026a5751801515810361026a5790565b9081602091031261026a57516001600160401b038116810361026a5790565b604051635d927f4560e11b8082526060969594936001600160a01b03939092909160209190858416908383600481855afa9283156105b3575f936115b1575b506001600160401b039283166114d65750506040516304bb92e160e31b81526001600160a01b0393841660048201526024810194909452505092909216604483015265ffffffffffff9290921660648201529192505f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f916114c2575090565b6110ba91503d805f833e6113278183610c71565b839060046040518094819382525afa9081156105b3576001935f92611584575b50501614611505575050505050565b6040516304bb92e160e31b81526001600160a01b039182166004820152602481019290925292909216604483015265ffffffffffff9290921660648201529192505f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f916114c2575090565b6115a39250803d106115aa575b61159b8183610c71565b8101906113d1565b5f806114f6565b503d611591565b6115c9919350843d86116115aa5761159b8183610c71565b915f61142f565b919360a0936110ba969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103e3565b5f546040516308834cb560e21b8082526001600160a01b038581166004840152928316602483015293602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156105b3575f91611715575b501593841561168a575b505050509050611686575f90565b5f90565b6040519586526001600160a01b0392909216600486015260609190911c6024850152909291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156105b3575f926116f8575b505015805f808080611678565b61170e9250803d106105ac5761059e8183610c71565b5f806116eb565b61172c9150843d86116105ac5761059e8183610c71565b5f61166e565b5f80516020611bf3833981519152600281541461174f5760029055565b604051633ee5aeb560e01b8152600490fd5b5f8181525f80516020611bd38339815191526020908152604080832033845290915290205460ff16156107c45750565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020611bd38339815191529060ff1661183c575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020611bd38339815191529060ff905b5416611911575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020611bd3833981519152602081815260408084206001600160a01b038716855290915290912060ff906118ad565b5f8181525f80516020611bd3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611911575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261026a5780356119f88161037e565b9260208201356001600160401b03811161026a576110ba9201610cbc565b611a22918101906119e0565b506040516302910f8b60e31b81526001600160a01b0391821660048201819052906020816024817f000000000000000000000000000000000000000000000000000000000000000087165afa9081156105b3575f91611b34575b5015611b2257611aa990611a8e611b53565b60018060a01b03166001600160601b0360a01b5f5416175f55565b611afc6040611ab6611b76565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116611b12575b5001516001600160a01b031690565b908116611b065750565b611b0f90611842565b50565b611b1b90611791565b505f611aed565b6040516362df054560e01b8152600490fd5b611b4d915060203d6020116105ac5761059e8183610c71565b5f611a7c565b611b5b611ba4565b611b63611ba4565b60015f80516020611bf383398151915255565b60405190606082018281106001600160401b03821117610c6c576040525f6040838281528260208201520152565b60ff5f80516020611c138339815191525460401c1615611bc057565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212208c8cb609a14ad0196f2716730b417869a08c533b532b4fc28fabc1ee690e133164736f6c634300081900336101c0346101cf57601f61383338819003918201601f19168301916001600160401b0391828411858510176101d35781606092869260409687528339810103126101cf5761004c836101e7565b926100648361005d602084016101e7565b92016101e7565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101be57808083160361017a575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609283526101809384526101a0948552519461363796876101fc88396080518781816105a001528181610fd70152611629015260a051876109e9015260c051876112ac015260e05187818161084b01526112e5015251868181610512015261298501525185818161055601528181611e330152611f3b0152518481816107c901528181611d9a0152611fb9015251838181610e95015261194d015251828181610d9701526119ee015251816110490152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101cf5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a71461030457806302145348146102ff57806307f9d5fd146102fa578063103f2907146102f5578063128e5d82146102f0578063197aa7ea146102eb5780631a7a7044146102e65780631a80e500146102e157806323f752d5146102dc578063248a9ca3146102d757806325dc9708146102d25780632dd31000146102cd5780632f2ff15d146102c857806336568abe146102c35780633dfd3873146102be5780633eb22c0f146102b957806342c53e33146102b4578063439fab91146102af57806345e78fcb146102aa578063557cab44146102a55780635d32a1c9146102a05780636679191e1461029b57806379d89614146102965780637d24bb27146102915780637f5a7c7b1461028c5780638b3f10b01461028757806391d1485414610282578063987b3ee81461027d5780639b656b22146102785780639f86fd8514610273578063a217fddf1461026e578063a33bc28714610269578063b549ef1f14610264578063bb24fe8a1461025f578063c0cd7c3e1461025a578063c43dc03f14610255578063d15b740e14610250578063d547741f1461024b578063da749d2b14610246578063e02f693714610241578063e49561ee1461023c578063e78eb6ae14610237578063ed4d89e514610232578063fbfa77cf1461022d578063fd4d447c14610228578063ff54740f146102235763ffa1ad741461021e575f80fd5b6116dc565b6116bf565b611695565b61166e565b61160e565b6115d4565b6113e9565b6113cd565b6113b3565b611367565b61133d565b611314565b6112d0565b61128d565b611273565b611126565b61110c565b611078565b611034565b610fa6565b610f48565b610f25565b610efd565b610ec4565b610e80565b610e46565b610e23565b610dc6565b610d82565b610c4a565b610bd1565b610ba8565b610aaf565b610a64565b610a18565b6109d4565b6109b7565b61097e565b6107f8565b6107b4565b61076e565b610585565b610541565b6104fd565b6104c8565b61035e565b3461035a57602036600319011261035a5760043563ffffffff60e01b811680910361035a57602090637965db0b60e01b8114908115610349575b506040519015158152f35b6301ffc9a760e01b1490505f61033e565b5f80fd5b3461035a5760408060031936011261035a57600435906024359061038061202e565b825f526002602052805f2054821161041a57825f526003602052816103a6825f206128d7565b1461040a5781610405916103f57e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103e6875f52600360205260405f2090565b6103ef42612d8e565b90612176565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b6001600160a01b0381160361035a57565b6024359065ffffffffffff8216820361035a57565b6064359065ffffffffffff8216820361035a57565b608090600319011261035a5760043561047d8161042a565b906024359060443561048e8161042a565b9060643565ffffffffffff8116810361035a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461035a576104f96104e56104dc36610465565b92919091611736565b6040519182916020835260208301906104a4565b0390f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a5761059e61043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600360205260405f206122f5565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761064357604052565b610614565b606081019081106001600160401b0382111761064357604052565b60a081019081106001600160401b0382111761064357604052565b90601f801991011681019081106001600160401b0382111761064357604052565b604051906106ac82610663565b565b604051906106ac82610628565b6001600160401b03811161064357601f01601f191660200190565b81601f8201121561035a578035906106ed826106bb565b926106fb604051948561067e565b8284526020838301011161035a57815f926020809301838601378301015290565b90608060031983011261035a57600435916024356107398161042a565b9160443565ffffffffffff8116810361035a5791606435906001600160401b03821161035a5761076b916004016106d6565b90565b3461035a5760206107ac6107a76107843661071c565b939190925f526005865260405f209060018060a01b03165f5260205260405f2090565b61242d565b604051908152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356001600160601b038116810361035a5760243590610828612505565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610979575f9161094a575b5015610938576001600160601b03166bffffffffffffffffffffffff193360601b161790806108b2835f52600260205260405f2090565b54146109265761090b817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c926108f0855f52600260205260405f2090565b556108fb8185612534565b6040519081529081906020820190565b0390a261092460015f805160206135c283398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b61096c915060203d602011610972575b610964818361067e565b8101906117e8565b5f61087b565b503d61095a565b6117fc565b3461035a57602036600319011261035a576004355f525f805160206135a28339815191526020526020600160405f200154604051908152f35b3461035a576104f96104e56109cb36610465565b92919091611904565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a57610924602435600435610a3b8261042a565b805f525f805160206135a2833981519152602052610a5f600160405f2001546120e1565b61280f565b3461035a57604036600319011261035a57602435610a818161042a565b336001600160a01b03821603610a9d5761092490600435612845565b60405163334bd91960e11b8152600490fd5b3461035a57602036600319011261035a57600435610acc8161042a565b610ad4612505565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610b8a57506001546001600160a01b039182169181168214610926576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206135c283398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461035a57602036600319011261035a576004355f52600360205260206107ac60405f206128d7565b3461035a57604036600319011261035a5760206107ac610c18602435610bf68161042a565b6004355f526005845260405f209060018060a01b03165f5260205260405f2090565b6128d7565b9181601f8401121561035a578235916001600160401b03831161035a576020838186019501011161035a57565b3461035a57602036600319011261035a576001600160401b0360043581811161035a57610c7b903690600401610c1d565b5f805160206135e2833981519152549260ff8460401c1615931680159081610d7a575b6001149081610d70575b159081610d67575b50610d55575f805160206135e2833981519152805467ffffffffffffffff19166001179055610ce39183610d3157612950565b610ce957005b5f805160206135e2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206135e2833981519152805460ff60401b1916600160401b179055612950565b60405163f92ee8a960e01b8152600490fd5b9050155f610cb0565b303b159150610ca8565b849150610c9e565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576020604051614e208152f35b606060031982011261035a576004359160243565ffffffffffff8116810361035a5791604435906001600160401b03821161035a5761076b916004016106d6565b3461035a5760206107ac610e3636610de2565b915f526003845260405f2061242d565b3461035a575f36600319011261035a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461035a575f36600319011261035a576001546040516001600160a01b039091168152602090f35b3461035a5760206107ac610f3836610de2565b915f526004845260405f2061242d565b3461035a57604036600319011261035a57602060ff610f9a602435610f6c8161042a565b6004355f525f805160206135a2833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461035a57606036600319011261035a57602435610fc38161042a565b60443565ffffffffffff8116810361035a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106025761102f6105e5926004355f52600560205260405f209060018060a01b03165f5260205260405f2090565b6122f5565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356110958161042a565b6024356001600160401b03811161035a575f916110b783923690600401610c1d565b90816040519283928337810184815203915af46111046110d5611b60565b916110f66040519384921515602084015260408084015260608301906104a4565b03601f19810183528261067e565b805190602001fd5b3461035a575f36600319011261035a5760206040515f8152f35b3461035a57606036600319011261035a576024356004356111468261042a565b6044359161115261208a565b5f8281526005602090815260408083206001600160a01b0385168452909152902061117c906128d7565b838114610926577f739a5a3ec0ff71e2386d0013deac5f44e0935a98def2e2a5ddf9a709518c8294916111ef61123c92855f52600460205260405f20906111e9886111e46111c942612d8e565b936111df610c188c5f52600460205260405f2090565b611bb6565b611bd1565b91612176565b5050611220856103e68361120b885f52600560205260405f2090565b9060018060a01b03165f5260205260405f2090565b50506040519485526001600160a01b0316939081906020820190565b0390a3005b606090600319011261035a576004356112598161042a565b906024359060443565ffffffffffff8116810361035a5790565b3461035a576104f96104e561128736611241565b91611bde565b3461035a575f36600319011261035a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57602036600319011261035a576004355f52600460205260206107ac60405f206128d7565b3461035a57602036600319011261035a576004355f526002602052602060405f2054604051908152f35b3461035a57604036600319011261035a5761092460243560043561138a8261042a565b805f525f805160206135a28339815191526020526113ae600160405f2001546120e1565b612845565b3461035a576104f96104e56113c736611241565b91611c28565b3461035a5760206107ac6113e03661071c565b92919091611d24565b3461035a5760a036600319011261035a576024356004356114098261042a565b60443591611415610450565b90608435906001600160401b03821161035a57611437600492369084016106d6565b61143f612505565b5f5460209061146490611458906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa928315610979575f936115a3575b506001600160a01b039283163303611591576001546001600160a01b0316838116611506575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361092460015f805160206135c283398151915255565b90936040519461153d8661152f602082019363724ab0f760e11b8552858c898d60248701611eae565b03601f19810188528761067e565b62042e305a1061157f575f6114ed938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f150936114ac565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6115c691935060203d6020116115cd575b6115be818361067e565b810190611872565b915f611486565b503d6115b4565b3461035a575f36600319011261035a5760206040517f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846258152f35b3461035a57604036600319011261035a5761162761043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600460205260405f206122f5565b3461035a575f36600319011261035a575f546040516001600160a01b039091168152602090f35b3461035a57604036600319011261035a5760206107ac6024356116b78161042a565b600435611f04565b3461035a575f36600319011261035a5760206040516203d0908152f35b3461035a575f36600319011261035a57602060405160018152f35b5190811515820361035a57565b519063ffffffff8216820361035a57565b919082604091031261035a5761076b602061172f846116f7565b9301611704565b906117869165ffffffffffff6117959496956060976040519463130f67dd60e31b6020870152602486015260018060a01b031660448501521660648301526064825261178182610663565b612238565b60208082518301019101611715565b9061179d5750565b90915063ffffffff604051911660208201526020815261076b81610628565b5f9081526005602090815260408083206001600160a01b0390941683529290522061076b92919061242d565b9081602091031261035a5761076b906116f7565b6040513d5f823e3d90fd5b81601f8201121561035a5780519061181e826106bb565b9261182c604051948561067e565b8284526020838301011161035a57815f9260208093018386015e8301015290565b9060208282031261035a5781516001600160401b03811161035a5761076b9201611807565b9081602091031261035a575161076b8161042a565b9061076b91602081526118a6825160a0602084015260c08301906104a4565b9060a060806118f46118e16118cd602088015196601f1997888883030160408901526104a4565b6040880151878783030160608801526104a4565b60608701518686830301848701526104a4565b94015192828503019101526104a4565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491935f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa948515610979575f95611b18575b5060405163fbfa77cf60e01b8152602081600481888d165afa908115610979576119ea995f9285928491611af9575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa978815610979575f98611acf575b509081611a3b82611a3381611a419689611c28565b958388611736565b94611bde565b90835115801590611ac5575b8015611abb575b8015611ab1575b8015611aa7575b611a6f5750505050909150565b6110f6955061076b9496611a8161069f565b948552602085015260408401526060830152608082015260405192839160208301611887565b5081511515611a62565b5082511515611a5b565b5080511515611a54565b5086511515611a4d565b611a4192919850611af1903d805f833e611ae9818361067e565b81019061184d565b979091611a1e565b611b12915060203d6020116115cd576115be818361067e565b5f6119ad565b611b2d9195503d805f833e611ae9818361067e565b935f61197e565b9061076b92915f52600360205260405f2061242d565b9061076b92915f52600460205260405f2061242d565b3d15611b8a573d90611b71826106bb565b91611b7f604051938461067e565b82523d5f602084013e565b606090565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211611bb157565b611b8f565b91908203918211611bb157565b9060018201809211611bb157565b91908201809211611bb157565b60405163ed4d89e560e01b6020820152602481019290925265ffffffffffff909216604482015260609291611795916117869161178182606481015b03601f19810184528361067e565b604051630cbd53f560e11b6020820152602481019290925265ffffffffffff90921660448201526060929161179591611786916117818260648101611c1a565b60405190611c7582610628565b60606020838281520152565b9060208282031261035a5781516001600160401b039283821161035a57019060408282031261035a5760405192611cb784610628565b825181811161035a5782611ccc918501611807565b8452602083015190811161035a57611ce49201611807565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261076b929101906104a4565b92611d3490929192828486612bb5565b929093611d3f611c68565b93805180611e92575b50508415938415611dfc575b8415611d6b575b50505050611d665790565b505f90565b602080949550611d96910151604051958694859463530e1d4360e01b865260601c9060048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611ddd575b50155f808080611d5b565b611df6915060203d60201161097257610964818361067e565b5f611dd2565b5f549094506001600160a01b0316602084865192611e2f604051948593849363530e1d4360e01b85528960048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611e73575b501593611d54565b611e8c915060203d60201161097257610964818361067e565b5f611e6b565b611ea6929550602080918301019101611c81565b925f80611d48565b919360a09361076b969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906104a4565b8115611ef0570490565b634e487b7160e01b5f52601260045260245ffd5b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa908115610979575f91612011575b5015918215611f8d575b50509050611f875761076b91612ccb565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa918215610979575f92611ff4575b505015805f80611f76565b61200a9250803d1061097257610964818361067e565b5f80611fe9565b6120289150843d861161097257610964818361067e565b5f611f6c565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b541615610b8a5750565b335f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846259060ff90612080565b5f8181525f805160206135a283398151915260209081526040808320338452909152902060ff90612080565b634e487b7160e01b5f52603260045260245ffd5b8054821015612136575f5260205f2001905f90565b61210d565b90815491600160401b831015610643578261215e9160016106ac95018155612121565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612208575b508461219384612dc0565b509490928454936121a3836128d7565b96816121f3575b50156121d0575050505f198101908111611bb15761215e85916121cc93612121565b9190565b6121cc9492936121ec926001600160d01b039091169190613486565b505061213b565b65ffffffffffff83811691161490505f6121aa565b600160401b811015610643578060016122249201845583612121565b8154905f199060031b1b191690555f612188565b5f9190829160405161226d816110f66020820194639f86fd8560e01b86523060248401526040604484015260648301906104a4565b51915afa5061227a611b60565b8051810160408282031261035a57612294602083016116f7565b916040810151916001600160401b03831161035a576122ba926020809201920101611807565b90156122c35790565b805190811561035a57602001fd5b906040516122de81610628565b915465ffffffffffff8116835260301c6020830152565b91908254905f82916005841161239d575b612311935085612f24565b9081156123915761238a61238161237b61237161234361233e61233388611ba3565b895f5260205f200190565b6122d1565b96600161236a602061235b8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612121565b90549060031b1c90565b93611ba3565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926123a881612df9565b8103908111611bb15761231193865f526123dc6123d18360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff851610156123f2575091612306565b9291506123fe90611bc3565b90612306565b9081602091031261035a5761076b90611704565b90600163ffffffff80931601918211611bb157565b918051156124fb578060208061244893518301019101612404565b916124538382613056565b92612464845165ffffffffffff1690565b9065ffffffffffff80851692168281146124ef578211918261249a575b50506124915761076b9250612f86565b50506020015190565b9091506124a78354611ba3565b63ffffffff8316149182156124c0575b50505f80612481565b6124e79192506124db6124d56123d192612418565b85613056565b5165ffffffffffff1690565b115f806124b7565b50505050506020015190565b5061076b91612f86565b5f805160206135c283398151915260028154146125225760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161254b82612dc0565b9193905083156125a95761256b916001600160d01b031690600101612121565b90549060031b1c5b8261259f575b5050612583575050565b61259b915f52600360205260405f206103ef42612d8e565b5050565b119050815f612579565b50505f612573565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206135a28339815191529060ff16611f87575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206135a28339815191529060ff905b541661272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206135a28339815191529060ff906126c7565b6001600160a01b0381165f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b5584625905f805160206135a28339815191529060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b038716855290915290912060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b8054806128fc57505f5b6001600160d01b03811615611f875760016123719201612121565b5f19908082810111611bb157825f5260205f2001015460301c6128e1565b91909160408184031261035a5780356129328161042a565b9260208201356001600160401b03811161035a5761076b92016106d6565b61295c9181019061291a565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610979575f91612a6f575b5015612a5d576129f16040916129ec612a37946129d16130be565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61323e565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612a4d575b5001516001600160a01b031690565b908116612a415750565b612a4a9061265c565b50565b612a56906125b1565b505f612a28565b6040516362df054560e01b8152600490fd5b612a88915060203d60201161097257610964818361067e565b5f6129b6565b6040519060a082018281106001600160401b038211176106435760405281608060609182815282602082015282604082015282808201520152565b9060208282031261035a5781516001600160401b039283821161035a57019060a08282031261035a57612afa61069f565b92825181811161035a5782612b10918501611807565b8452602083015181811161035a5782612b2a918501611807565b6020850152604083015181811161035a5782612b47918501611807565b6040850152606083015181811161035a5782612b64918501611807565b6060850152608083015190811161035a57612b7f9201611807565b608082015290565b9081602091031261035a575190565b60409065ffffffffffff61076b949316815281602082015201906104a4565b91939293612bc1612a8e565b94805180612caf575b5050612bdb60608601518285611b4a565b9182612bed57505050509051905f9190565b612c01612c3b9183608089015191876117bc565b916020612c1a6114586114585f5460018060a01b031690565b8189015190604051808096819463810da75d60e01b83528760048401612b96565b03915afa801561097957612c7795612c71935f92612c7c575b50612c65919260408a015191611b34565b90818082109118021890565b9061339e565b915190565b612c659250612ca29060203d602011612ca8575b612c9a818361067e565b810190612b87565b91612c54565b503d612c90565b612cc3929650602080918301019101612ac9565b935f80612bca565b612ce0610c18825f52600460205260405f2090565b9081612ced575050505f90565b612d08610c1860049461120b845f52600560205260405f2090565b5f5460405163bd49c35f60e01b81529491929160209186919082906001600160a01b03165afa9081156109795761076b945f92612d65575b50610c18612d56915f52600360205260405f2090565b9081808210911802189061339e565b612d56919250612d86610c189160203d602011612ca857612c9a818361067e565b929150612d40565b65ffffffffffff90818111612da1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612dd15750505f905f905f90565b5f19918183810111611bb1575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561076b57600181600160801b811015612f12575b612eba612eb0612ea6612e9c612e92612e88612ec697600488600160401b612ec19a1015612f05575b640100000000811015612ef8575b62010000811015612eeb575b610100811015612edf575b6010811015612ed3575b1015612ecb575b60030260011c612e81818b611ee6565b0160011c90565b612e81818a611ee6565b612e818189611ee6565b612e818188611ee6565b612e818187611ee6565b612e818186611ee6565b8093611ee6565b821190565b900390565b60011b612e71565b811c9160021b91612e6a565b60081c91811b91612e60565b60101c9160081b91612e55565b60201c9160101b91612e49565b60401c9160201b91612e3b565b50600160401b9050608082901c612e12565b91905b838210612f345750505090565b909192808316906001818518811c8301809311611bb157855f5265ffffffffffff808460205f20015416908516105f14612f73575050925b9190612f27565b909493508101809111611bb15791612f6c565b908154905f829160058411612ff0575b612fa1935084612f24565b80612fc957505f905b6001600160d01b03821615611f875761076b9160016123719201612121565b612fe3612fd8612fea92611ba3565b835f5260205f200190565b5460301c90565b90612faa565b9192612ffb81612df9565b8103908111611bb157612fa193855f5265ffffffffffff808360205f20015416908516105f1461302c575091612f96565b92915061303890611bc3565b90612f96565b6040519061304b82610628565b5f6020838281520152565b9061307f6130796130a09261306961303e565b5061307261303e565b5084612121565b506122d1565b91600165ffffffffffff845116936020828060d01b03910151169101612121565b905490604051926130b084610628565b835260031b1c602082015290565b6130c6613563565b6130ce613563565b60015f805160206135c283398151915255565b604051906130ee82610648565b5f6040838281528260208201520152565b81601f8201121561035a578051916020916001600160401b038411610643578360051b90604051946131338584018761067e565b8552838086019282010192831161035a578301905b828210613156575050505090565b83809183516131648161042a565b815201910190613148565b9060208282031261035a5781516001600160401b039283821161035a5701908181039260a0841261035a576060604051946131a986610648565b1261035a576040516131ba81610648565b83516131c58161042a565b815260208401516131d58161042a565b602082015260408401516131e88161042a565b60408201528452606083015181811161035a57826132079185016130ff565b6020850152608083015190811161035a5761322292016130ff565b604082015290565b80518210156121365760209160051b010190565b61325a9061324a6130e1565b506020808251830101910161316f565b8051519091906001600160a01b03161580613384575b613372579060208101905f5b825180518210156132f657611458613297836132a49361322a565b516001600160a01b031690565b156132e4576132c66132c26132bd61329784875161322a565b612732565b1590565b6132d25760010161327c565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015613369576114586132978361331d9361322a565b156133585761333b6132c261333661329784875161322a565b6127a0565b61334757600101613302565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580613270575060408201515115613270565b91818302915f198185099383808610950394808603951461341e57848311156134115790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118613591565b50509061076b9250611ee6565b8054600160401b8110156106435761344891600182018155612121565b61347357815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156135395761349d6134a891611ba3565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411613527578793036134ee57506134e792509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506135229161350e6135006106ae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261342b565b6134e7565b604051632520601d60e01b8152600490fd5b509061355e9161354a6135006106ae565b6001600160d01b038516602083015261342b565b5f9190565b60ff5f805160206135e28339815191525460401c161561357f57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220634e3b6b986f1093753acb2fce82d90613d9763273e8cb9fc5d156adf1a11ace64736f6c634300081900336101c0346101c857601f61351f38819003918201601f19168301916001600160401b0391828411858510176101cc5781606092869260409687528339810103126101c85761004c836101e0565b926100648361005d602084016101e0565b92016101e0565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101b7578080831603610173575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609283526101809384526101a0948552519461332a96876101f58839608051878181610696015261148c015260a0518761092d015260c0518761114b015260e0518781816107a101526111840152518681816104e2015261266601525185818161064c01528181611be00152611d0f01525184818161071f01528181611b470152611d8d015251838181610ebc015261179a015251828181610c8f015261183b0152518161104f0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101c85756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146102c4578063020cf0c2146102bf57806302145348146102ba578063103f2907146102b557806310a28b5d146102b057806311422095146102ab578063128e5d82146102a6578063197aa7ea146102a15780631a80e5001461029c57806323f752d514610297578063248a9ca31461029257806325dc97081461028d5780632dd31000146102885780632f2ff15d1461028357806336568abe1461027e5780633dfd3873146102795780633eb22c0f14610274578063439fab911461026f57806345e78fcb1461026a578063518504ba14610265578063557cab44146102605780635d32a1c91461025b5780636679191e1461025657806379d89614146102515780637d24bb271461024c5780637f5a7c7b1461024757806391d148541461024257806394d2558a1461023d5780639b656b22146102385780639f86fd8514610233578063a217fddf1461022e578063bb24fe8a14610229578063c0cd7c3e14610224578063d15b740e1461021f578063d547741f1461021a578063da749d2b14610215578063e02f693714610210578063e49561ee1461020b578063f7b0554714610206578063fbfa77cf14610201578063fd4d447c146101fc578063ff54740f146101f75763ffa1ad74146101f2575f80fd5b611557565b61153a565b611510565b6114e9565b611465565b61127a565b61125e565b611229565b6111dd565b6111b3565b61116f565b61112c565b611112565b61107e565b61103a565b610ffc565b610f4c565b610f24565b610eeb565b610ea7565b610e6d565b610e1c565b610cf8565b610cbe565b610c7a565b610b42565b610aec565b6109f3565b6109a8565b61095c565b610918565b6108fb565b6108c2565b61074e565b61070a565b61067b565b610637565b6105e8565b6105b3565b6104cd565b610410565b61032f565b3461031a57602036600319011261031a5760043563ffffffff60e01b811680910361031a57602090637965db0b60e01b8114908115610309575b506040519015158152f35b6301ffc9a760e01b1490505f6102fe565b5f80fd5b6001600160a01b0381160361031a57565b3461031a57606036600319011261031a5760243560043561034f8261031e565b6044359161035b611e02565b815f526004602052826103896103848360405f209060018060a01b03165f5260205260405f2090565b6120b3565b146103fe5760207ffc9545f07ffadfb668efd0144cdcaf2d6e2c8192dce1ea9fc131934f9c90fc7e91835f52600482526103e9856103da8360405f209060018060a01b03165f5260205260405f2090565b6103e342612b1e565b90611f58565b50506040519485526001600160a01b031693a3005b60405163a741a04560e01b8152600490fd5b3461031a5760408060031936011261031a576004359060243590610432611e5f565b825f526002602052805f205482116104bd57825f52600360205281610458825f206120b3565b146104ad57816104a8916104987e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103da875f52600360205260405f2090565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff8216820361031a57565b6044359065ffffffffffff8216820361031a57565b6064359065ffffffffffff8216820361031a57565b608090600319011261031a576004356105688161031e565b90602435906044356105798161031e565b9060643565ffffffffffff8116810361031a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461031a576105e46105d06105c736610550565b929190916115b1565b60405191829160208352602083019061058f565b0390f35b3461031a57604036600319011261031a57602061062f61038460243561060d8161031e565b6004355f526004845260405f209060018060a01b03165f5260205260405f2090565b604051908152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a57610694610511565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576106db906004355f52600360205260405f20612124565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a576004356001600160601b038116810361031a576024359061077e612229565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156108bd575f9161088e575b501561087c576001600160601b03166bffffffffffffffffffffffff193360601b16179080610808835f52600260205260405f2090565b54146103fe57610861817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610846855f52600260205260405f2090565b556108518185612258565b6040519081529081906020820190565b0390a261087a60015f805160206132b583398151915255565b005b6040516323d53b9760e21b8152600490fd5b6108b0915060203d6020116108b6575b6108a88183610d7e565b810190611649565b5f6107d1565b503d61089e565b61165d565b3461031a57602036600319011261031a576004355f525f805160206132958339815191526020526020600160405f200154604051908152f35b3461031a576105e46105d061090f36610550565b9291909161174e565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5761087a60243560043561097f8261031e565b805f525f805160206132958339815191526020526109a3600160405f200154611eb5565b612533565b3461031a57604036600319011261031a576024356109c58161031e565b336001600160a01b038216036109e15761087a90600435612569565b60405163334bd91960e11b8152600490fd5b3461031a57602036600319011261031a57600435610a108161031e565b610a18612229565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610ace57506001546001600160a01b0391821691811682146103fe576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206132b583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461031a57602036600319011261031a576004355f526003602052602061062f60405f206120b3565b9181601f8401121561031a578235916001600160401b03831161031a576020838186019501011161031a57565b3461031a57602036600319011261031a576001600160401b0360043581811161031a57610b73903690600401610b15565b5f805160206132d5833981519152549260ff8460401c1615931680159081610c72575b6001149081610c68575b159081610c5f575b50610c4d575f805160206132d5833981519152805467ffffffffffffffff19166001179055610bdb9183610c2957612631565b610be157005b5f805160206132d5833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206132d5833981519152805460ff60401b1916600160401b179055612631565b60405163f92ee8a960e01b8152600490fd5b9050155f610ba8565b303b159150610ba0565b849150610b96565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a38152f35b3461031a575f36600319011261031a576020604051614e208152f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610d4357604052565b610d14565b606081019081106001600160401b03821117610d4357604052565b608081019081106001600160401b03821117610d4357604052565b90601f801991011681019081106001600160401b03821117610d4357604052565b60405190610dac82610d63565b565b60405190610dac82610d28565b6001600160401b038111610d4357601f01601f191660200190565b81601f8201121561031a57803590610ded82610dbb565b92610dfb6040519485610d7e565b8284526020838301011161031a57815f926020809301838601378301015290565b3461031a57606036600319011261031a57610e35610511565b6044356001600160401b03811161031a57602091610e5a61062f923690600401610dd6565b906004355f526003845260405f20612798565b3461031a575f36600319011261031a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461031a575f36600319011261031a576001546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602060ff610f9e602435610f708161031e565b6004355f525f80516020613295833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b90608060031983011261031a5760043591602435610fc78161031e565b9160443565ffffffffffff8116810361031a5791606435906001600160401b03821161031a57610ff991600401610dd6565b90565b3461031a57602061062f61103561101236610faa565b939190925f526004865260405f209060018060a01b03165f5260205260405f2090565b612798565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5760043561109b8161031e565b6024356001600160401b03811161031a575f916110bd83923690600401610b15565b90816040519283928337810184815203915af461110a6110db6119a3565b916110fc60405193849215156020840152604080840152606083019061058f565b03601f198101835282610d7e565b805190602001fd5b3461031a575f36600319011261031a5760206040515f8152f35b3461031a575f36600319011261031a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57602036600319011261031a576004355f526002602052602060405f2054604051908152f35b3461031a57604036600319011261031a5761087a6024356004356112008261031e565b805f525f80516020613295833981519152602052611224600160405f200154611eb5565b612569565b3461031a57606036600319011261031a576105e46105d060043561124c8161031e565b611254610526565b90602435906119d2565b3461031a57602061062f61127136610faa565b92919091611ad1565b3461031a5760a036600319011261031a5760243560043561129a8261031e565b604435916112a661053b565b90608435906001600160401b03821161031a576112c860049236908401610dd6565b6112d0612229565b5f546020906112f5906112e9906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156108bd575f93611434575b506001600160a01b039283163303611422576001546001600160a01b0316838116611397575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361087a60015f805160206132b583398151915255565b9093604051946113ce866113c0602082019363724ab0f760e11b8552858c898d60248701611c5b565b03601f198101885287610d7e565b62042e305a10611410575f61137e938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f1509361133d565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61145791935060203d60201161145e575b61144f8183610d7e565b8101906116d3565b915f611317565b503d611445565b3461031a57606036600319011261031a576024356114828161031e565b61148a610526565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576114e46106db926004355f52600460205260405f209060018060a01b03165f5260205260405f2090565b612124565b3461031a575f36600319011261031a575f546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602061062f6024356115328161031e565b600435611cd8565b3461031a575f36600319011261031a5760206040516203d0908152f35b3461031a575f36600319011261031a57602060405160018152f35b5190811515820361031a57565b519063ffffffff8216820361031a57565b919082604091031261031a57610ff960206115aa84611572565b930161157f565b91939265ffffffffffff906060956040519363f7b0554760e01b6020860152602485015260018060a01b031660448401521660648201526064815260a08101908082106001600160401b03831117610d4357611622926116139260405261201a565b60208082518301019101611590565b9061162a5750565b90915063ffffffff6040519116602082015260208152610ff981610d28565b9081602091031261031a57610ff990611572565b6040513d5f823e3d90fd5b81601f8201121561031a5780519061167f82610dbb565b9261168d6040519485610d7e565b8284526020838301011161031a57815f9260208093018386015e8301015290565b9060208282031261031a5781516001600160401b03811161031a57610ff99201611668565b9081602091031261031a5751610ff98161031e565b90610ff9916020815261170782516080602084015260a083019061058f565b906080606061173e61172b602087015195601f19968787830301604088015261058f565b604087015186868303018487015261058f565b940151928285030191015261058f565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491939091905f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa9485156108bd575f95611945575b5060405163fbfa77cf60e01b8152602081600481888d165afa9081156108bd57611837995f9286928491611926575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9788156108bd575f986118fa575b50908161187d846118839594876119d2565b946115b1565b908251158015906118f0575b80156118e6575b80156118dc575b6118a957505050909150565b6110fc9450610ff993956118bb610d9f565b938452602084015260408301526060820152604051928391602083016116e8565b508151151561189d565b5080511515611896565b508551151561188f565b611883939291985061191d903d805f833e6119158183610d7e565b8101906116ae565b9790919261186b565b61193f915060203d60201161145e5761144f8183610d7e565b5f6117fa565b61195a9195503d805f833e6119158183610d7e565b935f6117cb565b90610ff992915f52600360205260405f20612798565b5f9081526004602090815260408083206001600160a01b03909416835292905220610ff9929190612798565b3d156119cd573d906119b482610dbb565b916119c26040519384610d7e565b82523d5f602084013e565b606090565b611622916116139194939465ffffffffffff60609660405193630cbd53f560e11b6020860152602485015216604483015260448252611a1082610d63565b61201a565b60405190611a2282610d28565b60606020838281520152565b9060208282031261031a5781516001600160401b039283821161031a57019060408282031261031a5760405192611a6484610d28565b825181811161031a5782611a79918501611668565b8452602083015190811161031a57611a919201611668565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff9091166040820152608060608201819052610ff99291019061058f565b92611ae190929192828486612973565b929093611aec611a15565b93805180611c3f575b50508415938415611ba9575b8415611b18575b50505050611b135790565b505f90565b602080949550611b43910151604051958694859463530e1d4360e01b865260601c9060048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611b8a575b50155f808080611b08565b611ba3915060203d6020116108b6576108a88183610d7e565b5f611b7f565b5f549094506001600160a01b0316602084865192611bdc604051948593849363530e1d4360e01b85528960048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611c20575b501593611b01565b611c39915060203d6020116108b6576108a88183610d7e565b5f611c18565b611c53929550602080918301019101611a2e565b925f80611af5565b919360a093610ff9969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061058f565b634e487b7160e01b5f52601160045260245ffd5b8115611cb1570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611cd357565b611c93565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156108bd575f91611de5575b5015918215611d61575b50509050611d5b57610ff991612a6e565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156108bd575f92611dc8575b505015805f80611d4a565b611dde9250803d106108b6576108a88183610d7e565b5f80611dbd565b611dfc9150843d86116108b6576108a88183610d7e565b5f611d40565b335f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a39060ff905b541615610ace5750565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff90611e55565b5f8181525f8051602061329583398151915260209081526040808320338452909152902060ff90611e55565b634e487b7160e01b5f52603260045260245ffd5b8054821015611f0a575f5260205f2001905f90565b611ee1565b90815491600160401b831015610d435782611f32916001610dac95018155611ef5565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611cd357565b90929192600182019081548015611fea575b5084611f7584612b50565b50949092845493611f85836120b3565b9681611fd5575b5015611fb2575050505f198101908111611cd357611f328591611fae93611ef5565b9190565b611fae949293611fce926001600160d01b039091169190613189565b5050611f0f565b65ffffffffffff83811691161490505f611f8c565b600160401b811015610d43578060016120069201845583611ef5565b8154905f199060031b1b191690555f611f6a565b5f9190829160405161204f816110fc6020820194639f86fd8560e01b865230602484015260406044840152606483019061058f565b51915afa5061205c6119a3565b8051810160408282031261031a5761207660208301611572565b916040810151916001600160401b03831161031a5761209c926020809201920101611668565b90156120a55790565b805190811561031a57602001fd5b8054806120e257505f5b6001600160d01b03811615611d5b5760016120d89201611ef5565b90549060031b1c90565b5f19908082810111611cd357825f5260205f2001015460301c6120bd565b9060405161210d81610d28565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116121c2575b612140935085612cb4565b9081156121b6576121af6121a66121a06120d861217261216d61216288611f4a565b895f5260205f200190565b612100565b966001612199602061218a8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611ef5565b93611f4a565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926121cd81612b89565b8103908111611cd35761214093865f526122016121f68360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015612217575091612135565b92915061222390611cc5565b90612135565b5f805160206132b583398151915260028154146122465760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161226f82612b50565b9193905083156122cd5761228f916001600160d01b031690600101611ef5565b90549060031b1c5b826122c3575b50506122a7575050565b6122bf915f52600360205260405f206103e342612b1e565b5050565b119050815f61229d565b50505f612297565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206132958339815191529060ff16611d5b575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206132958339815191529060ff905b541661244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206132958339815191529060ff906123eb565b6001600160a01b0381165f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a3905f805160206132958339815191529060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b038716855290915290912060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261031a5780356126138161031e565b9260208201356001600160401b03811161031a57610ff99201610dd6565b61263d918101906125fb565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156108bd575f91612750575b501561273e576126d26040916126cd612718946126b2612d16565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612e96565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661272e575b5001516001600160a01b031690565b9081166127225750565b61272b90612380565b50565b612737906122d5565b505f612709565b6040516362df054560e01b8152600490fd5b612769915060203d6020116108b6576108a88183610d7e565b5f612697565b9081602091031261031a57610ff99061157f565b90600163ffffffff80931601918211611cd357565b9180511561286657806020806127b39351830101910161276f565b916127be83826130c6565b926127cf845165ffffffffffff1690565b9065ffffffffffff808516921682811461285a5782119182612805575b50506127fc57610ff99250612ff6565b50506020015190565b9091506128128354611f4a565b63ffffffff83161491821561282b575b50505f806127ec565b6128529192506128466128406121f692612783565b856130c6565b5165ffffffffffff1690565b115f80612822565b50505050506020015190565b50610ff991612ff6565b60405190608082018281106001600160401b03821117610d4357604052606080838181528160208201528160408201520152565b9060208282031261031a5781516001600160401b039283821161031a57019060808282031261031a576128d5610d9f565b92825181811161031a57826128eb918501611668565b8452602083015181811161031a5782612905918501611668565b6020850152604083015181811161031a5782612922918501611668565b6040850152606083015190811161031a5761293d9201611668565b606082015290565b9081602091031261031a575190565b60409065ffffffffffff610ff99493168152816020820152019061058f565b9391909361297f612870565b93805180612a4e575b50506129c992939460206129a86112e96112e95f5460018060a01b031690565b8188015190604051808098819463810da75d60e01b83528960048401612954565b03915afa9182156108bd57612a10945f93612a15575b50612a0490612a0493946129f860408a01518284611961565b9360608a015192611977565b90818082109118021890565b915190565b612a04935090612a3f612a049260203d602011612a47575b612a378183610d7e565b810190612945565b9350906129df565b503d612a2d565b6129c994955090602080612a669383010191016128a4565b93925f612988565b5f5460405163bd49c35f60e01b81529290602090849060049082906001600160a01b03165afa9283156108bd575f93612af5575b50610384612ae091612abf610384855f52600360205260405f2090565b935f52600460205260405f209060018060a01b03165f5260205260405f2090565b90818082109118021890818082109118021890565b612ae0919350612b166103849160203d602011612a4757612a378183610d7e565b939150612aa2565b65ffffffffffff90818111612b31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612b615750505f905f905f90565b5f19918183810111611cd3575f5260205f2001015460019165ffffffffffff82169160301c90565b6001811115610ff957600181600160801b811015612ca2575b612c4a612c40612c36612c2c612c22612c18612c5697600488600160401b612c519a1015612c95575b640100000000811015612c88575b62010000811015612c7b575b610100811015612c6f575b6010811015612c63575b1015612c5b575b60030260011c612c11818b611ca7565b0160011c90565b612c11818a611ca7565b612c118189611ca7565b612c118188611ca7565b612c118187611ca7565b612c118186611ca7565b8093611ca7565b821190565b900390565b60011b612c01565b811c9160021b91612bfa565b60081c91811b91612bf0565b60101c9160081b91612be5565b60201c9160101b91612bd9565b60401c9160201b91612bcb565b50600160401b9050608082901c612ba2565b91905b838210612cc45750505090565b909192808316906001818518811c8301809311611cd357855f5265ffffffffffff808460205f20015416908516105f14612d03575050925b9190612cb7565b909493508101809111611cd35791612cfc565b612d1e613266565b612d26613266565b60015f805160206132b583398151915255565b60405190612d4682610d48565b5f6040838281528260208201520152565b81601f8201121561031a578051916020916001600160401b038411610d43578360051b9060405194612d8b85840187610d7e565b8552838086019282010192831161031a578301905b828210612dae575050505090565b8380918351612dbc8161031e565b815201910190612da0565b9060208282031261031a5781516001600160401b039283821161031a5701908181039260a0841261031a57606060405194612e0186610d48565b1261031a57604051612e1281610d48565b8351612e1d8161031e565b81526020840151612e2d8161031e565b60208201526040840151612e408161031e565b60408201528452606083015181811161031a5782612e5f918501612d57565b6020850152608083015190811161031a57612e7a9201612d57565b604082015290565b8051821015611f0a5760209160051b010190565b612eb290612ea2612d39565b5060208082518301019101612dc7565b8051519091906001600160a01b03161580612fdc575b612fca579060208101905f5b82518051821015612f4e576112e9612eef83612efc93612e82565b516001600160a01b031690565b15612f3c57612f1e612f1a612f15612eef848751612e82565b612456565b1590565b612f2a57600101612ed4565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015612fc1576112e9612eef83612f7593612e82565b15612fb057612f93612f1a612f8e612eef848751612e82565b6124c4565b612f9f57600101612f5a565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580612ec8575060408201515115612ec8565b908154905f829160058411613060575b613011935084612cb4565b8061303957505f905b6001600160d01b03821615611d5b57610ff99160016120d89201611ef5565b61305361304861305a92611f4a565b835f5260205f200190565b5460301c90565b9061301a565b919261306b81612b89565b8103908111611cd35761301193855f5265ffffffffffff808360205f20015416908516105f1461309c575091613006565b9291506130a890611cc5565b90613006565b604051906130bb82610d28565b5f6020838281520152565b906130ef6130e9613110926130d96130ae565b506130e26130ae565b5084611ef5565b50612100565b91600165ffffffffffff845116936020828060d01b03910151169101611ef5565b9054906040519261312084610d28565b835260031b1c602082015290565b8054600160401b811015610d435761314b91600182018155611ef5565b61317657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b8054929392801561323c576131a06131ab91611f4a565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161322a578793036131f157506131ea92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b91505061322591613211613203610dae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261312e565b6131ea565b604051632520601d60e01b8152600490fd5b50906132619161324d613203610dae565b6001600160d01b038516602083015261312e565b5f9190565b60ff5f805160206132d58339815191525460401c161561328257565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204499a4e541806b6efe7986c303b25f7c58d6541a27cb7ee070507be47989947d64736f6c63430008190033","sourceMap":"765:2461:94:-:0;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:95;;332:21;;8837:64:26;765:2461:94;;;;;;;7896:76:26;;765:2461:94;;;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:82;;;-1:-1:-1;525:17:82;;-1:-1:-1;552:12:82;;-1:-1:-1;2360:34:89;;2404:28;;-1:-1:-1;2404:28:89;;2442:57;;-1:-1:-1;2442:57:89;;2509:61;;-1:-1:-1;2509:61:89;;1248:40:94;;;;;765:2461;;1352:79;;;;;;;;;;;;;;;;;;;;;;;348:4:95;765:2461:94;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;;;;;;1352:79;;;-1:-1:-1;1352:79:94;;;;;;765:2461;;;;;1298:134;;;765:2461;;1298:134;;765:2461;;1493:76;;;;;;;;;;;;;;;;;;;;;;;348:4:95;765:2461:94;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;;;;;;1493:76;;;-1:-1:-1;1493:76:94;;;;;;1442:128;765:2461;;1442:128;;765:2461;;;;;;;;332:21:95;765:2461:94;;;;525:17:82;765:2461:94;;;;;552:12:82;765:2461:94;;;;;2360:34:89;765:2461:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1493:76;765:2461;;;-1:-1:-1;765:2461:94;;;;;1493:76;765:2461;;;-1:-1:-1;765:2461:94;;;;;-1:-1:-1;765:2461:94;1352:79;765:2461;;;-1:-1:-1;765:2461:94;;;;;7981:146:26;-1:-1:-1;;;;;;765:2461:94;;;;;;;;;8087:29:26;;765:2461:94;;8087:29:26;7981:146;;;;;7896:76;765:2461:94;;-1:-1:-1;;;7938:23:26;;;;;765:2461:94;-1:-1:-1;765:2461:94;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610214578063075db0361461020f578063103f29071461020a578063128e5d82146102055780631a80e500146102005780631bf10a3e146101fb57806323f752d5146101f6578063248a9ca3146101f157806325dc9708146101ec5780632dd31000146101e75780632f2ff15d146101e257806336568abe146101dd5780633dfd3873146101d8578063439fab91146101d3578063557cab44146101ce5780636679191e146101c95780637f5a7c7b146101c457806391d14854146101bf5780639b656b22146101ba5780639f86fd85146101b5578063a217fddf146101b0578063bb24fe8a146101ab578063c0cd7c3e146101a6578063d15b740e146101a1578063d547741f1461019c578063e02f693714610197578063e102831a14610192578063e49561ee1461018d578063fbfa77cf14610188578063fd4d447c14610183578063ff54740f1461017e5763ffa1ad7414610179575f80fd5b61108a565b61106d565b61103b565b611014565b610e29565b610de5565b610d02565b610bf1565b610bc7565b610b83565b610b40565b610b26565b610a6c565b610a28565b6109ca565b6109a2565b610968565b61094c565b61080f565b6106e9565b61069e565b610652565b61060e565b6105f1565b6105b8565b61043c565b610407565b61033a565b6102f6565b6102b2565b61026e565b3461026a57602036600319011261026a5760043563ffffffff60e01b811680910361026a57602090637965db0b60e01b8114908115610259575b506040519015158152f35b6301ffc9a760e01b1490505f61024e565b5f80fd5b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361026a57565b6064359065ffffffffffff8216820361026a57565b608090600319011261026a576004356103bc8161037e565b90602435906044356103cd8161037e565b9060643565ffffffffffff8116810361026a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461026a5761043861042461041b366103a4565b92919091611168565b6040519182916020835260208301906103e3565b0390f35b3461026a57604036600319011261026a576004356001600160601b038116810361026a576024359061046c611732565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f91610584575b5015610572576001600160601b03166bffffffffffffffffffffffff193360601b161790806104f6835f52600260205260405f2090565b541461056057610545817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610534855f52600260205260405f2090565b556040519081529081906020820190565b0390a261055e60015f80516020611bf383398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6105a6915060203d6020116105ac575b61059e8183610c71565b8101906113b9565b5f6104bf565b503d610594565b6110bd565b3461026a57602036600319011261026a576004355f525f80516020611bd38339815191526020526020600160405f200154604051908152f35b3461026a57610438610424610605366103a4565b929190916113f0565b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57604036600319011261026a5761055e6024356004356106758261037e565b805f525f80516020611bd3833981519152602052610699600160405f200154611761565b611918565b3461026a57604036600319011261026a576024356106bb8161037e565b336001600160a01b038216036106d75761055e9060043561194e565b60405163334bd91960e11b8152600490fd5b3461026a57602036600319011261026a576004356107068161037e565b61070e611732565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff16156107c457506001546001600160a01b039182169181168214610560576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020611bf383398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b9181601f8401121561026a578235916001600160401b03831161026a576020838186019501011161026a57565b3461026a57602036600319011261026a576001600160401b0360043581811161026a576108409036906004016107e2565b5f80516020611c13833981519152549260ff8460401c1615931680159081610944575b600114908161093a575b159081610931575b5061091f575f80516020611c13833981519152805467ffffffffffffffff191660011790556108a891836108f657611a16565b6108ae57005b5f80516020611c13833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611c13833981519152805460ff60401b191668010000000000000000179055611a16565b60405163f92ee8a960e01b8152600490fd5b9050155f610875565b303b15915061086d565b849150610863565b3461026a575f36600319011261026a576020604051614e208152f35b3461026a575f36600319011261026a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461026a575f36600319011261026a576001546040516001600160a01b039091168152602090f35b3461026a57604036600319011261026a57602060ff610a1c6024356109ee8161037e565b6004355f525f80516020611bd3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a5760408060031936011261026a57600435610a8a8161037e565b602435906001600160401b03821161026a575f8091610ab0610b149436906004016107e2565b908187519283928337810184815203915af43d15610b1c57610b063d610ad581610ca1565b90610ae286519283610c71565b81523d5f602083013e5b8451948593151560208501528084015260608301906103e3565b03601f198101835282610c71565b805190602001fd5b610b066060610aec565b3461026a575f36600319011261026a5760206040515f8152f35b3461026a575f36600319011261026a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57602036600319011261026a576004355f526002602052602060405f2054604051908152f35b3461026a57604036600319011261026a5761055e602435600435610c148261037e565b805f525f80516020611bd3833981519152602052610c38600160405f200154611761565b61194e565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610c6c57604052565b610c3d565b90601f801991011681019081106001600160401b03821117610c6c57604052565b60405190610c9f82610c51565b565b6001600160401b038111610c6c57601f01601f191660200190565b81601f8201121561026a57803590610cd382610ca1565b92610ce16040519485610c71565b8284526020838301011161026a57815f926020809301838601378301015290565b3461026a5760808060031936011261026a57610d1f60243561037e565b60443565ffffffffffff81160361026a576001600160401b0360643581811161026a57610d50903690600401610cbc565b5060606020604051610d6181610c51565b828152015260605180610d79575b60206040515f8152f35b8281016020821261026a5783519183831161026a5782604091031261026a5760405193610da585610c51565b8281015184811161026a578282610dbe928601016110c8565b855260a083015193841161026a57602093610dda9301016110c8565b9101525f8080610d6f565b3461026a575f36600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a5760a036600319011261026a57602435600435610e498261037e565b60443591610e5561038f565b90608435906001600160401b03821161026a57610e7760049236908401610cbc565b610e7f611732565b5f54602090610ea490610e98906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156105b3575f93610fe3575b506001600160a01b039283163303610fd1576001546001600160a01b0316838116610f46575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361055e60015f80516020611bf383398151915255565b909360405194610f7d86610f6f602082019363724ab0f760e11b8552858c898d602487016115d0565b03601f198101885287610c71565b62042e305a10610fbf575f610f2d938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093610eec565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61100691935060203d60201161100d575b610ffe8183610c71565b8101906110a5565b915f610ec6565b503d610ff4565b3461026a575f36600319011261026a575f546040516001600160a01b039091168152602090f35b3461026a57604036600319011261026a57602061106560243561105d8161037e565b600435611608565b604051908152f35b3461026a575f36600319011261026a5760206040516203d0908152f35b3461026a575f36600319011261026a57602060405160018152f35b9081602091031261026a57516110ba8161037e565b90565b6040513d5f823e3d90fd5b81601f8201121561026a578051906110df82610ca1565b926110ed6040519485610c71565b8284526020838301011161026a57815f9260208093018386015e8301015290565b9060208282031261026a5781516001600160401b03811161026a576110ba92016110c8565b906110ba91602081526020611153835160408385015260608401906103e3565b920151906040601f19828503019101526103e3565b604080516309472ec160e11b8152606096956001600160a01b039384169591946020949192917f0000000000000000000000000000000000000000000000000000000000000000169085876004818b5afa9687156105b3575f9761139a575b50845163fbfa77cf60e01b81529686886004818c5afa80156105b357855f9161123b9a839161137d575b508851636a531c3160e11b8082526001600160a01b039586166004830152858916602483015294909116604482015265ffffffffffff909116606482015298899081906084820190565b0381865afa9788156105b3575f98611358575b508686979899600496975196878092621a80e560e81b82525afa9485156105b3575f95611335575b5086519081526001600160a01b03948516600482015293909216602484015260609190911c604483015265ffffffffffff9092166064820152905f9082908180608481015b03915afa9081156105b3575f91611313575b50835115801590611309575b6112e35750505050565b6110ba9394955090610b06916112f7610c92565b95865283860152519384928301611133565b50805115156112d9565b61132f91503d805f833e6113278183610c71565b81019061110e565b5f6112cd565b5f95506113516112bb918a3d8c1161100d57610ffe8183610c71565b9550611276565b8798509661137360049697983d805f833e6113278183610c71565b989796955061124e565b61139491508a3d8c1161100d57610ffe8183610c71565b5f6111f1565b6113b2919750863d881161100d57610ffe8183610c71565b955f6111c7565b9081602091031261026a5751801515810361026a5790565b9081602091031261026a57516001600160401b038116810361026a5790565b604051635d927f4560e11b8082526060969594936001600160a01b03939092909160209190858416908383600481855afa9283156105b3575f936115b1575b506001600160401b039283166114d65750506040516304bb92e160e31b81526001600160a01b0393841660048201526024810194909452505092909216604483015265ffffffffffff9290921660648201529192505f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f916114c2575090565b6110ba91503d805f833e6113278183610c71565b839060046040518094819382525afa9081156105b3576001935f92611584575b50501614611505575050505050565b6040516304bb92e160e31b81526001600160a01b039182166004820152602481019290925292909216604483015265ffffffffffff9290921660648201529192505f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105b3575f916114c2575090565b6115a39250803d106115aa575b61159b8183610c71565b8101906113d1565b5f806114f6565b503d611591565b6115c9919350843d86116115aa5761159b8183610c71565b915f61142f565b919360a0936110ba969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103e3565b5f546040516308834cb560e21b8082526001600160a01b038581166004840152928316602483015293602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156105b3575f91611715575b501593841561168a575b505050509050611686575f90565b5f90565b6040519586526001600160a01b0392909216600486015260609190911c6024850152909291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156105b3575f926116f8575b505015805f808080611678565b61170e9250803d106105ac5761059e8183610c71565b5f806116eb565b61172c9150843d86116105ac5761059e8183610c71565b5f61166e565b5f80516020611bf3833981519152600281541461174f5760029055565b604051633ee5aeb560e01b8152600490fd5b5f8181525f80516020611bd38339815191526020908152604080832033845290915290205460ff16156107c45750565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020611bd38339815191529060ff1661183c575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020611bd38339815191529060ff905b5416611911575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020611bd3833981519152602081815260408084206001600160a01b038716855290915290912060ff906118ad565b5f8181525f80516020611bd3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611911575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261026a5780356119f88161037e565b9260208201356001600160401b03811161026a576110ba9201610cbc565b611a22918101906119e0565b506040516302910f8b60e31b81526001600160a01b0391821660048201819052906020816024817f000000000000000000000000000000000000000000000000000000000000000087165afa9081156105b3575f91611b34575b5015611b2257611aa990611a8e611b53565b60018060a01b03166001600160601b0360a01b5f5416175f55565b611afc6040611ab6611b76565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116611b12575b5001516001600160a01b031690565b908116611b065750565b611b0f90611842565b50565b611b1b90611791565b505f611aed565b6040516362df054560e01b8152600490fd5b611b4d915060203d6020116105ac5761059e8183610c71565b5f611a7c565b611b5b611ba4565b611b63611ba4565b60015f80516020611bf383398151915255565b60405190606082018281106001600160401b03821117610c6c576040525f6040838281528260208201520152565b60ff5f80516020611c138339815191525460401c1615611bc057565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212208c8cb609a14ad0196f2716730b417869a08c533b532b4fc28fabc1ee690e133164736f6c63430008190033","sourceMap":"765:2461:94:-: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;:::-;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;765:2461:94;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;765:2461:94;-1:-1:-1;765:2461:94;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;957:56;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;1537:38:89;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;1632:54:89;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;1743:56:89;-1:-1:-1;;;;;765:2461:94;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;765:2461:94;;;;;;;;-1:-1:-1;;765:2461:94;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;3361:103:30;;;:::i;:::-;765:2461:94;;-1:-1:-1;;;4285:48:89;;4322:10;765:2461:94;4285:48:89;;765:2461:94;;;;;-1:-1:-1;;;;;4295:16:89;765:2461:94;4285:48:89;;;;;;;-1:-1:-1;4285:48:89;;;765:2461:94;4284:49:89;;4280:99;;-1:-1:-1;;;;;765:2461:94;-1:-1:-1;;4322:10:89;297:2:101;765:2461:94;;267:46:101;4459:27:89;;;;765:2461:94;;4459:15:89;765:2461:94;;;;;;;4459:27:89;765:2461:94;4459:37:89;4455:87;;4654:38;4552:27;4654:38;4552:27;;;765:2461:94;;4459:15:89;765:2461:94;;;;;;;4552:27:89;765:2461:94;;;;;;;;;;;;;;4654:38:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;765:2461:94;3860:283:30;3426:1;765:2461:94;4455:87:89;765:2461:94;;-1:-1:-1;;;4519:12:89;;765:2461:94;;4519:12:89;4280:99;765:2461:94;;-1:-1:-1;;;4356:12:89;;765:2461:94;;4356:12:89;4285:48;;;;765:2461:94;4285:48:89;765:2461:94;4285:48:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;765:2461:94:-;;;;;;-1:-1:-1;;765:2461:94;;;;;;-1:-1:-1;765:2461:94;-1:-1:-1;;;;;;;;;;;765:2461:94;;;4919:24:23;765:2461:94;-1:-1:-1;765:2461:94;4919:24:23;765:2461:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;765:2461:94;;;;;;322:32:82;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;5350:25:23;765:2461:94;;;;;;;:::i;:::-;;-1:-1:-1;765:2461:94;-1:-1:-1;;;;;;;;;;;765:2461:94;;3202:4:23;4919:24;765:2461:94;-1:-1:-1;765:2461:94;4919:24:23;765:2461:94;3202:4:23;:::i;:::-;5350:25;:::i;765:2461:94:-;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;765:2461:94;;6441:34:23;6437:102;;6549:37;765:2461:94;;;6549:37:23;:::i;6437:102::-;765:2461:94;;-1:-1:-1;;;6498:30:23;;765:2461:94;;6498:30:23;765:2461:94;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;765:2461:94;;;;;;;;;;1356:26:89;;765:2461:94;;4468:23:23;4464:108;;-1:-1:-1;4861:4:89;765:2461:94;-1:-1:-1;;;;;765:2461:94;;;;;;4861:13:89;;4857:63;;-1:-1:-1;;;;;;765:2461:94;;;4861:4:89;765:2461:94;4958:14:89;-1:-1:-1;;4958:14:89;4861:4;-1:-1:-1;;;;;;;;;;;765:2461:94;;4464:108:23;765:2461:94;;;;4514:47:23;;;;;;966:10:28;765:2461:94;4514:47:23;;765:2461:94;;;;;4514:47:23;765:2461:94;;;;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;765:2461:94;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;765:2461:94;;;;;;;4301:16:26;765:2461:94;;4726:16:26;;:34;;;;765:2461:94;4805:1:26;4790:16;:50;;;;765:2461:94;4855:13:26;:30;;;;765:2461:94;4851:91:26;;;-1:-1:-1;;;;;;;;;;;765:2461:94;;-1:-1:-1;;765:2461:94;;;;;718:4:82;;4951:18:26;4979:67;;718:4:82;:::i;:::-;5066:101:26;;765:2461:94;5066:101:26;-1:-1:-1;;;;;;;;;;;765:2461:94;;-1:-1:-1;;;;765:2461:94;;;;;-1:-1:-1;765:2461:94;;5142:14:26;;765:2461:94;;5142:14:26;765:2461:94;4979:67:26;-1:-1:-1;;;;;;;;;;;765:2461:94;;-1:-1:-1;;;;765:2461:94;;;;;718:4:82;:::i;4851:91:26:-;765:2461:94;;-1:-1:-1;;;4908:23:26;;765:2461:94;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;765:2461:94;;;;;;-1:-1:-1;;765:2461:94;;;;;;;1253:6:89;765:2461:94;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;1356:26:89;765:2461:94;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;3901:31:23;765:2461:94;;;;;:::i;:::-;;;-1:-1:-1;765:2461:94;-1:-1:-1;;;;;;;;;;;765:2461:94;;;-1:-1:-1;765:2461:94;;;;;;;;;;;;;;;;;3901:31:23;765:2461:94;;;;;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;906:45;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;765:2461:94;;;;-1:-1:-1;765:2461:94;;;477:31:88;765:2461:94;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;765:2461:94;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;765:2461:94;;;;;;;;;;;;;477:31:88;;765:2461:94;;;;;;;;;;:::i;:::-;477:31:88;765:2461:94;;477:31:88;;;;;;:::i;:::-;518:79;;;765:2461:94;518:79:88;;765:2461:94;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;-1:-1:-1;;;;;404:28:82;765:2461:94;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;1439:41:89;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;-1:-1:-1;765:2461:94;2009:67:89;765:2461:94;;;;-1:-1:-1;765:2461:94;;;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;5767:26:23;765:2461:94;;;;;;;:::i;:::-;;-1:-1:-1;765:2461:94;-1:-1:-1;;;;;;;;;;;765:2461:94;;3202:4:23;4919:24;765:2461:94;-1:-1:-1;765:2461:94;4919:24:23;765:2461:94;3202:4:23;:::i;:::-;5767:26;:::i;765:2461:94:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;765:2461:94;;;;;;-1:-1:-1;;765:2461:94;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;765:2461:94;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;3086:20:89;3082:107;;765:2461:94;;;;-1:-1:-1;765:2461:94;;;3082:107:89;3139:39;;;765:2461:94;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3082:107:89;;;;;765:2461:94;;;;;;-1:-1:-1;;765:2461:94;;;;;;1019:53;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;765:2461:94;;;5246:21:89;;:13;;-1:-1:-1;;;;;765:2461:94;5246:13:89;765:2461:94;;-1:-1:-1;;;;;765:2461:94;;;5246:21:89;765:2461:94;;-1:-1:-1;;;5246:23:89;;765:2461:94;;;;;5246:23:89;;;;;;;-1:-1:-1;5246:23:89;;;765:2461:94;-1:-1:-1;;;;;;765:2461:94;;;5232:10:89;:37;5228:87;;5341:4;765:2461:94;-1:-1:-1;;;;;765:2461:94;;;;5355:469:89;;765:2461:94;-1:-1:-1;;765:2461:94;;;;;;;;;;;;;;;;5839:55:89;;765:2461:94;;;;5839:55:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;765:2461:94;3860:283:30;5355:469:89;765:2461:94;;;;5435:94:89;;;;765:2461:94;5435:94:89;;;;;;;;;;;;765:2461:94;5435:94:89;;;:::i;:::-;;765:2461:94;;5435:94:89;;;;;;:::i;:::-;765:2461:94;5548:9:89;:51;5544:118;;-1:-1:-1;5839:55:89;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;765:2461:94;;-1:-1:-1;;;5626:21:89;;765:2461:94;;5626:21:89;5228:87;765:2461:94;;-1:-1:-1;;;5292:12:89;;765:2461:94;;5292:12:89;5246:23;;;;;765:2461:94;5246:23:89;765:2461:94;5246:23:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;765:2461:94;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;1150:7:89;765:2461:94;;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;2700:1:89;765:2461:94;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;765:2461:94;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;2213:1011::-;765:2461;;;-1:-1:-1;;;2498:56:94;;765:2461;;2213:1011;-1:-1:-1;;;;;765:2461:94;;;;;;2498:56;;2213:1011;;;2453:20;765:2461;;2498:56;765:2461;2498:56;765:2461;;2498:56;;;;;;;;;;;2213:1011;-1:-1:-1;765:2461:94;;-1:-1:-1;;;2590:32:94;;765:2461;2590:32;765:2461;2498:56;765:2461;2590:32;;;;;;;;2498:56;2590:32;2435:220;2590:32;;;;;2213:1011;-1:-1:-1;765:2461:94;;-1:-1:-1;;;2435:220:94;;;-1:-1:-1;;;;;765:2461:94;;;2498:56;2435:220;;765:2461;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2435:220;;;;;;;;;;;2498:56;2435:220;;;2213:1011;765:2461;;;;;;2498:56;765:2461;;;;;;;;;;2768:58;;;;;;;;;2498:56;2768:58;;;2213:1011;-1:-1:-1;765:2461:94;;2705:174;;;-1:-1:-1;;;;;765:2461:94;;;2498:56;2705:174;;765:2461;;;;;;;;;;;;;;;;;;;;;;;;;;;2498:56;;765:2461;;;;;;;2705:174;;;;;;;;;;2498:56;2705:174;;;2213:1011;765:2461;;;2894:34;;;:74;;;2213:1011;2890:328;;2213:1011;;;;:::o;2890:328::-;2991:216;765:2461;;;;;2991:216;765:2461;;;:::i;:::-;;;;3019:174;;;765:2461;;2991:216;;;;;;:::i;2894:74::-;765:2461;;;2932:36;;2894:74;;2705:174;;;;;;2498:56;2705:174;;;;;;:::i;:::-;;;;;:::i;:::-;;;;2768:58;2498:56;2768:58;;;2705:174;2768:58;;;;;;;;;;;:::i;:::-;;;;;2435:220;;;;;;2498:56;2435:220;;;;;2498:56;2435:220;;;;;;:::i;:::-;;;;;;;;2590:32;;;;;;;;;;;;;;:::i;:::-;;;;2498:56;;;;;;;;;;;;;;;:::i;:::-;;;;;765:2461;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;:::o;1583:624::-;765:2461;;-1:-1:-1;;;1765:31:94;;;765:2461;;1583:624;;;-1:-1:-1;;;;;765:2461:94;1583:624;;;;1765:31;;765:2461;;;;;1765:31;765:2461;1765:31;765:2461;;1765:31;;;;;;;;;;;1583:624;-1:-1:-1;;;;;;765:2461:94;;;;;-1:-1:-1;;765:2461:94;;-1:-1:-1;;;1824:146:94;;-1:-1:-1;;;;;765:2461:94;;;1765:31;1824:146;;765:2461;;;;;;;;-1:-1:-1;;765:2461:94;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;765:2461:94;;;;;;1853:31;765:2461;1824:146;;;;;;;1765:31;1824:146;;;1817:153;;:::o;1824:146::-;;;;;;1765:31;1824:146;;;;;;:::i;1761:440::-;765:2461;;1765:31;765:2461;;1991:31;;;;;;;;;;;;;2026:1;1991:31;1765;1991;;;1761:440;765:2461;;;1991:36;1987:214;;1761:440;;;;;1583:624::o;1987:214::-;765:2461;;-1:-1:-1;;;2050:140:94;;-1:-1:-1;;;;;765:2461:94;;;1765:31;2050:140;;765:2461;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;765:2461:94;;;;;;2076:28;765:2461;2050:140;;;;;;;1765:31;2050:140;;;2043:147;;:::o;1991:31::-;;;;;;-1:-1:-1;1991:31:94;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1765;;;;;;;;;;;;;;;:::i;:::-;;;;;765:2461;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3740:389:89:-;3918:5;765:2461:94;;;-1:-1:-1;;;3853:71:89;;;-1:-1:-1;;;;;765:2461:94;;;3853:71:89;;;765:2461:94;;;;;;;;;3853:71:89;;765:2461:94;;3853:71:89;765:2461:94;;;3867:29:89;765:2461:94;;3853:71:89;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;765:2461:94;;;3852:181:89;;3740:389;3835:242;;;;;;;;3918:5;3740:389;:::o;3835:242::-;3918:5;4058:8;:::o;3852:181::-;765:2461:94;;3945:88:89;;;-1:-1:-1;;;;;765:2461:94;;;;3853:71:89;3945:88;;765:2461:94;467:2:101;765:2461:94;;;;;;;;;;;-1:-1:-1;765:2461:94;;;;;;;;3959:31:89;765:2461:94;3945:88:89;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;;;3945:88;;;;;;-1:-1:-1;3945:88:89;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;765:2461:94;;3670:20:30;3666:88;;1991:1;765:2461:94;;3470:384:30:o;3666:88::-;765:2461:94;;-1:-1:-1;;;3713:30:30;;;;;4148:103:23;-1:-1:-1;765:2461:94;;;-1:-1:-1;;;;;;;;;;;765:2461:94;;;;;;;;966:10:28;765:2461:94;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;7270:387::-;-1:-1:-1;;;;;765:2461:94;;-1:-1:-1;765:2461:94;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;765:2461:94;;;;-1:-1:-1;765:2461:94;;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;-1:-1:-1;;765:2461:94;7509:4:23;765:2461:94;;;966:10:28;;-1:-1:-1;;;;;765:2461:94;-1:-1:-1;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;;;;;765:2461:94;;-1:-1:-1;765:2461:94;;;;;;;;;1356:26:89;;-1:-1:-1;;;;;;;;;;;2887:71:23;765:2461:94;;3901:31:23;765:2461:94;;;;-1:-1:-1;765:2461:94;;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;-1:-1:-1;;765:2461:94;7509:4:23;765:2461:94;;;966:10:28;;-1:-1:-1;;;;;765:2461:94;;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;765:2461:94;;;-1:-1:-1;;;;;;;;;;;765:2461:94;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;3901:31:23;765:2461:94;7892:388:23;-1:-1:-1;765:2461:94;;;-1:-1:-1;;;;;;;;;;;765:2461:94;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;;;;;;-1:-1:-1;765:2461:94;;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;-1:-1:-1;;765:2461:94;;;966:10:28;;-1:-1:-1;;;;;765:2461:94;;8155:40:23;-1:-1:-1;;8155:40:23;765:2461:94;8209:11:23;:::o;765:2461:94:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;;:::i;5907:716:89:-;6030:34;5907:716;6030:34;;;;:::i;:::-;-1:-1:-1;765:2461:94;;-1:-1:-1;;;6080:41:89;;-1:-1:-1;;;;;765:2461:94;;;6080:41:89;;;765:2461:94;;;;6080:41:89;765:2461:94;;;6090:13:89;765:2461:94;;6080:41:89;;;;;;;-1:-1:-1;6080:41:89;;;5907:716;6079:42;;6075:90;;6210:14;2684:111:30;;;:::i;:::-;765:2461:94;;;;;;-1:-1:-1;;;;;765:2461:94;;-1:-1:-1;765:2461:94;;;-1:-1:-1;765:2461:94;;6210:14:89;765:2461:94;;;;:::i;:::-;6080:41:89;6311:15;;765:2461:94;;;;-1:-1:-1;;;;;;765:2461:94;-1:-1:-1;;;;;765:2461:94;;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;6337:143:89;;5907:716;-1:-1:-1;6493:28:89;765:2461:94;-1:-1:-1;;;;;765:2461:94;;;;;;;6489:128:89;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;765:2461:94;;-1:-1:-1;;;6144:10:89;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;6893:76:26;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;765:2461:94;6893:76:26:o;765:2461:94:-;;;;;;;;;;-1:-1:-1;;;;;765:2461:94;;;;;;;-1:-1:-1;765:2461:94;;;;;;;;;;;;:::o;7084:141:26:-;765:2461:94;-1:-1:-1;;;;;;;;;;;765:2461:94;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;765:2461:94;;-1:-1:-1;;;7191:17:26;;;;","linkReferences":{},"immutableReferences":{"60120":[{"start":1571,"length":32}],"60123":[{"start":2911,"length":32}],"61074":[{"start":1167,"length":32},{"start":2968,"length":32}],"61077":[{"start":711,"length":32},{"start":6731,"length":32}],"61080":[{"start":779,"length":32},{"start":5693,"length":32}],"61083":[{"start":847,"length":32},{"start":5819,"length":32}],"63393":[{"start":2621,"length":32},{"start":4496,"length":32}],"63395":[{"start":643,"length":32},{"start":5263,"length":32}],"63397":[{"start":3578,"length":32},{"start":5457,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","FULL_RESTAKE_DELEGATOR_HINTS()":"e102831a","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_REGISTRY()":"c0cd7c3e","NETWORK_RESTAKE_DELEGATOR_HINTS()":"075db036","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeBaseHints(address,bytes32,address,uint48)":"1bf10a3e","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints_\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"FULL_RESTAKE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_RESTAKE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"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\":[{\"internalType\":\"address\",\"name\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeBaseHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"BaseDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"optInServiceHints","type":"address"},{"internalType":"address","name":"vaultHints_","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":"AlreadySet"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"FULL_RESTAKE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_RESTAKE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeBaseHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"BaseDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":94} \ No newline at end of file diff --git a/out/DelegatorHints.sol/FullRestakeDelegatorHints.json b/out/DelegatorHints.sol/FullRestakeDelegatorHints.json index a142551..f955275 100644 --- a/out/DelegatorHints.sol/FullRestakeDelegatorHints.json +++ b/out/DelegatorHints.sol/FullRestakeDelegatorHints.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"},{"name":"vaultHints","type":"address","internalType":"address"},{"name":"optInServiceHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operatorNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"operatorNetworkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"operatorNetworkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"operatorNetworkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOperatorNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetOperatorNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","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":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DuplicateRoleHolder","inputs":[]},{"type":"error","name":"ExceedsMaxNetworkLimit","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"MissingRoleHolders","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","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":"ZeroAddressRoleHolder","inputs":[]}],"bytecode":{"object":"0x6101c0346101c857601f61351f38819003918201601f19168301916001600160401b0391828411858510176101cc5781606092869260409687528339810103126101c85761004c836101e0565b926100648361005d602084016101e0565b92016101e0565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101b7578080831603610173575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609283526101809384526101a0948552519461332a96876101f58839608051878181610696015261148c015260a0518761092d015260c0518761114b015260e0518781816107a101526111840152518681816104e2015261266601525185818161064c01528181611be00152611d0f01525184818161071f01528181611b470152611d8d015251838181610ebc015261179a015251828181610c8f015261183b0152518161104f0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101c85756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146102c4578063020cf0c2146102bf57806302145348146102ba578063103f2907146102b557806310a28b5d146102b057806311422095146102ab578063128e5d82146102a6578063197aa7ea146102a15780631a80e5001461029c57806323f752d514610297578063248a9ca31461029257806325dc97081461028d5780632dd31000146102885780632f2ff15d1461028357806336568abe1461027e5780633dfd3873146102795780633eb22c0f14610274578063439fab911461026f57806345e78fcb1461026a578063518504ba14610265578063557cab44146102605780635d32a1c91461025b5780636679191e1461025657806379d89614146102515780637d24bb271461024c5780637f5a7c7b1461024757806391d148541461024257806394d2558a1461023d5780639b656b22146102385780639f86fd8514610233578063a217fddf1461022e578063bb24fe8a14610229578063c0cd7c3e14610224578063d15b740e1461021f578063d547741f1461021a578063da749d2b14610215578063e02f693714610210578063e49561ee1461020b578063f7b0554714610206578063fbfa77cf14610201578063fd4d447c146101fc578063ff54740f146101f75763ffa1ad74146101f2575f80fd5b611557565b61153a565b611510565b6114e9565b611465565b61127a565b61125e565b611229565b6111dd565b6111b3565b61116f565b61112c565b611112565b61107e565b61103a565b610ffc565b610f4c565b610f24565b610eeb565b610ea7565b610e6d565b610e1c565b610cf8565b610cbe565b610c7a565b610b42565b610aec565b6109f3565b6109a8565b61095c565b610918565b6108fb565b6108c2565b61074e565b61070a565b61067b565b610637565b6105e8565b6105b3565b6104cd565b610410565b61032f565b3461031a57602036600319011261031a5760043563ffffffff60e01b811680910361031a57602090637965db0b60e01b8114908115610309575b506040519015158152f35b6301ffc9a760e01b1490505f6102fe565b5f80fd5b6001600160a01b0381160361031a57565b3461031a57606036600319011261031a5760243560043561034f8261031e565b6044359161035b611e02565b815f526004602052826103896103848360405f209060018060a01b03165f5260205260405f2090565b6120b3565b146103fe5760207ffc9545f07ffadfb668efd0144cdcaf2d6e2c8192dce1ea9fc131934f9c90fc7e91835f52600482526103e9856103da8360405f209060018060a01b03165f5260205260405f2090565b6103e342612b1e565b90611f58565b50506040519485526001600160a01b031693a3005b60405163a741a04560e01b8152600490fd5b3461031a5760408060031936011261031a576004359060243590610432611e5f565b825f526002602052805f205482116104bd57825f52600360205281610458825f206120b3565b146104ad57816104a8916104987e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103da875f52600360205260405f2090565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff8216820361031a57565b6044359065ffffffffffff8216820361031a57565b6064359065ffffffffffff8216820361031a57565b608090600319011261031a576004356105688161031e565b90602435906044356105798161031e565b9060643565ffffffffffff8116810361031a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461031a576105e46105d06105c736610550565b929190916115b1565b60405191829160208352602083019061058f565b0390f35b3461031a57604036600319011261031a57602061062f61038460243561060d8161031e565b6004355f526004845260405f209060018060a01b03165f5260205260405f2090565b604051908152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a57610694610511565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576106db906004355f52600360205260405f20612124565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a576004356001600160601b038116810361031a576024359061077e612229565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156108bd575f9161088e575b501561087c576001600160601b03166bffffffffffffffffffffffff193360601b16179080610808835f52600260205260405f2090565b54146103fe57610861817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610846855f52600260205260405f2090565b556108518185612258565b6040519081529081906020820190565b0390a261087a60015f805160206132b583398151915255565b005b6040516323d53b9760e21b8152600490fd5b6108b0915060203d6020116108b6575b6108a88183610d7e565b810190611649565b5f6107d1565b503d61089e565b61165d565b3461031a57602036600319011261031a576004355f525f805160206132958339815191526020526020600160405f200154604051908152f35b3461031a576105e46105d061090f36610550565b9291909161174e565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5761087a60243560043561097f8261031e565b805f525f805160206132958339815191526020526109a3600160405f200154611eb5565b612533565b3461031a57604036600319011261031a576024356109c58161031e565b336001600160a01b038216036109e15761087a90600435612569565b60405163334bd91960e11b8152600490fd5b3461031a57602036600319011261031a57600435610a108161031e565b610a18612229565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610ace57506001546001600160a01b0391821691811682146103fe576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206132b583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461031a57602036600319011261031a576004355f526003602052602061062f60405f206120b3565b9181601f8401121561031a578235916001600160401b03831161031a576020838186019501011161031a57565b3461031a57602036600319011261031a576001600160401b0360043581811161031a57610b73903690600401610b15565b5f805160206132d5833981519152549260ff8460401c1615931680159081610c72575b6001149081610c68575b159081610c5f575b50610c4d575f805160206132d5833981519152805467ffffffffffffffff19166001179055610bdb9183610c2957612631565b610be157005b5f805160206132d5833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206132d5833981519152805460ff60401b1916600160401b179055612631565b60405163f92ee8a960e01b8152600490fd5b9050155f610ba8565b303b159150610ba0565b849150610b96565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a38152f35b3461031a575f36600319011261031a576020604051614e208152f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610d4357604052565b610d14565b606081019081106001600160401b03821117610d4357604052565b608081019081106001600160401b03821117610d4357604052565b90601f801991011681019081106001600160401b03821117610d4357604052565b60405190610dac82610d63565b565b60405190610dac82610d28565b6001600160401b038111610d4357601f01601f191660200190565b81601f8201121561031a57803590610ded82610dbb565b92610dfb6040519485610d7e565b8284526020838301011161031a57815f926020809301838601378301015290565b3461031a57606036600319011261031a57610e35610511565b6044356001600160401b03811161031a57602091610e5a61062f923690600401610dd6565b906004355f526003845260405f20612798565b3461031a575f36600319011261031a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461031a575f36600319011261031a576001546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602060ff610f9e602435610f708161031e565b6004355f525f80516020613295833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b90608060031983011261031a5760043591602435610fc78161031e565b9160443565ffffffffffff8116810361031a5791606435906001600160401b03821161031a57610ff991600401610dd6565b90565b3461031a57602061062f61103561101236610faa565b939190925f526004865260405f209060018060a01b03165f5260205260405f2090565b612798565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5760043561109b8161031e565b6024356001600160401b03811161031a575f916110bd83923690600401610b15565b90816040519283928337810184815203915af461110a6110db6119a3565b916110fc60405193849215156020840152604080840152606083019061058f565b03601f198101835282610d7e565b805190602001fd5b3461031a575f36600319011261031a5760206040515f8152f35b3461031a575f36600319011261031a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57602036600319011261031a576004355f526002602052602060405f2054604051908152f35b3461031a57604036600319011261031a5761087a6024356004356112008261031e565b805f525f80516020613295833981519152602052611224600160405f200154611eb5565b612569565b3461031a57606036600319011261031a576105e46105d060043561124c8161031e565b611254610526565b90602435906119d2565b3461031a57602061062f61127136610faa565b92919091611ad1565b3461031a5760a036600319011261031a5760243560043561129a8261031e565b604435916112a661053b565b90608435906001600160401b03821161031a576112c860049236908401610dd6565b6112d0612229565b5f546020906112f5906112e9906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156108bd575f93611434575b506001600160a01b039283163303611422576001546001600160a01b0316838116611397575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361087a60015f805160206132b583398151915255565b9093604051946113ce866113c0602082019363724ab0f760e11b8552858c898d60248701611c5b565b03601f198101885287610d7e565b62042e305a10611410575f61137e938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f1509361133d565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61145791935060203d60201161145e575b61144f8183610d7e565b8101906116d3565b915f611317565b503d611445565b3461031a57606036600319011261031a576024356114828161031e565b61148a610526565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576114e46106db926004355f52600460205260405f209060018060a01b03165f5260205260405f2090565b612124565b3461031a575f36600319011261031a575f546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602061062f6024356115328161031e565b600435611cd8565b3461031a575f36600319011261031a5760206040516203d0908152f35b3461031a575f36600319011261031a57602060405160018152f35b5190811515820361031a57565b519063ffffffff8216820361031a57565b919082604091031261031a57610ff960206115aa84611572565b930161157f565b91939265ffffffffffff906060956040519363f7b0554760e01b6020860152602485015260018060a01b031660448401521660648201526064815260a08101908082106001600160401b03831117610d4357611622926116139260405261201a565b60208082518301019101611590565b9061162a5750565b90915063ffffffff6040519116602082015260208152610ff981610d28565b9081602091031261031a57610ff990611572565b6040513d5f823e3d90fd5b81601f8201121561031a5780519061167f82610dbb565b9261168d6040519485610d7e565b8284526020838301011161031a57815f9260208093018386015e8301015290565b9060208282031261031a5781516001600160401b03811161031a57610ff99201611668565b9081602091031261031a5751610ff98161031e565b90610ff9916020815261170782516080602084015260a083019061058f565b906080606061173e61172b602087015195601f19968787830301604088015261058f565b604087015186868303018487015261058f565b940151928285030191015261058f565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491939091905f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa9485156108bd575f95611945575b5060405163fbfa77cf60e01b8152602081600481888d165afa9081156108bd57611837995f9286928491611926575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9788156108bd575f986118fa575b50908161187d846118839594876119d2565b946115b1565b908251158015906118f0575b80156118e6575b80156118dc575b6118a957505050909150565b6110fc9450610ff993956118bb610d9f565b938452602084015260408301526060820152604051928391602083016116e8565b508151151561189d565b5080511515611896565b508551151561188f565b611883939291985061191d903d805f833e6119158183610d7e565b8101906116ae565b9790919261186b565b61193f915060203d60201161145e5761144f8183610d7e565b5f6117fa565b61195a9195503d805f833e6119158183610d7e565b935f6117cb565b90610ff992915f52600360205260405f20612798565b5f9081526004602090815260408083206001600160a01b03909416835292905220610ff9929190612798565b3d156119cd573d906119b482610dbb565b916119c26040519384610d7e565b82523d5f602084013e565b606090565b611622916116139194939465ffffffffffff60609660405193630cbd53f560e11b6020860152602485015216604483015260448252611a1082610d63565b61201a565b60405190611a2282610d28565b60606020838281520152565b9060208282031261031a5781516001600160401b039283821161031a57019060408282031261031a5760405192611a6484610d28565b825181811161031a5782611a79918501611668565b8452602083015190811161031a57611a919201611668565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff9091166040820152608060608201819052610ff99291019061058f565b92611ae190929192828486612973565b929093611aec611a15565b93805180611c3f575b50508415938415611ba9575b8415611b18575b50505050611b135790565b505f90565b602080949550611b43910151604051958694859463530e1d4360e01b865260601c9060048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611b8a575b50155f808080611b08565b611ba3915060203d6020116108b6576108a88183610d7e565b5f611b7f565b5f549094506001600160a01b0316602084865192611bdc604051948593849363530e1d4360e01b85528960048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611c20575b501593611b01565b611c39915060203d6020116108b6576108a88183610d7e565b5f611c18565b611c53929550602080918301019101611a2e565b925f80611af5565b919360a093610ff9969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061058f565b634e487b7160e01b5f52601160045260245ffd5b8115611cb1570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611cd357565b611c93565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156108bd575f91611de5575b5015918215611d61575b50509050611d5b57610ff991612a6e565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156108bd575f92611dc8575b505015805f80611d4a565b611dde9250803d106108b6576108a88183610d7e565b5f80611dbd565b611dfc9150843d86116108b6576108a88183610d7e565b5f611d40565b335f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a39060ff905b541615610ace5750565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff90611e55565b5f8181525f8051602061329583398151915260209081526040808320338452909152902060ff90611e55565b634e487b7160e01b5f52603260045260245ffd5b8054821015611f0a575f5260205f2001905f90565b611ee1565b90815491600160401b831015610d435782611f32916001610dac95018155611ef5565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611cd357565b90929192600182019081548015611fea575b5084611f7584612b50565b50949092845493611f85836120b3565b9681611fd5575b5015611fb2575050505f198101908111611cd357611f328591611fae93611ef5565b9190565b611fae949293611fce926001600160d01b039091169190613189565b5050611f0f565b65ffffffffffff83811691161490505f611f8c565b600160401b811015610d43578060016120069201845583611ef5565b8154905f199060031b1b191690555f611f6a565b5f9190829160405161204f816110fc6020820194639f86fd8560e01b865230602484015260406044840152606483019061058f565b51915afa5061205c6119a3565b8051810160408282031261031a5761207660208301611572565b916040810151916001600160401b03831161031a5761209c926020809201920101611668565b90156120a55790565b805190811561031a57602001fd5b8054806120e257505f5b6001600160d01b03811615611d5b5760016120d89201611ef5565b90549060031b1c90565b5f19908082810111611cd357825f5260205f2001015460301c6120bd565b9060405161210d81610d28565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116121c2575b612140935085612cb4565b9081156121b6576121af6121a66121a06120d861217261216d61216288611f4a565b895f5260205f200190565b612100565b966001612199602061218a8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611ef5565b93611f4a565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926121cd81612b89565b8103908111611cd35761214093865f526122016121f68360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015612217575091612135565b92915061222390611cc5565b90612135565b5f805160206132b583398151915260028154146122465760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161226f82612b50565b9193905083156122cd5761228f916001600160d01b031690600101611ef5565b90549060031b1c5b826122c3575b50506122a7575050565b6122bf915f52600360205260405f206103e342612b1e565b5050565b119050815f61229d565b50505f612297565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206132958339815191529060ff16611d5b575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206132958339815191529060ff905b541661244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206132958339815191529060ff906123eb565b6001600160a01b0381165f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a3905f805160206132958339815191529060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b038716855290915290912060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261031a5780356126138161031e565b9260208201356001600160401b03811161031a57610ff99201610dd6565b61263d918101906125fb565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156108bd575f91612750575b501561273e576126d26040916126cd612718946126b2612d16565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612e96565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661272e575b5001516001600160a01b031690565b9081166127225750565b61272b90612380565b50565b612737906122d5565b505f612709565b6040516362df054560e01b8152600490fd5b612769915060203d6020116108b6576108a88183610d7e565b5f612697565b9081602091031261031a57610ff99061157f565b90600163ffffffff80931601918211611cd357565b9180511561286657806020806127b39351830101910161276f565b916127be83826130c6565b926127cf845165ffffffffffff1690565b9065ffffffffffff808516921682811461285a5782119182612805575b50506127fc57610ff99250612ff6565b50506020015190565b9091506128128354611f4a565b63ffffffff83161491821561282b575b50505f806127ec565b6128529192506128466128406121f692612783565b856130c6565b5165ffffffffffff1690565b115f80612822565b50505050506020015190565b50610ff991612ff6565b60405190608082018281106001600160401b03821117610d4357604052606080838181528160208201528160408201520152565b9060208282031261031a5781516001600160401b039283821161031a57019060808282031261031a576128d5610d9f565b92825181811161031a57826128eb918501611668565b8452602083015181811161031a5782612905918501611668565b6020850152604083015181811161031a5782612922918501611668565b6040850152606083015190811161031a5761293d9201611668565b606082015290565b9081602091031261031a575190565b60409065ffffffffffff610ff99493168152816020820152019061058f565b9391909361297f612870565b93805180612a4e575b50506129c992939460206129a86112e96112e95f5460018060a01b031690565b8188015190604051808098819463810da75d60e01b83528960048401612954565b03915afa9182156108bd57612a10945f93612a15575b50612a0490612a0493946129f860408a01518284611961565b9360608a015192611977565b90818082109118021890565b915190565b612a04935090612a3f612a049260203d602011612a47575b612a378183610d7e565b810190612945565b9350906129df565b503d612a2d565b6129c994955090602080612a669383010191016128a4565b93925f612988565b5f5460405163bd49c35f60e01b81529290602090849060049082906001600160a01b03165afa9283156108bd575f93612af5575b50610384612ae091612abf610384855f52600360205260405f2090565b935f52600460205260405f209060018060a01b03165f5260205260405f2090565b90818082109118021890818082109118021890565b612ae0919350612b166103849160203d602011612a4757612a378183610d7e565b939150612aa2565b65ffffffffffff90818111612b31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612b615750505f905f905f90565b5f19918183810111611cd3575f5260205f2001015460019165ffffffffffff82169160301c90565b6001811115610ff957600181600160801b811015612ca2575b612c4a612c40612c36612c2c612c22612c18612c5697600488600160401b612c519a1015612c95575b640100000000811015612c88575b62010000811015612c7b575b610100811015612c6f575b6010811015612c63575b1015612c5b575b60030260011c612c11818b611ca7565b0160011c90565b612c11818a611ca7565b612c118189611ca7565b612c118188611ca7565b612c118187611ca7565b612c118186611ca7565b8093611ca7565b821190565b900390565b60011b612c01565b811c9160021b91612bfa565b60081c91811b91612bf0565b60101c9160081b91612be5565b60201c9160101b91612bd9565b60401c9160201b91612bcb565b50600160401b9050608082901c612ba2565b91905b838210612cc45750505090565b909192808316906001818518811c8301809311611cd357855f5265ffffffffffff808460205f20015416908516105f14612d03575050925b9190612cb7565b909493508101809111611cd35791612cfc565b612d1e613266565b612d26613266565b60015f805160206132b583398151915255565b60405190612d4682610d48565b5f6040838281528260208201520152565b81601f8201121561031a578051916020916001600160401b038411610d43578360051b9060405194612d8b85840187610d7e565b8552838086019282010192831161031a578301905b828210612dae575050505090565b8380918351612dbc8161031e565b815201910190612da0565b9060208282031261031a5781516001600160401b039283821161031a5701908181039260a0841261031a57606060405194612e0186610d48565b1261031a57604051612e1281610d48565b8351612e1d8161031e565b81526020840151612e2d8161031e565b60208201526040840151612e408161031e565b60408201528452606083015181811161031a5782612e5f918501612d57565b6020850152608083015190811161031a57612e7a9201612d57565b604082015290565b8051821015611f0a5760209160051b010190565b612eb290612ea2612d39565b5060208082518301019101612dc7565b8051519091906001600160a01b03161580612fdc575b612fca579060208101905f5b82518051821015612f4e576112e9612eef83612efc93612e82565b516001600160a01b031690565b15612f3c57612f1e612f1a612f15612eef848751612e82565b612456565b1590565b612f2a57600101612ed4565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015612fc1576112e9612eef83612f7593612e82565b15612fb057612f93612f1a612f8e612eef848751612e82565b6124c4565b612f9f57600101612f5a565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580612ec8575060408201515115612ec8565b908154905f829160058411613060575b613011935084612cb4565b8061303957505f905b6001600160d01b03821615611d5b57610ff99160016120d89201611ef5565b61305361304861305a92611f4a565b835f5260205f200190565b5460301c90565b9061301a565b919261306b81612b89565b8103908111611cd35761301193855f5265ffffffffffff808360205f20015416908516105f1461309c575091613006565b9291506130a890611cc5565b90613006565b604051906130bb82610d28565b5f6020838281520152565b906130ef6130e9613110926130d96130ae565b506130e26130ae565b5084611ef5565b50612100565b91600165ffffffffffff845116936020828060d01b03910151169101611ef5565b9054906040519261312084610d28565b835260031b1c602082015290565b8054600160401b811015610d435761314b91600182018155611ef5565b61317657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b8054929392801561323c576131a06131ab91611f4a565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161322a578793036131f157506131ea92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b91505061322591613211613203610dae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261312e565b6131ea565b604051632520601d60e01b8152600490fd5b50906132619161324d613203610dae565b6001600160d01b038516602083015261312e565b5f9190565b60ff5f805160206132d58339815191525460401c161561328257565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204499a4e541806b6efe7986c303b25f7c58d6541a27cb7ee070507be47989947d64736f6c63430008190033","sourceMap":"7866:3473:92:-:0;;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:93;;332:21;;8837:64:26;7866:3473:92;;;;;;;;;7896:76:26;;7866:3473:92;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:80;;;-1:-1:-1;525:17:80;;-1:-1:-1;552:12:80;;-1:-1:-1;2360:34:87;;2404:28;;-1:-1:-1;2404:28:87;;2442:57;;-1:-1:-1;2442:57:87;;2509:61;;-1:-1:-1;2509:61:87;;8343:41:92;;;;8394:24;;;;8428:40;;;;7866:3473;;;;;;;;332:21:93;7866:3473:92;;;;;;;;;;525:17:80;7866:3473:92;;;;;552:12:80;7866:3473:92;;;;;2360:34:87;7866:3473:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;7866:3473:92;;;;;;;;;;;;;8087:29:26;;7866:3473:92;;8087:29:26;7981:146;;;;;7896:76;7866:3473:92;;-1:-1:-1;;;7938:23:26;;;;;7866:3473:92;-1:-1:-1;7866:3473:92;;;;;;-1:-1:-1;7866:3473:92;;;;;-1:-1:-1;7866:3473:92;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146102c4578063020cf0c2146102bf57806302145348146102ba578063103f2907146102b557806310a28b5d146102b057806311422095146102ab578063128e5d82146102a6578063197aa7ea146102a15780631a80e5001461029c57806323f752d514610297578063248a9ca31461029257806325dc97081461028d5780632dd31000146102885780632f2ff15d1461028357806336568abe1461027e5780633dfd3873146102795780633eb22c0f14610274578063439fab911461026f57806345e78fcb1461026a578063518504ba14610265578063557cab44146102605780635d32a1c91461025b5780636679191e1461025657806379d89614146102515780637d24bb271461024c5780637f5a7c7b1461024757806391d148541461024257806394d2558a1461023d5780639b656b22146102385780639f86fd8514610233578063a217fddf1461022e578063bb24fe8a14610229578063c0cd7c3e14610224578063d15b740e1461021f578063d547741f1461021a578063da749d2b14610215578063e02f693714610210578063e49561ee1461020b578063f7b0554714610206578063fbfa77cf14610201578063fd4d447c146101fc578063ff54740f146101f75763ffa1ad74146101f2575f80fd5b611557565b61153a565b611510565b6114e9565b611465565b61127a565b61125e565b611229565b6111dd565b6111b3565b61116f565b61112c565b611112565b61107e565b61103a565b610ffc565b610f4c565b610f24565b610eeb565b610ea7565b610e6d565b610e1c565b610cf8565b610cbe565b610c7a565b610b42565b610aec565b6109f3565b6109a8565b61095c565b610918565b6108fb565b6108c2565b61074e565b61070a565b61067b565b610637565b6105e8565b6105b3565b6104cd565b610410565b61032f565b3461031a57602036600319011261031a5760043563ffffffff60e01b811680910361031a57602090637965db0b60e01b8114908115610309575b506040519015158152f35b6301ffc9a760e01b1490505f6102fe565b5f80fd5b6001600160a01b0381160361031a57565b3461031a57606036600319011261031a5760243560043561034f8261031e565b6044359161035b611e02565b815f526004602052826103896103848360405f209060018060a01b03165f5260205260405f2090565b6120b3565b146103fe5760207ffc9545f07ffadfb668efd0144cdcaf2d6e2c8192dce1ea9fc131934f9c90fc7e91835f52600482526103e9856103da8360405f209060018060a01b03165f5260205260405f2090565b6103e342612b1e565b90611f58565b50506040519485526001600160a01b031693a3005b60405163a741a04560e01b8152600490fd5b3461031a5760408060031936011261031a576004359060243590610432611e5f565b825f526002602052805f205482116104bd57825f52600360205281610458825f206120b3565b146104ad57816104a8916104987e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103da875f52600360205260405f2090565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff8216820361031a57565b6044359065ffffffffffff8216820361031a57565b6064359065ffffffffffff8216820361031a57565b608090600319011261031a576004356105688161031e565b90602435906044356105798161031e565b9060643565ffffffffffff8116810361031a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461031a576105e46105d06105c736610550565b929190916115b1565b60405191829160208352602083019061058f565b0390f35b3461031a57604036600319011261031a57602061062f61038460243561060d8161031e565b6004355f526004845260405f209060018060a01b03165f5260205260405f2090565b604051908152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a57610694610511565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576106db906004355f52600360205260405f20612124565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a576004356001600160601b038116810361031a576024359061077e612229565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156108bd575f9161088e575b501561087c576001600160601b03166bffffffffffffffffffffffff193360601b16179080610808835f52600260205260405f2090565b54146103fe57610861817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610846855f52600260205260405f2090565b556108518185612258565b6040519081529081906020820190565b0390a261087a60015f805160206132b583398151915255565b005b6040516323d53b9760e21b8152600490fd5b6108b0915060203d6020116108b6575b6108a88183610d7e565b810190611649565b5f6107d1565b503d61089e565b61165d565b3461031a57602036600319011261031a576004355f525f805160206132958339815191526020526020600160405f200154604051908152f35b3461031a576105e46105d061090f36610550565b9291909161174e565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5761087a60243560043561097f8261031e565b805f525f805160206132958339815191526020526109a3600160405f200154611eb5565b612533565b3461031a57604036600319011261031a576024356109c58161031e565b336001600160a01b038216036109e15761087a90600435612569565b60405163334bd91960e11b8152600490fd5b3461031a57602036600319011261031a57600435610a108161031e565b610a18612229565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610ace57506001546001600160a01b0391821691811682146103fe576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206132b583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461031a57602036600319011261031a576004355f526003602052602061062f60405f206120b3565b9181601f8401121561031a578235916001600160401b03831161031a576020838186019501011161031a57565b3461031a57602036600319011261031a576001600160401b0360043581811161031a57610b73903690600401610b15565b5f805160206132d5833981519152549260ff8460401c1615931680159081610c72575b6001149081610c68575b159081610c5f575b50610c4d575f805160206132d5833981519152805467ffffffffffffffff19166001179055610bdb9183610c2957612631565b610be157005b5f805160206132d5833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206132d5833981519152805460ff60401b1916600160401b179055612631565b60405163f92ee8a960e01b8152600490fd5b9050155f610ba8565b303b159150610ba0565b849150610b96565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a38152f35b3461031a575f36600319011261031a576020604051614e208152f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610d4357604052565b610d14565b606081019081106001600160401b03821117610d4357604052565b608081019081106001600160401b03821117610d4357604052565b90601f801991011681019081106001600160401b03821117610d4357604052565b60405190610dac82610d63565b565b60405190610dac82610d28565b6001600160401b038111610d4357601f01601f191660200190565b81601f8201121561031a57803590610ded82610dbb565b92610dfb6040519485610d7e565b8284526020838301011161031a57815f926020809301838601378301015290565b3461031a57606036600319011261031a57610e35610511565b6044356001600160401b03811161031a57602091610e5a61062f923690600401610dd6565b906004355f526003845260405f20612798565b3461031a575f36600319011261031a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461031a575f36600319011261031a576001546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602060ff610f9e602435610f708161031e565b6004355f525f80516020613295833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b90608060031983011261031a5760043591602435610fc78161031e565b9160443565ffffffffffff8116810361031a5791606435906001600160401b03821161031a57610ff991600401610dd6565b90565b3461031a57602061062f61103561101236610faa565b939190925f526004865260405f209060018060a01b03165f5260205260405f2090565b612798565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5760043561109b8161031e565b6024356001600160401b03811161031a575f916110bd83923690600401610b15565b90816040519283928337810184815203915af461110a6110db6119a3565b916110fc60405193849215156020840152604080840152606083019061058f565b03601f198101835282610d7e565b805190602001fd5b3461031a575f36600319011261031a5760206040515f8152f35b3461031a575f36600319011261031a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57602036600319011261031a576004355f526002602052602060405f2054604051908152f35b3461031a57604036600319011261031a5761087a6024356004356112008261031e565b805f525f80516020613295833981519152602052611224600160405f200154611eb5565b612569565b3461031a57606036600319011261031a576105e46105d060043561124c8161031e565b611254610526565b90602435906119d2565b3461031a57602061062f61127136610faa565b92919091611ad1565b3461031a5760a036600319011261031a5760243560043561129a8261031e565b604435916112a661053b565b90608435906001600160401b03821161031a576112c860049236908401610dd6565b6112d0612229565b5f546020906112f5906112e9906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156108bd575f93611434575b506001600160a01b039283163303611422576001546001600160a01b0316838116611397575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361087a60015f805160206132b583398151915255565b9093604051946113ce866113c0602082019363724ab0f760e11b8552858c898d60248701611c5b565b03601f198101885287610d7e565b62042e305a10611410575f61137e938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f1509361133d565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61145791935060203d60201161145e575b61144f8183610d7e565b8101906116d3565b915f611317565b503d611445565b3461031a57606036600319011261031a576024356114828161031e565b61148a610526565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576114e46106db926004355f52600460205260405f209060018060a01b03165f5260205260405f2090565b612124565b3461031a575f36600319011261031a575f546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602061062f6024356115328161031e565b600435611cd8565b3461031a575f36600319011261031a5760206040516203d0908152f35b3461031a575f36600319011261031a57602060405160018152f35b5190811515820361031a57565b519063ffffffff8216820361031a57565b919082604091031261031a57610ff960206115aa84611572565b930161157f565b91939265ffffffffffff906060956040519363f7b0554760e01b6020860152602485015260018060a01b031660448401521660648201526064815260a08101908082106001600160401b03831117610d4357611622926116139260405261201a565b60208082518301019101611590565b9061162a5750565b90915063ffffffff6040519116602082015260208152610ff981610d28565b9081602091031261031a57610ff990611572565b6040513d5f823e3d90fd5b81601f8201121561031a5780519061167f82610dbb565b9261168d6040519485610d7e565b8284526020838301011161031a57815f9260208093018386015e8301015290565b9060208282031261031a5781516001600160401b03811161031a57610ff99201611668565b9081602091031261031a5751610ff98161031e565b90610ff9916020815261170782516080602084015260a083019061058f565b906080606061173e61172b602087015195601f19968787830301604088015261058f565b604087015186868303018487015261058f565b940151928285030191015261058f565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491939091905f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa9485156108bd575f95611945575b5060405163fbfa77cf60e01b8152602081600481888d165afa9081156108bd57611837995f9286928491611926575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9788156108bd575f986118fa575b50908161187d846118839594876119d2565b946115b1565b908251158015906118f0575b80156118e6575b80156118dc575b6118a957505050909150565b6110fc9450610ff993956118bb610d9f565b938452602084015260408301526060820152604051928391602083016116e8565b508151151561189d565b5080511515611896565b508551151561188f565b611883939291985061191d903d805f833e6119158183610d7e565b8101906116ae565b9790919261186b565b61193f915060203d60201161145e5761144f8183610d7e565b5f6117fa565b61195a9195503d805f833e6119158183610d7e565b935f6117cb565b90610ff992915f52600360205260405f20612798565b5f9081526004602090815260408083206001600160a01b03909416835292905220610ff9929190612798565b3d156119cd573d906119b482610dbb565b916119c26040519384610d7e565b82523d5f602084013e565b606090565b611622916116139194939465ffffffffffff60609660405193630cbd53f560e11b6020860152602485015216604483015260448252611a1082610d63565b61201a565b60405190611a2282610d28565b60606020838281520152565b9060208282031261031a5781516001600160401b039283821161031a57019060408282031261031a5760405192611a6484610d28565b825181811161031a5782611a79918501611668565b8452602083015190811161031a57611a919201611668565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff9091166040820152608060608201819052610ff99291019061058f565b92611ae190929192828486612973565b929093611aec611a15565b93805180611c3f575b50508415938415611ba9575b8415611b18575b50505050611b135790565b505f90565b602080949550611b43910151604051958694859463530e1d4360e01b865260601c9060048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611b8a575b50155f808080611b08565b611ba3915060203d6020116108b6576108a88183610d7e565b5f611b7f565b5f549094506001600160a01b0316602084865192611bdc604051948593849363530e1d4360e01b85528960048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611c20575b501593611b01565b611c39915060203d6020116108b6576108a88183610d7e565b5f611c18565b611c53929550602080918301019101611a2e565b925f80611af5565b919360a093610ff9969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061058f565b634e487b7160e01b5f52601160045260245ffd5b8115611cb1570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611cd357565b611c93565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156108bd575f91611de5575b5015918215611d61575b50509050611d5b57610ff991612a6e565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156108bd575f92611dc8575b505015805f80611d4a565b611dde9250803d106108b6576108a88183610d7e565b5f80611dbd565b611dfc9150843d86116108b6576108a88183610d7e565b5f611d40565b335f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a39060ff905b541615610ace5750565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff90611e55565b5f8181525f8051602061329583398151915260209081526040808320338452909152902060ff90611e55565b634e487b7160e01b5f52603260045260245ffd5b8054821015611f0a575f5260205f2001905f90565b611ee1565b90815491600160401b831015610d435782611f32916001610dac95018155611ef5565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611cd357565b90929192600182019081548015611fea575b5084611f7584612b50565b50949092845493611f85836120b3565b9681611fd5575b5015611fb2575050505f198101908111611cd357611f328591611fae93611ef5565b9190565b611fae949293611fce926001600160d01b039091169190613189565b5050611f0f565b65ffffffffffff83811691161490505f611f8c565b600160401b811015610d43578060016120069201845583611ef5565b8154905f199060031b1b191690555f611f6a565b5f9190829160405161204f816110fc6020820194639f86fd8560e01b865230602484015260406044840152606483019061058f565b51915afa5061205c6119a3565b8051810160408282031261031a5761207660208301611572565b916040810151916001600160401b03831161031a5761209c926020809201920101611668565b90156120a55790565b805190811561031a57602001fd5b8054806120e257505f5b6001600160d01b03811615611d5b5760016120d89201611ef5565b90549060031b1c90565b5f19908082810111611cd357825f5260205f2001015460301c6120bd565b9060405161210d81610d28565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116121c2575b612140935085612cb4565b9081156121b6576121af6121a66121a06120d861217261216d61216288611f4a565b895f5260205f200190565b612100565b966001612199602061218a8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611ef5565b93611f4a565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926121cd81612b89565b8103908111611cd35761214093865f526122016121f68360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015612217575091612135565b92915061222390611cc5565b90612135565b5f805160206132b583398151915260028154146122465760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161226f82612b50565b9193905083156122cd5761228f916001600160d01b031690600101611ef5565b90549060031b1c5b826122c3575b50506122a7575050565b6122bf915f52600360205260405f206103e342612b1e565b5050565b119050815f61229d565b50505f612297565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206132958339815191529060ff16611d5b575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206132958339815191529060ff905b541661244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206132958339815191529060ff906123eb565b6001600160a01b0381165f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a3905f805160206132958339815191529060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b038716855290915290912060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261031a5780356126138161031e565b9260208201356001600160401b03811161031a57610ff99201610dd6565b61263d918101906125fb565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156108bd575f91612750575b501561273e576126d26040916126cd612718946126b2612d16565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612e96565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661272e575b5001516001600160a01b031690565b9081166127225750565b61272b90612380565b50565b612737906122d5565b505f612709565b6040516362df054560e01b8152600490fd5b612769915060203d6020116108b6576108a88183610d7e565b5f612697565b9081602091031261031a57610ff99061157f565b90600163ffffffff80931601918211611cd357565b9180511561286657806020806127b39351830101910161276f565b916127be83826130c6565b926127cf845165ffffffffffff1690565b9065ffffffffffff808516921682811461285a5782119182612805575b50506127fc57610ff99250612ff6565b50506020015190565b9091506128128354611f4a565b63ffffffff83161491821561282b575b50505f806127ec565b6128529192506128466128406121f692612783565b856130c6565b5165ffffffffffff1690565b115f80612822565b50505050506020015190565b50610ff991612ff6565b60405190608082018281106001600160401b03821117610d4357604052606080838181528160208201528160408201520152565b9060208282031261031a5781516001600160401b039283821161031a57019060808282031261031a576128d5610d9f565b92825181811161031a57826128eb918501611668565b8452602083015181811161031a5782612905918501611668565b6020850152604083015181811161031a5782612922918501611668565b6040850152606083015190811161031a5761293d9201611668565b606082015290565b9081602091031261031a575190565b60409065ffffffffffff610ff99493168152816020820152019061058f565b9391909361297f612870565b93805180612a4e575b50506129c992939460206129a86112e96112e95f5460018060a01b031690565b8188015190604051808098819463810da75d60e01b83528960048401612954565b03915afa9182156108bd57612a10945f93612a15575b50612a0490612a0493946129f860408a01518284611961565b9360608a015192611977565b90818082109118021890565b915190565b612a04935090612a3f612a049260203d602011612a47575b612a378183610d7e565b810190612945565b9350906129df565b503d612a2d565b6129c994955090602080612a669383010191016128a4565b93925f612988565b5f5460405163bd49c35f60e01b81529290602090849060049082906001600160a01b03165afa9283156108bd575f93612af5575b50610384612ae091612abf610384855f52600360205260405f2090565b935f52600460205260405f209060018060a01b03165f5260205260405f2090565b90818082109118021890818082109118021890565b612ae0919350612b166103849160203d602011612a4757612a378183610d7e565b939150612aa2565b65ffffffffffff90818111612b31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612b615750505f905f905f90565b5f19918183810111611cd3575f5260205f2001015460019165ffffffffffff82169160301c90565b6001811115610ff957600181600160801b811015612ca2575b612c4a612c40612c36612c2c612c22612c18612c5697600488600160401b612c519a1015612c95575b640100000000811015612c88575b62010000811015612c7b575b610100811015612c6f575b6010811015612c63575b1015612c5b575b60030260011c612c11818b611ca7565b0160011c90565b612c11818a611ca7565b612c118189611ca7565b612c118188611ca7565b612c118187611ca7565b612c118186611ca7565b8093611ca7565b821190565b900390565b60011b612c01565b811c9160021b91612bfa565b60081c91811b91612bf0565b60101c9160081b91612be5565b60201c9160101b91612bd9565b60401c9160201b91612bcb565b50600160401b9050608082901c612ba2565b91905b838210612cc45750505090565b909192808316906001818518811c8301809311611cd357855f5265ffffffffffff808460205f20015416908516105f14612d03575050925b9190612cb7565b909493508101809111611cd35791612cfc565b612d1e613266565b612d26613266565b60015f805160206132b583398151915255565b60405190612d4682610d48565b5f6040838281528260208201520152565b81601f8201121561031a578051916020916001600160401b038411610d43578360051b9060405194612d8b85840187610d7e565b8552838086019282010192831161031a578301905b828210612dae575050505090565b8380918351612dbc8161031e565b815201910190612da0565b9060208282031261031a5781516001600160401b039283821161031a5701908181039260a0841261031a57606060405194612e0186610d48565b1261031a57604051612e1281610d48565b8351612e1d8161031e565b81526020840151612e2d8161031e565b60208201526040840151612e408161031e565b60408201528452606083015181811161031a5782612e5f918501612d57565b6020850152608083015190811161031a57612e7a9201612d57565b604082015290565b8051821015611f0a5760209160051b010190565b612eb290612ea2612d39565b5060208082518301019101612dc7565b8051519091906001600160a01b03161580612fdc575b612fca579060208101905f5b82518051821015612f4e576112e9612eef83612efc93612e82565b516001600160a01b031690565b15612f3c57612f1e612f1a612f15612eef848751612e82565b612456565b1590565b612f2a57600101612ed4565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015612fc1576112e9612eef83612f7593612e82565b15612fb057612f93612f1a612f8e612eef848751612e82565b6124c4565b612f9f57600101612f5a565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580612ec8575060408201515115612ec8565b908154905f829160058411613060575b613011935084612cb4565b8061303957505f905b6001600160d01b03821615611d5b57610ff99160016120d89201611ef5565b61305361304861305a92611f4a565b835f5260205f200190565b5460301c90565b9061301a565b919261306b81612b89565b8103908111611cd35761301193855f5265ffffffffffff808360205f20015416908516105f1461309c575091613006565b9291506130a890611cc5565b90613006565b604051906130bb82610d28565b5f6020838281520152565b906130ef6130e9613110926130d96130ae565b506130e26130ae565b5084611ef5565b50612100565b91600165ffffffffffff845116936020828060d01b03910151169101611ef5565b9054906040519261312084610d28565b835260031b1c602082015290565b8054600160401b811015610d435761314b91600182018155611ef5565b61317657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b8054929392801561323c576131a06131ab91611f4a565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161322a578793036131f157506131ea92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b91505061322591613211613203610dae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261312e565b6131ea565b604051632520601d60e01b8152600490fd5b50906132619161324d613203610dae565b6001600160d01b038516602083015261312e565b5f9190565b60ff5f805160206132d58339815191525460401c161561328257565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204499a4e541806b6efe7986c303b25f7c58d6541a27cb7ee070507be47989947d64736f6c63430008190033","sourceMap":"7866:3473:92:-: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;:::-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;7866:3473:92;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;7866:3473:92;-1:-1:-1;7866:3473:92;;;-1:-1:-1;;;;;7866:3473:92;;;;;:::o;:::-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;;;:::i;:::-;;;3202:4:23;;;:::i;:::-;7866:3473:92;-1:-1:-1;7866:3473:92;;;;;2662:52:88;:43;7866:3473:92;;-1:-1:-1;7866:3473:92;;;;;;;;;;;;;;;;;2662:43:88;:52;:::i;:::-;3458;3454:102;;7866:3473:92;3656:53:88;7866:3473:92;;-1:-1:-1;7866:3473:92;;;;3566:74:88;7866:3473:92;3566:43:88;7866:3473:92;;-1:-1:-1;7866:3473:92;;;;;;;;;;;;;;;;;3566:43:88;819:34:73;837:15;819:34;:::i;:::-;3566:74:88;;:::i;:::-;-1:-1:-1;;7866:3473:92;;;;;-1:-1:-1;;;;;7866:3473:92;;3656:53:88;7866:3473:92;3454:102:88;7866:3473:92;;-1:-1:-1;;;3533:12:88;;7866:3473:92;;3533:12:88;7866:3473:92;;;;;;;;;;;;;;;;;;3202:4:23;;;:::i;:::-;7866:3473:92;-1:-1:-1;7866:3473:92;2910:15:88;7866:3473:92;;;-1:-1:-1;7866:3473:92;;2901:36:88;;2897:98;;7866:3473:92;-1:-1:-1;7866:3473:92;2103:13:88;7866:3473:92;;;2103:34:88;7866:3473:92;-1:-1:-1;7866:3473:92;2103:34:88;:::i;:::-;3009;3005:84;;3099:25;3171:35;3099:25;:56;3171:35;3099:25;;;7866:3473:92;;2103:13:88;7866:3473:92;;;;;;;3099:56:88;-1:-1:-1;;7866:3473:92;;;;;;;;;;;;3171:35:88;;;;7866:3473:92;3005:84:88;7866:3473:92;-1:-1:-1;;;3066:12:88;;7866:3473:92;;3066:12:88;2897:98;7866:3473:92;-1:-1:-1;;;2960:24:88;;7866:3473:92;;2960:24:88;7866:3473:92;;;;;;-1:-1:-1;;7866:3473:92;;;;;;1537:38:87;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;7866:3473:92;;;;;;;;-1:-1:-1;;7866:3473:92;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;2662:52:88;:43;7866:3473:92;;;;;:::i;:::-;;;-1:-1:-1;7866:3473:92;;;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;;;;;;;2662:52:88;7866:3473:92;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;1632:54:87;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;7866:3473:92;435:10:93;:19;431:71;;8670:64:92;7866:3473;;;-1:-1:-1;7866:3473:92;8670:13;7866:3473;;;-1:-1:-1;7866:3473:92;8670:64;:::i;:::-;7866:3473;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;431:71:93;7866:3473:92;;-1:-1:-1;;;477:14:93;;7866:3473:92;;477:14:93;7866:3473:92;;;;;;-1:-1:-1;;7866:3473:92;;;;;;1743:56:87;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;3361:103:30;;;:::i;:::-;7866:3473:92;;-1:-1:-1;;;4285:48:87;;4322:10;7866:3473:92;4285:48:87;;7866:3473:92;;;;;-1:-1:-1;;;;;4295:16:87;7866:3473:92;4285:48:87;;;;;;;-1:-1:-1;4285:48:87;;;7866:3473:92;4284:49:87;;4280:99;;-1:-1:-1;;;;;7866:3473:92;-1:-1:-1;;4322:10:87;297:2:99;7866:3473:92;;267:46:99;4459:27:87;;;;7866:3473:92;;4459:15:87;7866:3473:92;;;;;;;4459:27:87;7866:3473:92;4459:37:87;4455:87;;4654:38;4552:27;4654:38;4552:27;;;7866:3473:92;;4459:15:87;7866:3473:92;;;;;;;4552:27:87;7866:3473:92;4631:6:87;;;;:::i;:::-;7866:3473:92;;;;;;;;;;;;;4654:38:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;7866:3473:92;3860:283:30;3426:1;7866:3473:92;4280:99:87;7866:3473:92;;-1:-1:-1;;;4356:12:87;;7866:3473:92;;4356:12:87;4285:48;;;;7866:3473:92;4285:48:87;7866:3473:92;4285:48:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;7866:3473:92:-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;-1:-1:-1;7866:3473:92;-1:-1:-1;;;;;;;;;;;7866:3473:92;;;4919:24:23;7866:3473:92;-1:-1:-1;7866:3473:92;4919:24:23;7866:3473:92;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;322:32:80;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;5350:25:23;7866:3473:92;;;;;;;:::i;:::-;;-1:-1:-1;7866:3473:92;-1:-1:-1;;;;;;;;;;;7866:3473:92;;3202:4:23;4919:24;7866:3473:92;-1:-1:-1;7866:3473:92;4919:24:23;7866:3473:92;3202:4:23;:::i;:::-;5350:25;:::i;7866:3473:92:-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;7866:3473:92;;6441:34:23;6437:102;;6549:37;7866:3473:92;;;6549:37:23;:::i;6437:102::-;7866:3473:92;;-1:-1:-1;;;6498:30:23;;7866:3473:92;;6498:30:23;7866:3473:92;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;7866:3473:92;;;;;;;;;;1356:26:87;;7866:3473:92;;4468:23:23;4464:108;;-1:-1:-1;4861:4:87;7866:3473:92;-1:-1:-1;;;;;7866:3473:92;;;;;;4861:13:87;;4857:63;;-1:-1:-1;;;;;;7866:3473:92;;;4861:4:87;7866:3473:92;4958:14:87;-1:-1:-1;;4958:14:87;4861:4;-1:-1:-1;;;;;;;;;;;7866:3473:92;;4464:108:23;7866:3473:92;;;;4514:47:23;;;;;;966:10:28;7866:3473:92;4514:47:23;;7866:3473:92;;;;;4514:47:23;7866:3473:92;;;;;;-1:-1:-1;;7866:3473:92;;;;;;-1:-1:-1;7866:3473:92;2103:13:88;7866:3473:92;;;2103:34:88;7866:3473:92;-1:-1:-1;7866:3473:92;2103:34:88;:::i;7866:3473:92:-;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;7866:3473:92;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;7866:3473:92;;;;;;;4301:16:26;7866:3473:92;;4726:16:26;;:34;;;;7866:3473:92;4805:1:26;4790:16;:50;;;;7866:3473:92;4855:13:26;:30;;;;7866:3473:92;4851:91:26;;;-1:-1:-1;;;;;;;;;;;7866:3473:92;;-1:-1:-1;;7866:3473:92;;;;;718:4:80;;4951:18:26;4979:67;;718:4:80;:::i;:::-;5066:101:26;;7866:3473:92;5066:101:26;-1:-1:-1;;;;;;;;;;;7866:3473:92;;-1:-1:-1;;;;7866:3473:92;;;;;-1:-1:-1;7866:3473:92;;5142:14:26;;7866:3473:92;;5142:14:26;7866:3473:92;4979:67:26;-1:-1:-1;;;;;;;;;;;7866:3473:92;;-1:-1:-1;;;;7866:3473:92;-1:-1:-1;;;7866:3473:92;;;718:4:80;:::i;4851:91:26:-;7866:3473:92;;-1:-1:-1;;;4908:23:26;;7866:3473:92;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;7866:3473:92;;;;;;-1:-1:-1;;7866:3473:92;;;;;;8038:36;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;952:44:88;7866:3473:92;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;1253:6:87;7866:3473:92;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;7866:3473:92;;;;;;-1:-1:-1;;7866:3473:92;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;:::i;:::-;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;1870:60:88;7866:3473:92;;;;;;:::i;:::-;;;;-1:-1:-1;7866:3473:92;1870:13:88;7866:3473:92;;;-1:-1:-1;7866:3473:92;1870:60:88;:::i;7866:3473:92:-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;1356:26:87;7866:3473:92;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;7987:45;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;795:35:88;7866:3473:92;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;3901:31:23;7866:3473:92;;;;;:::i;:::-;;;-1:-1:-1;7866:3473:92;-1:-1:-1;;;;;;;;;;;7866:3473:92;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;;;;;;;3901:31:23;7866:3473:92;;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;2399:78:88;:43;7866:3473:92;;;:::i;:::-;;;;;-1:-1:-1;7866:3473:92;;;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;;;;;;;2399:43:88;:78;:::i;7866:3473:92:-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;8080:45;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;7866:3473:92;;;;-1:-1:-1;7866:3473:92;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;7866:3473:92;;;;;;;;;;477:31:86;;7866:3473:92;;;;;;;;;;;:::i;:::-;477:31:86;7866:3473:92;;477:31:86;;;;;;:::i;:::-;518:79;;;7866:3473:92;518:79:86;;7866:3473:92;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;-1:-1:-1;;;;;404:28:80;7866:3473:92;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;1439:41:87;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;-1:-1:-1;7866:3473:92;2009:67:87;7866:3473:92;;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;5767:26:23;7866:3473:92;;;;;;;:::i;:::-;;-1:-1:-1;7866:3473:92;-1:-1:-1;;;;;;;;;;;7866:3473:92;;3202:4:23;4919:24;7866:3473:92;-1:-1:-1;7866:3473:92;4919:24:23;7866:3473:92;3202:4:23;:::i;:::-;5767:26;:::i;7866:3473:92:-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;7866:3473:92;;;5246:21:87;;:13;;-1:-1:-1;;;;;7866:3473:92;5246:13:87;7866:3473:92;;-1:-1:-1;;;;;7866:3473:92;;;5246:21:87;7866:3473:92;;-1:-1:-1;;;5246:23:87;;7866:3473:92;;;;;5246:23:87;;;;;;;-1:-1:-1;5246:23:87;;;7866:3473:92;-1:-1:-1;;;;;;7866:3473:92;;;5232:10:87;:37;5228:87;;5341:4;7866:3473:92;-1:-1:-1;;;;;7866:3473:92;;;;5355:469:87;;7866:3473:92;-1:-1:-1;;7866:3473:92;;;;;;;;;;;;;;;;5839:55:87;;7866:3473:92;;;;5839:55:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;7866:3473:92;3860:283:30;5355:469:87;7866:3473:92;;;;5435:94:87;;;;7866:3473:92;5435:94:87;;;;;;;;;;;;7866:3473:92;5435:94:87;;;:::i;:::-;;7866:3473:92;;5435:94:87;;;;;;:::i;:::-;7866:3473:92;5548:9:87;:51;5544:118;;-1:-1:-1;5839:55:87;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;7866:3473:92;;-1:-1:-1;;;5626:21:87;;7866:3473:92;;5626:21:87;5228:87;7866:3473:92;;-1:-1:-1;;;5292:12:87;;7866:3473:92;;5292:12:87;5246:23;;;;;7866:3473:92;5246:23:87;7866:3473:92;5246:23:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;7866:3473:92;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;:::i;:::-;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;7866:3473:92;435:10:93;:19;431:71;;9461:43:92;:82;7866:3473;;;-1:-1:-1;7866:3473:92;;;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;;;;;;;9461:43;:82;:::i;7866:3473::-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;1150:7:87;7866:3473:92;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;2700:1:87;7866:3473:92;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;9556:591::-;;;;7866:3473;9556:591;7866:3473;;;;9870:147;;;;;;;;;;;7866:3473;;;;;;;;;;;;;;;;;9870:147;;7866:3473;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;9778:291;7866:3473;9802:229;7866:3473;;;9802:229;:::i;:::-;9870:147;7866:3473;;;9778:291;;;;;;:::i;:::-;10080:61;;;9556:591;:::o;10080:61::-;7866:3473;;;;;;;;9870:147;10113:17;;7866:3473;9870:147;10113:17;;;;;:::i;7866:3473::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;10153:1184::-;7866:3473;;-1:-1:-1;;;10370:99:92;;-1:-1:-1;;;;;7866:3473:92;;;10370:99;;;7866:3473;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7866:3473:92;;;10389:20;7866:3473;;10370:99;;;;;;;;;;;10153:1184;-1:-1:-1;7866:3473:92;;-1:-1:-1;;;10563:32:92;;;7866:3473;10370:99;7866:3473;;;;10563:32;;;;;;;10523:84;10563:32;10370:99;10563:32;;;;;;;10153:1184;-1:-1:-1;7866:3473:92;;-1:-1:-1;;;10523:84:92;;-1:-1:-1;;;;;7866:3473:92;;;10370:99;10523:84;;7866:3473;;;;;;;;;;;;;-1:-1:-1;7866:3473:92;;;;;;;;;10523:84;;10534:11;;7866:3473;10523:84;;;;;;;10370:99;10523:84;;;10153:1184;10651:50;;;;;10752:68;10651:50;;;;:::i;:::-;10752:68;;:::i;:::-;7866:3473;;;10848:21;;;:52;;;10153:1184;10848:85;;;;10153:1184;10848:142;;;;10153:1184;10831:500;;10153:1184;;;;;;:::o;10831:500::-;11022:298;7866:3473;;11022:298;7866:3473;;;;:::i;:::-;;;;10563:32;11050:256;;7866:3473;;11050:256;;7866:3473;;11050:256;;7866:3473;;;11022:298;;;10563:32;11022:298;;;:::i;10848:142::-;7866:3473;;;10953:37;;10848:142;;:85;7866:3473;;;10904:29;;10848:85;;:52;7866:3473;;;10873:27;;10848:52;;10523:84;10752:68;10523:84;;;;;;;;;10370:99;10523:84;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;10563:32;;;;;;;;;;;;;;:::i;:::-;;;;10370:99;;;;;;;;;;;;;;:::i;:::-;;;;;1742:195:88;;1870:60;1742:195;;-1:-1:-1;7866:3473:92;1870:13:88;7866:3473:92;;;-1:-1:-1;7866:3473:92;1870:60:88;:::i;2207:277::-;-1:-1:-1;7866:3473:92;;;2399:21:88;7866:3473:92;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;2399:78:88;;2207:277;;2399:78;:::i;7866:3473:92:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;7866:3473:92;;;;:::o;:::-;;;:::o;8747:485::-;8935:219;8747:485;8959:157;8747:485;;;;7866:3473;;;;;9011:91;;;;;;;;;;;7866:3473;;;;;;;9011:91;;;;;:::i;:::-;8959:157;:::i;7866:3473::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2764:920:87:-;;2978:48;2764:920;;;;2978:48;;;;:::i;:::-;3036:36;;;7866:3473:92;;:::i;:::-;;;;3086:20:87;3082:107;;2764:920;3216:11;;;;:193;;;;;2764:920;3216:394;;;;2764:920;3199:455;;;;;;2764:920;:::o;3199:455::-;3635:8;-1:-1:-1;3635:8:87;:::o;3216:394::-;3553:39;;;;;3430:180;3553:39;;;7866:3473:92;;;;;;;;;;3430:180:87;;467:2:99;7866:3473:92;3430:180:87;;;;;:::i;:::-;;7866:3473:92;3444:31:87;-1:-1:-1;;;;;7866:3473:92;3430:180:87;;;;;;;-1:-1:-1;3430:180:87;;;3216:394;3429:181;;3216:394;;;;;;3430:180;;;;3553:39;3430:180;3553:39;3430:180;;;;;;;:::i;:::-;;;;3216:193;-1:-1:-1;7866:3473:92;;;-1:-1:-1;;;;;;7866:3473:92;3248:161:87;3354:37;;;7866:3473:92;3248:161:87;7866:3473:92;;;;;;;;;;3248:161:87;;;;;;;:::i;:::-;;7866:3473:92;3262:29:87;-1:-1:-1;;;;;7866:3473:92;3248:161:87;;;;;;;-1:-1:-1;3248:161:87;;;3216:193;3247:162;;3216:193;;;3248:161;;;;;;;;;;;;;;:::i;:::-;;;;3082:107;3139:39;;;;;;;;;;;;;:::i;:::-;3082:107;;;;;7866:3473:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;8889:1:97;7866:3473:92;;;;;;;:::o;:::-;;:::i;3740:389:87:-;3918:5;7866:3473:92;;;-1:-1:-1;;;3853:71:87;;;-1:-1:-1;;;;;7866:3473:92;;;3853:71:87;;;7866:3473:92;;;;;;;;3740:389:87;;7866:3473:92;3853:71:87;;7866:3473:92;;3853:71:87;7866:3473:92;;;3867:29:87;7866:3473:92;;3853:71:87;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;7866:3473:92;;;3852:181:87;;3740:389;3835:242;;;;;;4094:28;;;:::i;3835:242::-;4058:8;;3918:5;4058:8;:::o;3852:181::-;7866:3473:92;;3945:88:87;;;-1:-1:-1;;;;;7866:3473:92;;3853:71:87;3945:88;;7866:3473:92;467:2:99;7866:3473:92;;;;;;;;-1:-1:-1;7866:3473:92;;;;;;;;3959:31:87;7866:3473:92;3945:88:87;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;3945:88;;;;;;-1:-1:-1;3945:88:87;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;4148:103:23;966:10:28;-1:-1:-1;7866:3473:92;;;;;;;;;952:44:88;;7866:3473:92;;3901:31:23;7866:3473:92;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;7866:3473:92;;;;;;;;;795:35:88;;7866:3473:92;;3901:31:23;7866:3473:92;4148:103:23;-1:-1:-1;7866:3473:92;;;-1:-1:-1;;;;;;;;;;;7866:3473:92;;;;;;;;966:10:28;7866:3473:92;;;;;;;;;3901:31:23;7866:3473:92;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7866:3473:92;;-1:-1:-1;7866:3473:92;;;-1:-1:-1;7866:3473:92;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;;7866:3473:92;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;:::o;6246:584:97:-;;;;;6360:12;;;7866:3473:92;;;6360:24:97;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;7866:3473:92;;;;;;6578:12:97;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;6644:21:97;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;7866:3473:92;;8310:38:71;;-1:-1:-1;;;;;7866:3473:92;;;;;8310:38:71;:::i;:::-;6753:24:97;;;:::i;6604:::-;7866:3473:92;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;7866:3473:92;;;;;;6360:12:97;7866:3473:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:97;;;525:595:93;-1:-1:-1;525:595:93;;;;7866:3473:92;;716:88:93;;7866:3473:92;716:88:93;;;;;;;;;783:4;716:88;;;7866:3473:92;;;;;;;;;;;:::i;716:88:93:-;698:107;;;;;;;:::i;:::-;7866:3473:92;;857:45:93;;7866:3473:92;;;;;;;;716:88:93;857:45;;7866:3473:92;:::i;:::-;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;857:45:93;716:88;857:45;;;7866:3473:92;;;;:::i;:::-;916:8:93;;912:175;;525:595;:::o;912:175::-;7866:3473:92;;944:22:93;;;940:36;;716:88;990:87;;10580:184:97;7866:3473:92;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;7866:3473:92;;10726:7:97;7866:3473:92;;10736:12:97;:17;:12;;:17;:::i;:::-;7866:3473:92;;;;;;10580:184:97;:::o;10446:63:71:-;7866:3473:92;;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;;-1:-1:-1;13267:109:97;;;7866:3473:92;;;10446:63:71;;7866:3473:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:97:-;;;7866:3473:92;;8620:15:97;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;7866:3473:92;9219:31:97;7866:3473:92;9130:48:97;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;7866:3473:92;:::i;:::-;;9176:1:97;7866:3473:92;9232:17:97;7866:3473:92;;;;;;;;9232:17:97;;7866:3473:92;-1:-1:-1;;;;;7866:3473:92;;;;9219:12:97;;:31;:::i;7866:3473:92:-;9259:7:97;;:::i;:::-;7866:3473:92;;;;9252:15:97;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:97;;-1:-1:-1;8578:11:97;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;7866:3473:92;;;;;;;8939:60:97;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;7866:3473:92;;;;;;8759:49:97;7866:3473:92;;;;8753:55:97;7866:3473:92;;;8753:55:97;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;7866:3473:92;;3670:20:30;3666:88;;1991:1;7866:3473:92;;3470:384:30:o;3666:88::-;7866:3473:92;;-1:-1:-1;;;3713:30:30;;;;;4758:308:88;;7866:3473:92;-1:-1:-1;7866:3473:92;4889:13:88;7866:3473:92;;;-1:-1:-1;7866:3473:92;11124:30:97;;;;:::i;:::-;11173;;;-1:-1:-1;11173:30:97;;;;11182:17;;-1:-1:-1;;;;;7866:3473:92;;11182:12:97;;:17;:::i;:::-;7866:3473:92;;;4889:13:88;7866:3473:92;;11173:30:97;4947::88;;;11173::97;4943:117:88;;;;4758:308;;:::o;4943:117::-;4993:56;7866:3473:92;-1:-1:-1;7866:3473:92;4889:13:88;7866:3473:92;;;-1:-1:-1;7866:3473:92;819:34:73;837:15;819:34;:::i;4993:56:88:-;4758:308;;:::o;4947:30::-;4957:20;;-1:-1:-1;4947:30:88;;;;11173::97;;;-1:-1:-1;11173:30:97;;7270:387:23;-1:-1:-1;;;;;7866:3473:92;;-1:-1:-1;7866:3473:92;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;7866:3473:92;;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;-1:-1:-1;;7866:3473:92;7509:4:23;7866:3473:92;;;966:10:28;;-1:-1:-1;;;;;7866:3473:92;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7270:387::-;-1:-1:-1;;;;;7866:3473:92;;-1:-1:-1;7866:3473:92;;;;;;;;;1356:26:87;;-1:-1:-1;;;;;;;;;;;2887:71:23;7866:3473:92;;3901:31:23;7866:3473:92;;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;-1:-1:-1;;7866:3473:92;7509:4:23;7866:3473:92;;;966:10:28;;-1:-1:-1;;;;;7866:3473:92;;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;;;;;7866:3473:92;;-1:-1:-1;7866:3473:92;;;;;;;;;795:35:88;;-1:-1:-1;;;;;;;;;;;2887:71:23;7866:3473:92;;3901:31:23;7866:3473:92;7270:387:23;-1:-1:-1;;;;;7866:3473:92;;-1:-1:-1;7866:3473:92;;;;;;;;;952:44:88;;-1:-1:-1;;;;;;;;;;;2887:71:23;7866:3473:92;;3901:31:23;7866:3473:92;7270:387:23;-1:-1:-1;7866:3473:92;;;-1:-1:-1;;;;;;;;;;;7866:3473:92;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;3901:31:23;7866:3473:92;7892:388:23;-1:-1:-1;7866:3473:92;;;-1:-1:-1;;;;;;;;;;;7866:3473:92;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;;-1:-1:-1;7866:3473:92;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;966:10:28;;-1:-1:-1;;;;;7866:3473:92;;8155:40:23;-1:-1:-1;;8155:40:23;7866:3473:92;8209:11:23;:::o;7866:3473:92:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;:::i;5907:716:87:-;6030:34;5907:716;6030:34;;;;:::i;:::-;7866:3473:92;;-1:-1:-1;;;6080:41:87;;-1:-1:-1;;;;;7866:3473:92;;;6080:41:87;;;7866:3473:92;;;;;6080:41:87;7866:3473:92;;;6090:13:87;7866:3473:92;;6080:41:87;;;;;;;-1:-1:-1;6080:41:87;;;5907:716;6079:42;;6075:90;;6266:27;7866:3473:92;2684:111:30;6210:14:87;7866:3473:92;2684:111:30;;;:::i;:::-;7866:3473:92;;;;;;-1:-1:-1;;;;;7866:3473:92;;-1:-1:-1;7866:3473:92;;;-1:-1:-1;7866:3473:92;;6210:14:87;6266:27;:::i;:::-;6080:41;6311:15;;7866:3473:92;;;;-1:-1:-1;;;;;;7866:3473:92;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;6337:143:87;;5907:716;-1:-1:-1;6493:28:87;7866:3473:92;-1:-1:-1;;;;;7866:3473:92;;;;;;;6489:128:87;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;7866:3473:92;;-1:-1:-1;;;6144:10:87;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;7866:3473:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:97:-;;7866:3473:92;;7686:17:97;7682:83;;7866:3473:92;7789:27:97;7866:3473:92;7789:27:97;7866:3473:92;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;7866:3473:92;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;7866:3473:92;8075:24:97;:::o;7975:84::-;7866:3473:92;;;8009:16:97;7866:3473:92;;8009:16:97;:::i;:::-;7866:3473:92;;;8001:24:97;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;7866:3473:92;;;;;8029:29:97;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;7866:3473:92;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;7866:3473:92:-;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;3722:766:88:-;;;;;7866:3473:92;;:::i;:::-;;;;3962:16:88;3958:92;;3722:766;7866:3473:92;;4107:67:88;7866:3473:92;;;4146:27:88;4107;:13;7866:3473:92;-1:-1:-1;7866:3473:92;;;;;;;;;4107:27:88;4146;;;;7866:3473:92;;;;;;;;;;;4107:67:88;;;;;;;:::i;:::-;;;;;;;;;;4081:355;4107:67;-1:-1:-1;4107:67:88;;;3722:766;4260:28;4311:93;4260:28;4192:230;4260:28;;4222:67;7866:3473:92;4260:28:88;;;4222:67;;;:::i;:::-;4367:36;;;;;4311:93;;:::i;:::-;4192:230;3463:5:68;;;;3066;;7866:3473:92;3060:42:68;3371:111;;4081:355:88;4450:21;;3722:766;:::o;4107:67::-;4192:230;4107:67;;;;4311:93;4107:67;4146:27;4107:67;4146:27;4107:67;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;3958:92;4107:67;4008:31;;;;;;;;;;;;;;:::i;:::-;3958:92;;;;;4494:258;4635:5;7866:3473:92;;;-1:-1:-1;;;4628:27:88;;7866:3473:92;4494:258:88;4628:27;;7866:3473:92;;4628:27:88;;7866:3473:92;;-1:-1:-1;;;;;7866:3473:92;4628:27:88;;;;;;;4635:5;4628:27;;;4494:258;2103:25;2662:43;:52;2103:25;:34;:25;;7866:3473:92;;2103:13:88;7866:3473:92;;;;;;;2103:34:88;7866:3473:92;4635:5:88;7866:3473:92;4628:27:88;;7866:3473:92;;4635:5:88;7866:3473:92;;;;;;;;;;;;;;;;;2662:52:88;3463:5:68;;;;;3066;;7866:3473:92;3060:42:68;3463:5;;;;;3066;;7866:3473:92;3060:42:68;4494:258:88;:::o;4628:27::-;2662:52;4628:27;;;;2662:43;4628:27;;;;;;;;;;;:::i;:::-;;;;;;14296:213:69;7866:3473:92;14374:24:69;;;;14370:103;;7866:3473:92;14296:213:69;:::o;14370:103::-;7866:3473:92;;;;14421:41:69;;;;;;14452:2;14421:41;;;7866:3473:92;;;;;14421:41:69;10695:389:71;7866:3473:92;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;7866:3473:92;;;;;;;;;;10833:17:71;13267:109:97;;10833:17:71;13267:109:97;;;7866:3473:92;11014:1:71;7866:3473:92;;;;;;;11030:37:71;:::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;7866:3473:92;18246:1:68;7866:3473:92;22284:6:68;;;;:::i;:::-;7866:3473:92;;;;;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;;;7866:3473:92;23216:28:68;7866:3473:92;;18080:5181:68;:::o;19887:61::-;18246:1;7866:3473:92;19887:61:68;;19787:87;7866:3473:92;;;;;19787:87:68;;;19687;7866:3473:92;;;;;19687:87:68;;;19585:89;7866:3473:92;;;;;19585:89:68;;;19482:90;7866:3473:92;;;;;19482:90:68;;;19379;7866:3473:92;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;7866:3473:92;-1:-1:-1;7866:3473:92;;;;19274:92:68;;12497:447:97;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:68;;;;;;7866:3473:92;;3731:5:68;;;7866:3473:92;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;7866:3473:92;13267:109:97;;;-1:-1:-1;13267:109:97;;7866:3473:92;;;;;-1:-1:-1;12771:136:97;7866:3473:92;;;12830:10:97;;12771:136;;12687:230;;;;12771:136;7866:3473:92;;;;;;;;;;;12771:136:97;;;6893:76:26;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;7866:3473:92;6893:76:26:o;7866:3473:92:-;;;;;;;:::i;:::-;-1:-1:-1;7866:3473:92;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:92;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;5072:1269:88:-;5220:30;5072:1269;7866:3473:92;;:::i;:::-;;5220:30:88;7866:3473:92;;;5220:30:88;;;;;;:::i;:::-;5278:17;;7866:3473:92;5278:17:88;;7866:3473:92;-1:-1:-1;;;;;7866:3473:92;5278:54:88;;:178;;5072:1269;5261:258;;5534:9;5220:30;5549:33;;;5278:17;5591:3;5549:33;;7866:3473:92;;5545:44:88;;;;;5614:36;;;:50;:36;;:::i;:::-;7866:3473:92;-1:-1:-1;;;;;7866:3473:92;;;5614:50:88;;5610:119;;5747:73;5748:72;5783:36;;:33;;;:36;:::i;:::-;5748:72;:::i;:::-;5747:73;;7866:3473:92;5747:73:88;5743:140;;7866:3473:92;;5534:9:88;;5743:140;7866:3473:92;;-1:-1:-1;;;5847:21:88;;;;;5610:119;7866:3473:92;;-1:-1:-1;;;5691:23:88;;;;;5545:44;-1:-1:-1;5923:41:88;;-1:-1:-1;;5923:41:88;;;;5278:17;5973:3;5923:41;;7866:3473:92;;5919:52:88;;;;;5996:44;;;:58;:44;;:::i;:58::-;;5992:127;;6137:90;6138:89;6182:44;;:41;;;:44;:::i;:::-;6138:89;:::i;6137:90::-;6133:157;;7866:3473:92;;5908:9:88;;6133:157;7866:3473:92;;-1:-1:-1;;;6254:21:88;;;;;5992:127;7866:3473:92;;-1:-1:-1;;;6081:23:88;;;;;5919:52;;;;;;6317:17;5072:1269;:::o;5261:258::-;7866:3473:92;;-1:-1:-1;;;5488:20:88;;;;;5278:178;5353:33;5220:30;5353:33;;;7866:3473:92;5353:45:88;:102;5278:178;5353:102;5402:41;;;;;7866:3473:92;5402:53:88;5278:178;;6999:207:97;;7866:3473:92;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;7866:3473:92;;7168:7:97;7866:3473:92;;;7178:12:97;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:97;;;;;;13089:293;;10135:41:71;7866:3473:92;;;;;10135:48:71;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;7866:3473:92;;;;;;;10049:53:71;13267:109:97;;-1:-1:-1;13267:109:97;7866:3473:92;13267:109:97;;;-1:-1:-1;13267:109:97;;7866:3473:92;;;;;9870:48:71;9866:149;7866:3473:92;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;7866:3473:92;;;;;;;:::i;:::-;-1:-1:-1;7866:3473:92;;;;;;;:::o;11486:272:97:-;;7866:3473:92;11452:22:71;11718:31:97;11486:272;7866:3473:92;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;7866:3473:92;;:::i;:::-;;11718:12:97;7866:3473:92;;;;;11731:17:97;7866:3473:92;;;;;11731:17:97;;7866:3473:92;;11718:12:97;;:31;:::i;:::-;7866:3473:92;;;;;;;;;:::i;:::-;;;;;;11731:17:97;11672:79;;7866:3473:92;11486:272:97;:::o;7866:3473:92:-;;;-1:-1:-1;;;7866:3473:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;7866:3473:92;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;7866:3473:92;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:97;;;;;;13089:293;;11916:28:71;7866:3473:92;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;7866:3473:92;;;;;;;;;;;;;;;;;12285:19:71;7866:3473:92;;12423:25:71;;:::o;12247:163::-;7866:3473:92;;;12343:52:71;7866:3473:92;12353:41:71;7866:3473:92;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;7866:3473:92;;12353:41:71;;;7866:3473:92;12343:52:71;:::i;:::-;12247:163;;12099:89;7866:3473:92;;-1:-1:-1;;;12143:30:71;;;;;11860:713;7866:3473:92;;12479:52:71;7866:3473:92;12489:41:71;7866:3473:92;;:::i;12489:41:71:-;-1:-1:-1;;;;;7866:3473:92;;12489:41:71;;;7866:3473:92;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;7084:141:26:-;7866:3473:92;-1:-1:-1;;;;;;;;;;;7866:3473:92;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;7866:3473:92;;-1:-1:-1;;;7191:17:26;;;;","linkReferences":{},"immutableReferences":{"59800":[{"start":2349,"length":32}],"59803":[{"start":4427,"length":32}],"60754":[{"start":1953,"length":32},{"start":4484,"length":32}],"60757":[{"start":1250,"length":32},{"start":9830,"length":32}],"60760":[{"start":1612,"length":32},{"start":7136,"length":32},{"start":7439,"length":32}],"60763":[{"start":1823,"length":32},{"start":6983,"length":32},{"start":7565,"length":32}],"63654":[{"start":3772,"length":32},{"start":6042,"length":32}],"63656":[{"start":3215,"length":32},{"start":6203,"length":32}],"63658":[{"start":4175,"length":32}],"64360":[{"start":1686,"length":32},{"start":5260,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_LIMIT_SET_ROLE()":"7d24bb27","NETWORK_REGISTRY()":"c0cd7c3e","OPERATOR_NETWORK_LIMIT_SET_ROLE()":"518504ba","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VAULT_HINTS()":"45e78fcb","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","networkLimit(bytes32)":"3eb22c0f","networkLimitAt(bytes32,uint48,bytes)":"5d32a1c9","networkLimitHint(address,bytes32,uint48)":"da749d2b","networkLimitHintInternal(bytes32,uint48)":"197aa7ea","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","operatorNetworkLimit(bytes32,address)":"11422095","operatorNetworkLimitAt(bytes32,address,uint48,bytes)":"94d2558a","operatorNetworkLimitHint(address,bytes32,address,uint48)":"10a28b5d","operatorNetworkLimitHintInternal(bytes32,address,uint48)":"f7b05547","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","setNetworkLimit(bytes32,uint256)":"02145348","setOperatorNetworkLimit(bytes32,address,uint256)":"020cf0c2","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateRoleHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedsMaxNetworkLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoleHolders\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"ZeroAddressRoleHolder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetOperatorNetworkLimit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"networkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"networkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"operatorNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"operatorNetworkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"operatorNetworkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"operatorNetworkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"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\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setOperatorNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetOperatorNetworkLimit(bytes32,address,uint256)\":{\"params\":{\"amount\":\"new operator's limit for the subnetwork (how much stake the vault curator is ready to give to the operator for the subnetwork)\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"networkLimit(bytes32)\":{\"params\":{\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"limit of the subnetwork\"}},\"networkLimitAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the subnetwork limit at\"},\"returns\":{\"_0\":\"limit of the subnetwork at the given timestamp\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"operatorNetworkLimit(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"limit of the operator for the subnetwork\"}},\"operatorNetworkLimitAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the operator's limit for the subnetwork at\"},\"returns\":{\"_0\":\"limit of the operator for the subnetwork at the given timestamp\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"setNetworkLimit(bytes32,uint256)\":{\"details\":\"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"amount\":\"new limit of the subnetwork\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"setOperatorNetworkLimit(bytes32,address,uint256)\":{\"details\":\"Only an OPERATOR_NETWORK_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"amount\":\"new limit of the operator for the subnetwork\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"},\"SetNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's limit is set.\"},\"SetOperatorNetworkLimit(bytes32,address,uint256)\":{\"notice\":\"Emitted when an operator's limit for a subnetwork is set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_LIMIT_SET_ROLE()\":{\"notice\":\"Get a subnetwork limit setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_LIMIT_SET_ROLE()\":{\"notice\":\"Get an operator-subnetwork limit setter's role.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"networkLimit(bytes32)\":{\"notice\":\"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"networkLimitAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork).\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"operatorNetworkLimit(bytes32,address)\":{\"notice\":\"Get an operator's limit for a subnetwork. (how much stake the vault curator is ready to give to the operator for the subnetwork)\"},\"operatorNetworkLimitAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get an operator's limit for a subnetwork at a given timestamp using a hint (how much stake the vault curator is ready to give to the operator for the subnetwork).\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"setNetworkLimit(bytes32,uint256)\":{\"notice\":\"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"setOperatorNetworkLimit(bytes32,address,uint256)\":{\"notice\":\"Set an operator's limit for a subnetwork. (how much stake the vault curator is ready to give to the operator for the subnetwork)\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"FullRestakeDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"},{"internalType":"address","name":"vaultHints","type":"address"},{"internalType":"address","name":"optInServiceHints","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":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DuplicateRoleHolder"},{"inputs":[],"type":"error","name":"ExceedsMaxNetworkLimit"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"MissingRoleHolders"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"ZeroAddressRoleHolder"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetOperatorNetworkLimit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"networkLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"networkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"operatorNetworkLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"operatorNetworkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"operatorNetworkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"operatorNetworkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setOperatorNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"networkLimit(bytes32)":{"params":{"subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"limit of the subnetwork"}},"networkLimitAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the subnetwork limit at"},"returns":{"_0":"limit of the subnetwork at the given timestamp"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"operatorNetworkLimit(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"limit of the operator for the subnetwork"}},"operatorNetworkLimitAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the operator's limit for the subnetwork at"},"returns":{"_0":"limit of the operator for the subnetwork at the given timestamp"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"setNetworkLimit(bytes32,uint256)":{"details":"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.","params":{"amount":"new limit of the subnetwork","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"setOperatorNetworkLimit(bytes32,address,uint256)":{"details":"Only an OPERATOR_NETWORK_LIMIT_SET_ROLE holder can call this function.","params":{"amount":"new limit of the operator for the subnetwork","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_LIMIT_SET_ROLE()":{"notice":"Get a subnetwork limit setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_LIMIT_SET_ROLE()":{"notice":"Get an operator-subnetwork limit setter's role."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"networkLimit(bytes32)":{"notice":"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"networkLimitAt(bytes32,uint48,bytes)":{"notice":"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork)."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"operatorNetworkLimit(bytes32,address)":{"notice":"Get an operator's limit for a subnetwork. (how much stake the vault curator is ready to give to the operator for the subnetwork)"},"operatorNetworkLimitAt(bytes32,address,uint48,bytes)":{"notice":"Get an operator's limit for a subnetwork at a given timestamp using a hint (how much stake the vault curator is ready to give to the operator for the subnetwork)."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"setNetworkLimit(bytes32,uint256)":{"notice":"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"setOperatorNetworkLimit(bytes32,address,uint256)":{"notice":"Set an operator's limit for a subnetwork. (how much stake the vault curator is ready to give to the operator for the subnetwork)"},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"FullRestakeDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":92} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"},{"name":"vaultHints","type":"address","internalType":"address"},{"name":"optInServiceHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operatorNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"operatorNetworkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"operatorNetworkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"operatorNetworkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOperatorNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetOperatorNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","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":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DuplicateRoleHolder","inputs":[]},{"type":"error","name":"ExceedsMaxNetworkLimit","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"MissingRoleHolders","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","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":"ZeroAddressRoleHolder","inputs":[]}],"bytecode":{"object":"0x6101c0346101c857601f61351f38819003918201601f19168301916001600160401b0391828411858510176101cc5781606092869260409687528339810103126101c85761004c836101e0565b926100648361005d602084016101e0565b92016101e0565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101b7578080831603610173575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609283526101809384526101a0948552519461332a96876101f58839608051878181610696015261148c015260a0518761092d015260c0518761114b015260e0518781816107a101526111840152518681816104e2015261266601525185818161064c01528181611be00152611d0f01525184818161071f01528181611b470152611d8d015251838181610ebc015261179a015251828181610c8f015261183b0152518161104f0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101c85756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146102c4578063020cf0c2146102bf57806302145348146102ba578063103f2907146102b557806310a28b5d146102b057806311422095146102ab578063128e5d82146102a6578063197aa7ea146102a15780631a80e5001461029c57806323f752d514610297578063248a9ca31461029257806325dc97081461028d5780632dd31000146102885780632f2ff15d1461028357806336568abe1461027e5780633dfd3873146102795780633eb22c0f14610274578063439fab911461026f57806345e78fcb1461026a578063518504ba14610265578063557cab44146102605780635d32a1c91461025b5780636679191e1461025657806379d89614146102515780637d24bb271461024c5780637f5a7c7b1461024757806391d148541461024257806394d2558a1461023d5780639b656b22146102385780639f86fd8514610233578063a217fddf1461022e578063bb24fe8a14610229578063c0cd7c3e14610224578063d15b740e1461021f578063d547741f1461021a578063da749d2b14610215578063e02f693714610210578063e49561ee1461020b578063f7b0554714610206578063fbfa77cf14610201578063fd4d447c146101fc578063ff54740f146101f75763ffa1ad74146101f2575f80fd5b611557565b61153a565b611510565b6114e9565b611465565b61127a565b61125e565b611229565b6111dd565b6111b3565b61116f565b61112c565b611112565b61107e565b61103a565b610ffc565b610f4c565b610f24565b610eeb565b610ea7565b610e6d565b610e1c565b610cf8565b610cbe565b610c7a565b610b42565b610aec565b6109f3565b6109a8565b61095c565b610918565b6108fb565b6108c2565b61074e565b61070a565b61067b565b610637565b6105e8565b6105b3565b6104cd565b610410565b61032f565b3461031a57602036600319011261031a5760043563ffffffff60e01b811680910361031a57602090637965db0b60e01b8114908115610309575b506040519015158152f35b6301ffc9a760e01b1490505f6102fe565b5f80fd5b6001600160a01b0381160361031a57565b3461031a57606036600319011261031a5760243560043561034f8261031e565b6044359161035b611e02565b815f526004602052826103896103848360405f209060018060a01b03165f5260205260405f2090565b6120b3565b146103fe5760207ffc9545f07ffadfb668efd0144cdcaf2d6e2c8192dce1ea9fc131934f9c90fc7e91835f52600482526103e9856103da8360405f209060018060a01b03165f5260205260405f2090565b6103e342612b1e565b90611f58565b50506040519485526001600160a01b031693a3005b60405163a741a04560e01b8152600490fd5b3461031a5760408060031936011261031a576004359060243590610432611e5f565b825f526002602052805f205482116104bd57825f52600360205281610458825f206120b3565b146104ad57816104a8916104987e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103da875f52600360205260405f2090565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff8216820361031a57565b6044359065ffffffffffff8216820361031a57565b6064359065ffffffffffff8216820361031a57565b608090600319011261031a576004356105688161031e565b90602435906044356105798161031e565b9060643565ffffffffffff8116810361031a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461031a576105e46105d06105c736610550565b929190916115b1565b60405191829160208352602083019061058f565b0390f35b3461031a57604036600319011261031a57602061062f61038460243561060d8161031e565b6004355f526004845260405f209060018060a01b03165f5260205260405f2090565b604051908152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a57610694610511565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576106db906004355f52600360205260405f20612124565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a576004356001600160601b038116810361031a576024359061077e612229565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156108bd575f9161088e575b501561087c576001600160601b03166bffffffffffffffffffffffff193360601b16179080610808835f52600260205260405f2090565b54146103fe57610861817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610846855f52600260205260405f2090565b556108518185612258565b6040519081529081906020820190565b0390a261087a60015f805160206132b583398151915255565b005b6040516323d53b9760e21b8152600490fd5b6108b0915060203d6020116108b6575b6108a88183610d7e565b810190611649565b5f6107d1565b503d61089e565b61165d565b3461031a57602036600319011261031a576004355f525f805160206132958339815191526020526020600160405f200154604051908152f35b3461031a576105e46105d061090f36610550565b9291909161174e565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5761087a60243560043561097f8261031e565b805f525f805160206132958339815191526020526109a3600160405f200154611eb5565b612533565b3461031a57604036600319011261031a576024356109c58161031e565b336001600160a01b038216036109e15761087a90600435612569565b60405163334bd91960e11b8152600490fd5b3461031a57602036600319011261031a57600435610a108161031e565b610a18612229565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610ace57506001546001600160a01b0391821691811682146103fe576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206132b583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461031a57602036600319011261031a576004355f526003602052602061062f60405f206120b3565b9181601f8401121561031a578235916001600160401b03831161031a576020838186019501011161031a57565b3461031a57602036600319011261031a576001600160401b0360043581811161031a57610b73903690600401610b15565b5f805160206132d5833981519152549260ff8460401c1615931680159081610c72575b6001149081610c68575b159081610c5f575b50610c4d575f805160206132d5833981519152805467ffffffffffffffff19166001179055610bdb9183610c2957612631565b610be157005b5f805160206132d5833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206132d5833981519152805460ff60401b1916600160401b179055612631565b60405163f92ee8a960e01b8152600490fd5b9050155f610ba8565b303b159150610ba0565b849150610b96565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a38152f35b3461031a575f36600319011261031a576020604051614e208152f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610d4357604052565b610d14565b606081019081106001600160401b03821117610d4357604052565b608081019081106001600160401b03821117610d4357604052565b90601f801991011681019081106001600160401b03821117610d4357604052565b60405190610dac82610d63565b565b60405190610dac82610d28565b6001600160401b038111610d4357601f01601f191660200190565b81601f8201121561031a57803590610ded82610dbb565b92610dfb6040519485610d7e565b8284526020838301011161031a57815f926020809301838601378301015290565b3461031a57606036600319011261031a57610e35610511565b6044356001600160401b03811161031a57602091610e5a61062f923690600401610dd6565b906004355f526003845260405f20612798565b3461031a575f36600319011261031a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461031a575f36600319011261031a576001546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602060ff610f9e602435610f708161031e565b6004355f525f80516020613295833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b90608060031983011261031a5760043591602435610fc78161031e565b9160443565ffffffffffff8116810361031a5791606435906001600160401b03821161031a57610ff991600401610dd6565b90565b3461031a57602061062f61103561101236610faa565b939190925f526004865260405f209060018060a01b03165f5260205260405f2090565b612798565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5760043561109b8161031e565b6024356001600160401b03811161031a575f916110bd83923690600401610b15565b90816040519283928337810184815203915af461110a6110db6119a3565b916110fc60405193849215156020840152604080840152606083019061058f565b03601f198101835282610d7e565b805190602001fd5b3461031a575f36600319011261031a5760206040515f8152f35b3461031a575f36600319011261031a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57602036600319011261031a576004355f526002602052602060405f2054604051908152f35b3461031a57604036600319011261031a5761087a6024356004356112008261031e565b805f525f80516020613295833981519152602052611224600160405f200154611eb5565b612569565b3461031a57606036600319011261031a576105e46105d060043561124c8161031e565b611254610526565b90602435906119d2565b3461031a57602061062f61127136610faa565b92919091611ad1565b3461031a5760a036600319011261031a5760243560043561129a8261031e565b604435916112a661053b565b90608435906001600160401b03821161031a576112c860049236908401610dd6565b6112d0612229565b5f546020906112f5906112e9906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156108bd575f93611434575b506001600160a01b039283163303611422576001546001600160a01b0316838116611397575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361087a60015f805160206132b583398151915255565b9093604051946113ce866113c0602082019363724ab0f760e11b8552858c898d60248701611c5b565b03601f198101885287610d7e565b62042e305a10611410575f61137e938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f1509361133d565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61145791935060203d60201161145e575b61144f8183610d7e565b8101906116d3565b915f611317565b503d611445565b3461031a57606036600319011261031a576024356114828161031e565b61148a610526565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576114e46106db926004355f52600460205260405f209060018060a01b03165f5260205260405f2090565b612124565b3461031a575f36600319011261031a575f546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602061062f6024356115328161031e565b600435611cd8565b3461031a575f36600319011261031a5760206040516203d0908152f35b3461031a575f36600319011261031a57602060405160018152f35b5190811515820361031a57565b519063ffffffff8216820361031a57565b919082604091031261031a57610ff960206115aa84611572565b930161157f565b91939265ffffffffffff906060956040519363f7b0554760e01b6020860152602485015260018060a01b031660448401521660648201526064815260a08101908082106001600160401b03831117610d4357611622926116139260405261201a565b60208082518301019101611590565b9061162a5750565b90915063ffffffff6040519116602082015260208152610ff981610d28565b9081602091031261031a57610ff990611572565b6040513d5f823e3d90fd5b81601f8201121561031a5780519061167f82610dbb565b9261168d6040519485610d7e565b8284526020838301011161031a57815f9260208093018386015e8301015290565b9060208282031261031a5781516001600160401b03811161031a57610ff99201611668565b9081602091031261031a5751610ff98161031e565b90610ff9916020815261170782516080602084015260a083019061058f565b906080606061173e61172b602087015195601f19968787830301604088015261058f565b604087015186868303018487015261058f565b940151928285030191015261058f565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491939091905f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa9485156108bd575f95611945575b5060405163fbfa77cf60e01b8152602081600481888d165afa9081156108bd57611837995f9286928491611926575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9788156108bd575f986118fa575b50908161187d846118839594876119d2565b946115b1565b908251158015906118f0575b80156118e6575b80156118dc575b6118a957505050909150565b6110fc9450610ff993956118bb610d9f565b938452602084015260408301526060820152604051928391602083016116e8565b508151151561189d565b5080511515611896565b508551151561188f565b611883939291985061191d903d805f833e6119158183610d7e565b8101906116ae565b9790919261186b565b61193f915060203d60201161145e5761144f8183610d7e565b5f6117fa565b61195a9195503d805f833e6119158183610d7e565b935f6117cb565b90610ff992915f52600360205260405f20612798565b5f9081526004602090815260408083206001600160a01b03909416835292905220610ff9929190612798565b3d156119cd573d906119b482610dbb565b916119c26040519384610d7e565b82523d5f602084013e565b606090565b611622916116139194939465ffffffffffff60609660405193630cbd53f560e11b6020860152602485015216604483015260448252611a1082610d63565b61201a565b60405190611a2282610d28565b60606020838281520152565b9060208282031261031a5781516001600160401b039283821161031a57019060408282031261031a5760405192611a6484610d28565b825181811161031a5782611a79918501611668565b8452602083015190811161031a57611a919201611668565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff9091166040820152608060608201819052610ff99291019061058f565b92611ae190929192828486612973565b929093611aec611a15565b93805180611c3f575b50508415938415611ba9575b8415611b18575b50505050611b135790565b505f90565b602080949550611b43910151604051958694859463530e1d4360e01b865260601c9060048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611b8a575b50155f808080611b08565b611ba3915060203d6020116108b6576108a88183610d7e565b5f611b7f565b5f549094506001600160a01b0316602084865192611bdc604051948593849363530e1d4360e01b85528960048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611c20575b501593611b01565b611c39915060203d6020116108b6576108a88183610d7e565b5f611c18565b611c53929550602080918301019101611a2e565b925f80611af5565b919360a093610ff9969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061058f565b634e487b7160e01b5f52601160045260245ffd5b8115611cb1570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611cd357565b611c93565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156108bd575f91611de5575b5015918215611d61575b50509050611d5b57610ff991612a6e565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156108bd575f92611dc8575b505015805f80611d4a565b611dde9250803d106108b6576108a88183610d7e565b5f80611dbd565b611dfc9150843d86116108b6576108a88183610d7e565b5f611d40565b335f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a39060ff905b541615610ace5750565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff90611e55565b5f8181525f8051602061329583398151915260209081526040808320338452909152902060ff90611e55565b634e487b7160e01b5f52603260045260245ffd5b8054821015611f0a575f5260205f2001905f90565b611ee1565b90815491600160401b831015610d435782611f32916001610dac95018155611ef5565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611cd357565b90929192600182019081548015611fea575b5084611f7584612b50565b50949092845493611f85836120b3565b9681611fd5575b5015611fb2575050505f198101908111611cd357611f328591611fae93611ef5565b9190565b611fae949293611fce926001600160d01b039091169190613189565b5050611f0f565b65ffffffffffff83811691161490505f611f8c565b600160401b811015610d43578060016120069201845583611ef5565b8154905f199060031b1b191690555f611f6a565b5f9190829160405161204f816110fc6020820194639f86fd8560e01b865230602484015260406044840152606483019061058f565b51915afa5061205c6119a3565b8051810160408282031261031a5761207660208301611572565b916040810151916001600160401b03831161031a5761209c926020809201920101611668565b90156120a55790565b805190811561031a57602001fd5b8054806120e257505f5b6001600160d01b03811615611d5b5760016120d89201611ef5565b90549060031b1c90565b5f19908082810111611cd357825f5260205f2001015460301c6120bd565b9060405161210d81610d28565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116121c2575b612140935085612cb4565b9081156121b6576121af6121a66121a06120d861217261216d61216288611f4a565b895f5260205f200190565b612100565b966001612199602061218a8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611ef5565b93611f4a565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926121cd81612b89565b8103908111611cd35761214093865f526122016121f68360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015612217575091612135565b92915061222390611cc5565b90612135565b5f805160206132b583398151915260028154146122465760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161226f82612b50565b9193905083156122cd5761228f916001600160d01b031690600101611ef5565b90549060031b1c5b826122c3575b50506122a7575050565b6122bf915f52600360205260405f206103e342612b1e565b5050565b119050815f61229d565b50505f612297565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206132958339815191529060ff16611d5b575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206132958339815191529060ff905b541661244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206132958339815191529060ff906123eb565b6001600160a01b0381165f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a3905f805160206132958339815191529060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b038716855290915290912060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261031a5780356126138161031e565b9260208201356001600160401b03811161031a57610ff99201610dd6565b61263d918101906125fb565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156108bd575f91612750575b501561273e576126d26040916126cd612718946126b2612d16565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612e96565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661272e575b5001516001600160a01b031690565b9081166127225750565b61272b90612380565b50565b612737906122d5565b505f612709565b6040516362df054560e01b8152600490fd5b612769915060203d6020116108b6576108a88183610d7e565b5f612697565b9081602091031261031a57610ff99061157f565b90600163ffffffff80931601918211611cd357565b9180511561286657806020806127b39351830101910161276f565b916127be83826130c6565b926127cf845165ffffffffffff1690565b9065ffffffffffff808516921682811461285a5782119182612805575b50506127fc57610ff99250612ff6565b50506020015190565b9091506128128354611f4a565b63ffffffff83161491821561282b575b50505f806127ec565b6128529192506128466128406121f692612783565b856130c6565b5165ffffffffffff1690565b115f80612822565b50505050506020015190565b50610ff991612ff6565b60405190608082018281106001600160401b03821117610d4357604052606080838181528160208201528160408201520152565b9060208282031261031a5781516001600160401b039283821161031a57019060808282031261031a576128d5610d9f565b92825181811161031a57826128eb918501611668565b8452602083015181811161031a5782612905918501611668565b6020850152604083015181811161031a5782612922918501611668565b6040850152606083015190811161031a5761293d9201611668565b606082015290565b9081602091031261031a575190565b60409065ffffffffffff610ff99493168152816020820152019061058f565b9391909361297f612870565b93805180612a4e575b50506129c992939460206129a86112e96112e95f5460018060a01b031690565b8188015190604051808098819463810da75d60e01b83528960048401612954565b03915afa9182156108bd57612a10945f93612a15575b50612a0490612a0493946129f860408a01518284611961565b9360608a015192611977565b90818082109118021890565b915190565b612a04935090612a3f612a049260203d602011612a47575b612a378183610d7e565b810190612945565b9350906129df565b503d612a2d565b6129c994955090602080612a669383010191016128a4565b93925f612988565b5f5460405163bd49c35f60e01b81529290602090849060049082906001600160a01b03165afa9283156108bd575f93612af5575b50610384612ae091612abf610384855f52600360205260405f2090565b935f52600460205260405f209060018060a01b03165f5260205260405f2090565b90818082109118021890818082109118021890565b612ae0919350612b166103849160203d602011612a4757612a378183610d7e565b939150612aa2565b65ffffffffffff90818111612b31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612b615750505f905f905f90565b5f19918183810111611cd3575f5260205f2001015460019165ffffffffffff82169160301c90565b6001811115610ff957600181600160801b811015612ca2575b612c4a612c40612c36612c2c612c22612c18612c5697600488600160401b612c519a1015612c95575b640100000000811015612c88575b62010000811015612c7b575b610100811015612c6f575b6010811015612c63575b1015612c5b575b60030260011c612c11818b611ca7565b0160011c90565b612c11818a611ca7565b612c118189611ca7565b612c118188611ca7565b612c118187611ca7565b612c118186611ca7565b8093611ca7565b821190565b900390565b60011b612c01565b811c9160021b91612bfa565b60081c91811b91612bf0565b60101c9160081b91612be5565b60201c9160101b91612bd9565b60401c9160201b91612bcb565b50600160401b9050608082901c612ba2565b91905b838210612cc45750505090565b909192808316906001818518811c8301809311611cd357855f5265ffffffffffff808460205f20015416908516105f14612d03575050925b9190612cb7565b909493508101809111611cd35791612cfc565b612d1e613266565b612d26613266565b60015f805160206132b583398151915255565b60405190612d4682610d48565b5f6040838281528260208201520152565b81601f8201121561031a578051916020916001600160401b038411610d43578360051b9060405194612d8b85840187610d7e565b8552838086019282010192831161031a578301905b828210612dae575050505090565b8380918351612dbc8161031e565b815201910190612da0565b9060208282031261031a5781516001600160401b039283821161031a5701908181039260a0841261031a57606060405194612e0186610d48565b1261031a57604051612e1281610d48565b8351612e1d8161031e565b81526020840151612e2d8161031e565b60208201526040840151612e408161031e565b60408201528452606083015181811161031a5782612e5f918501612d57565b6020850152608083015190811161031a57612e7a9201612d57565b604082015290565b8051821015611f0a5760209160051b010190565b612eb290612ea2612d39565b5060208082518301019101612dc7565b8051519091906001600160a01b03161580612fdc575b612fca579060208101905f5b82518051821015612f4e576112e9612eef83612efc93612e82565b516001600160a01b031690565b15612f3c57612f1e612f1a612f15612eef848751612e82565b612456565b1590565b612f2a57600101612ed4565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015612fc1576112e9612eef83612f7593612e82565b15612fb057612f93612f1a612f8e612eef848751612e82565b6124c4565b612f9f57600101612f5a565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580612ec8575060408201515115612ec8565b908154905f829160058411613060575b613011935084612cb4565b8061303957505f905b6001600160d01b03821615611d5b57610ff99160016120d89201611ef5565b61305361304861305a92611f4a565b835f5260205f200190565b5460301c90565b9061301a565b919261306b81612b89565b8103908111611cd35761301193855f5265ffffffffffff808360205f20015416908516105f1461309c575091613006565b9291506130a890611cc5565b90613006565b604051906130bb82610d28565b5f6020838281520152565b906130ef6130e9613110926130d96130ae565b506130e26130ae565b5084611ef5565b50612100565b91600165ffffffffffff845116936020828060d01b03910151169101611ef5565b9054906040519261312084610d28565b835260031b1c602082015290565b8054600160401b811015610d435761314b91600182018155611ef5565b61317657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b8054929392801561323c576131a06131ab91611f4a565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161322a578793036131f157506131ea92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b91505061322591613211613203610dae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261312e565b6131ea565b604051632520601d60e01b8152600490fd5b50906132619161324d613203610dae565b6001600160d01b038516602083015261312e565b5f9190565b60ff5f805160206132d58339815191525460401c161561328257565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204499a4e541806b6efe7986c303b25f7c58d6541a27cb7ee070507be47989947d64736f6c63430008190033","sourceMap":"7866:3473:94:-:0;;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:95;;332:21;;8837:64:26;7866:3473:94;;;;;;;;;7896:76:26;;7866:3473:94;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:82;;;-1:-1:-1;525:17:82;;-1:-1:-1;552:12:82;;-1:-1:-1;2360:34:89;;2404:28;;-1:-1:-1;2404:28:89;;2442:57;;-1:-1:-1;2442:57:89;;2509:61;;-1:-1:-1;2509:61:89;;8343:41:94;;;;8394:24;;;;8428:40;;;;7866:3473;;;;;;;;332:21:95;7866:3473:94;;;;;;;;;;525:17:82;7866:3473:94;;;;;552:12:82;7866:3473:94;;;;;2360:34:89;7866:3473:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;7866:3473:94;;;;;;;;;;;;;8087:29:26;;7866:3473:94;;8087:29:26;7981:146;;;;;7896:76;7866:3473:94;;-1:-1:-1;;;7938:23:26;;;;;7866:3473:94;-1:-1:-1;7866:3473:94;;;;;;-1:-1:-1;7866:3473:94;;;;;-1:-1:-1;7866:3473:94;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146102c4578063020cf0c2146102bf57806302145348146102ba578063103f2907146102b557806310a28b5d146102b057806311422095146102ab578063128e5d82146102a6578063197aa7ea146102a15780631a80e5001461029c57806323f752d514610297578063248a9ca31461029257806325dc97081461028d5780632dd31000146102885780632f2ff15d1461028357806336568abe1461027e5780633dfd3873146102795780633eb22c0f14610274578063439fab911461026f57806345e78fcb1461026a578063518504ba14610265578063557cab44146102605780635d32a1c91461025b5780636679191e1461025657806379d89614146102515780637d24bb271461024c5780637f5a7c7b1461024757806391d148541461024257806394d2558a1461023d5780639b656b22146102385780639f86fd8514610233578063a217fddf1461022e578063bb24fe8a14610229578063c0cd7c3e14610224578063d15b740e1461021f578063d547741f1461021a578063da749d2b14610215578063e02f693714610210578063e49561ee1461020b578063f7b0554714610206578063fbfa77cf14610201578063fd4d447c146101fc578063ff54740f146101f75763ffa1ad74146101f2575f80fd5b611557565b61153a565b611510565b6114e9565b611465565b61127a565b61125e565b611229565b6111dd565b6111b3565b61116f565b61112c565b611112565b61107e565b61103a565b610ffc565b610f4c565b610f24565b610eeb565b610ea7565b610e6d565b610e1c565b610cf8565b610cbe565b610c7a565b610b42565b610aec565b6109f3565b6109a8565b61095c565b610918565b6108fb565b6108c2565b61074e565b61070a565b61067b565b610637565b6105e8565b6105b3565b6104cd565b610410565b61032f565b3461031a57602036600319011261031a5760043563ffffffff60e01b811680910361031a57602090637965db0b60e01b8114908115610309575b506040519015158152f35b6301ffc9a760e01b1490505f6102fe565b5f80fd5b6001600160a01b0381160361031a57565b3461031a57606036600319011261031a5760243560043561034f8261031e565b6044359161035b611e02565b815f526004602052826103896103848360405f209060018060a01b03165f5260205260405f2090565b6120b3565b146103fe5760207ffc9545f07ffadfb668efd0144cdcaf2d6e2c8192dce1ea9fc131934f9c90fc7e91835f52600482526103e9856103da8360405f209060018060a01b03165f5260205260405f2090565b6103e342612b1e565b90611f58565b50506040519485526001600160a01b031693a3005b60405163a741a04560e01b8152600490fd5b3461031a5760408060031936011261031a576004359060243590610432611e5f565b825f526002602052805f205482116104bd57825f52600360205281610458825f206120b3565b146104ad57816104a8916104987e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103da875f52600360205260405f2090565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff8216820361031a57565b6044359065ffffffffffff8216820361031a57565b6064359065ffffffffffff8216820361031a57565b608090600319011261031a576004356105688161031e565b90602435906044356105798161031e565b9060643565ffffffffffff8116810361031a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461031a576105e46105d06105c736610550565b929190916115b1565b60405191829160208352602083019061058f565b0390f35b3461031a57604036600319011261031a57602061062f61038460243561060d8161031e565b6004355f526004845260405f209060018060a01b03165f5260205260405f2090565b604051908152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a57610694610511565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576106db906004355f52600360205260405f20612124565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a576004356001600160601b038116810361031a576024359061077e612229565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156108bd575f9161088e575b501561087c576001600160601b03166bffffffffffffffffffffffff193360601b16179080610808835f52600260205260405f2090565b54146103fe57610861817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610846855f52600260205260405f2090565b556108518185612258565b6040519081529081906020820190565b0390a261087a60015f805160206132b583398151915255565b005b6040516323d53b9760e21b8152600490fd5b6108b0915060203d6020116108b6575b6108a88183610d7e565b810190611649565b5f6107d1565b503d61089e565b61165d565b3461031a57602036600319011261031a576004355f525f805160206132958339815191526020526020600160405f200154604051908152f35b3461031a576105e46105d061090f36610550565b9291909161174e565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5761087a60243560043561097f8261031e565b805f525f805160206132958339815191526020526109a3600160405f200154611eb5565b612533565b3461031a57604036600319011261031a576024356109c58161031e565b336001600160a01b038216036109e15761087a90600435612569565b60405163334bd91960e11b8152600490fd5b3461031a57602036600319011261031a57600435610a108161031e565b610a18612229565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610ace57506001546001600160a01b0391821691811682146103fe576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206132b583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461031a57602036600319011261031a576004355f526003602052602061062f60405f206120b3565b9181601f8401121561031a578235916001600160401b03831161031a576020838186019501011161031a57565b3461031a57602036600319011261031a576001600160401b0360043581811161031a57610b73903690600401610b15565b5f805160206132d5833981519152549260ff8460401c1615931680159081610c72575b6001149081610c68575b159081610c5f575b50610c4d575f805160206132d5833981519152805467ffffffffffffffff19166001179055610bdb9183610c2957612631565b610be157005b5f805160206132d5833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206132d5833981519152805460ff60401b1916600160401b179055612631565b60405163f92ee8a960e01b8152600490fd5b9050155f610ba8565b303b159150610ba0565b849150610b96565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a38152f35b3461031a575f36600319011261031a576020604051614e208152f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610d4357604052565b610d14565b606081019081106001600160401b03821117610d4357604052565b608081019081106001600160401b03821117610d4357604052565b90601f801991011681019081106001600160401b03821117610d4357604052565b60405190610dac82610d63565b565b60405190610dac82610d28565b6001600160401b038111610d4357601f01601f191660200190565b81601f8201121561031a57803590610ded82610dbb565b92610dfb6040519485610d7e565b8284526020838301011161031a57815f926020809301838601378301015290565b3461031a57606036600319011261031a57610e35610511565b6044356001600160401b03811161031a57602091610e5a61062f923690600401610dd6565b906004355f526003845260405f20612798565b3461031a575f36600319011261031a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a575f36600319011261031a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461031a575f36600319011261031a576001546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602060ff610f9e602435610f708161031e565b6004355f525f80516020613295833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b90608060031983011261031a5760043591602435610fc78161031e565b9160443565ffffffffffff8116810361031a5791606435906001600160401b03821161031a57610ff991600401610dd6565b90565b3461031a57602061062f61103561101236610faa565b939190925f526004865260405f209060018060a01b03165f5260205260405f2090565b612798565b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57604036600319011261031a5760043561109b8161031e565b6024356001600160401b03811161031a575f916110bd83923690600401610b15565b90816040519283928337810184815203915af461110a6110db6119a3565b916110fc60405193849215156020840152604080840152606083019061058f565b03601f198101835282610d7e565b805190602001fd5b3461031a575f36600319011261031a5760206040515f8152f35b3461031a575f36600319011261031a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461031a575f36600319011261031a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461031a57602036600319011261031a576004355f526002602052602060405f2054604051908152f35b3461031a57604036600319011261031a5761087a6024356004356112008261031e565b805f525f80516020613295833981519152602052611224600160405f200154611eb5565b612569565b3461031a57606036600319011261031a576105e46105d060043561124c8161031e565b611254610526565b90602435906119d2565b3461031a57602061062f61127136610faa565b92919091611ad1565b3461031a5760a036600319011261031a5760243560043561129a8261031e565b604435916112a661053b565b90608435906001600160401b03821161031a576112c860049236908401610dd6565b6112d0612229565b5f546020906112f5906112e9906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156108bd575f93611434575b506001600160a01b039283163303611422576001546001600160a01b0316838116611397575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361087a60015f805160206132b583398151915255565b9093604051946113ce866113c0602082019363724ab0f760e11b8552858c898d60248701611c5b565b03601f198101885287610d7e565b62042e305a10611410575f61137e938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f1509361133d565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61145791935060203d60201161145e575b61144f8183610d7e565b8101906116d3565b915f611317565b503d611445565b3461031a57606036600319011261031a576024356114828161031e565b61148a610526565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106f8576114e46106db926004355f52600460205260405f209060018060a01b03165f5260205260405f2090565b612124565b3461031a575f36600319011261031a575f546040516001600160a01b039091168152602090f35b3461031a57604036600319011261031a57602061062f6024356115328161031e565b600435611cd8565b3461031a575f36600319011261031a5760206040516203d0908152f35b3461031a575f36600319011261031a57602060405160018152f35b5190811515820361031a57565b519063ffffffff8216820361031a57565b919082604091031261031a57610ff960206115aa84611572565b930161157f565b91939265ffffffffffff906060956040519363f7b0554760e01b6020860152602485015260018060a01b031660448401521660648201526064815260a08101908082106001600160401b03831117610d4357611622926116139260405261201a565b60208082518301019101611590565b9061162a5750565b90915063ffffffff6040519116602082015260208152610ff981610d28565b9081602091031261031a57610ff990611572565b6040513d5f823e3d90fd5b81601f8201121561031a5780519061167f82610dbb565b9261168d6040519485610d7e565b8284526020838301011161031a57815f9260208093018386015e8301015290565b9060208282031261031a5781516001600160401b03811161031a57610ff99201611668565b9081602091031261031a5751610ff98161031e565b90610ff9916020815261170782516080602084015260a083019061058f565b906080606061173e61172b602087015195601f19968787830301604088015261058f565b604087015186868303018487015261058f565b940151928285030191015261058f565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491939091905f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa9485156108bd575f95611945575b5060405163fbfa77cf60e01b8152602081600481888d165afa9081156108bd57611837995f9286928491611926575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9788156108bd575f986118fa575b50908161187d846118839594876119d2565b946115b1565b908251158015906118f0575b80156118e6575b80156118dc575b6118a957505050909150565b6110fc9450610ff993956118bb610d9f565b938452602084015260408301526060820152604051928391602083016116e8565b508151151561189d565b5080511515611896565b508551151561188f565b611883939291985061191d903d805f833e6119158183610d7e565b8101906116ae565b9790919261186b565b61193f915060203d60201161145e5761144f8183610d7e565b5f6117fa565b61195a9195503d805f833e6119158183610d7e565b935f6117cb565b90610ff992915f52600360205260405f20612798565b5f9081526004602090815260408083206001600160a01b03909416835292905220610ff9929190612798565b3d156119cd573d906119b482610dbb565b916119c26040519384610d7e565b82523d5f602084013e565b606090565b611622916116139194939465ffffffffffff60609660405193630cbd53f560e11b6020860152602485015216604483015260448252611a1082610d63565b61201a565b60405190611a2282610d28565b60606020838281520152565b9060208282031261031a5781516001600160401b039283821161031a57019060408282031261031a5760405192611a6484610d28565b825181811161031a5782611a79918501611668565b8452602083015190811161031a57611a919201611668565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff9091166040820152608060608201819052610ff99291019061058f565b92611ae190929192828486612973565b929093611aec611a15565b93805180611c3f575b50508415938415611ba9575b8415611b18575b50505050611b135790565b505f90565b602080949550611b43910151604051958694859463530e1d4360e01b865260601c9060048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611b8a575b50155f808080611b08565b611ba3915060203d6020116108b6576108a88183610d7e565b5f611b7f565b5f549094506001600160a01b0316602084865192611bdc604051948593849363530e1d4360e01b85528960048601611a99565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156108bd575f91611c20575b501593611b01565b611c39915060203d6020116108b6576108a88183610d7e565b5f611c18565b611c53929550602080918301019101611a2e565b925f80611af5565b919360a093610ff9969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061058f565b634e487b7160e01b5f52601160045260245ffd5b8115611cb1570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611cd357565b611c93565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156108bd575f91611de5575b5015918215611d61575b50509050611d5b57610ff991612a6e565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156108bd575f92611dc8575b505015805f80611d4a565b611dde9250803d106108b6576108a88183610d7e565b5f80611dbd565b611dfc9150843d86116108b6576108a88183610d7e565b5f611d40565b335f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a39060ff905b541615610ace5750565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff90611e55565b5f8181525f8051602061329583398151915260209081526040808320338452909152902060ff90611e55565b634e487b7160e01b5f52603260045260245ffd5b8054821015611f0a575f5260205f2001905f90565b611ee1565b90815491600160401b831015610d435782611f32916001610dac95018155611ef5565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611cd357565b90929192600182019081548015611fea575b5084611f7584612b50565b50949092845493611f85836120b3565b9681611fd5575b5015611fb2575050505f198101908111611cd357611f328591611fae93611ef5565b9190565b611fae949293611fce926001600160d01b039091169190613189565b5050611f0f565b65ffffffffffff83811691161490505f611f8c565b600160401b811015610d43578060016120069201845583611ef5565b8154905f199060031b1b191690555f611f6a565b5f9190829160405161204f816110fc6020820194639f86fd8560e01b865230602484015260406044840152606483019061058f565b51915afa5061205c6119a3565b8051810160408282031261031a5761207660208301611572565b916040810151916001600160401b03831161031a5761209c926020809201920101611668565b90156120a55790565b805190811561031a57602001fd5b8054806120e257505f5b6001600160d01b03811615611d5b5760016120d89201611ef5565b90549060031b1c90565b5f19908082810111611cd357825f5260205f2001015460301c6120bd565b9060405161210d81610d28565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116121c2575b612140935085612cb4565b9081156121b6576121af6121a66121a06120d861217261216d61216288611f4a565b895f5260205f200190565b612100565b966001612199602061218a8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611ef5565b93611f4a565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926121cd81612b89565b8103908111611cd35761214093865f526122016121f68360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015612217575091612135565b92915061222390611cc5565b90612135565b5f805160206132b583398151915260028154146122465760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161226f82612b50565b9193905083156122cd5761228f916001600160d01b031690600101611ef5565b90549060031b1c5b826122c3575b50506122a7575050565b6122bf915f52600360205260405f206103e342612b1e565b5050565b119050815f61229d565b50505f612297565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206132958339815191529060ff16611d5b575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206132958339815191529060ff905b541661244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206132958339815191529060ff906123eb565b6001600160a01b0381165f9081527f24e48de785eeca8420b70f73d267a66970ccc187d459f2a4b53e74ed92a5ab86602052604090207f15e7c882d74e8821ebf34aaff46fd0e1d53b9393d91490019124113d28dc32a3905f805160206132958339815191529060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b038716855290915290912060ff906123eb565b5f8181525f80516020613295833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561244f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b91909160408184031261031a5780356126138161031e565b9260208201356001600160401b03811161031a57610ff99201610dd6565b61263d918101906125fb565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156108bd575f91612750575b501561273e576126d26040916126cd612718946126b2612d16565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612e96565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661272e575b5001516001600160a01b031690565b9081166127225750565b61272b90612380565b50565b612737906122d5565b505f612709565b6040516362df054560e01b8152600490fd5b612769915060203d6020116108b6576108a88183610d7e565b5f612697565b9081602091031261031a57610ff99061157f565b90600163ffffffff80931601918211611cd357565b9180511561286657806020806127b39351830101910161276f565b916127be83826130c6565b926127cf845165ffffffffffff1690565b9065ffffffffffff808516921682811461285a5782119182612805575b50506127fc57610ff99250612ff6565b50506020015190565b9091506128128354611f4a565b63ffffffff83161491821561282b575b50505f806127ec565b6128529192506128466128406121f692612783565b856130c6565b5165ffffffffffff1690565b115f80612822565b50505050506020015190565b50610ff991612ff6565b60405190608082018281106001600160401b03821117610d4357604052606080838181528160208201528160408201520152565b9060208282031261031a5781516001600160401b039283821161031a57019060808282031261031a576128d5610d9f565b92825181811161031a57826128eb918501611668565b8452602083015181811161031a5782612905918501611668565b6020850152604083015181811161031a5782612922918501611668565b6040850152606083015190811161031a5761293d9201611668565b606082015290565b9081602091031261031a575190565b60409065ffffffffffff610ff99493168152816020820152019061058f565b9391909361297f612870565b93805180612a4e575b50506129c992939460206129a86112e96112e95f5460018060a01b031690565b8188015190604051808098819463810da75d60e01b83528960048401612954565b03915afa9182156108bd57612a10945f93612a15575b50612a0490612a0493946129f860408a01518284611961565b9360608a015192611977565b90818082109118021890565b915190565b612a04935090612a3f612a049260203d602011612a47575b612a378183610d7e565b810190612945565b9350906129df565b503d612a2d565b6129c994955090602080612a669383010191016128a4565b93925f612988565b5f5460405163bd49c35f60e01b81529290602090849060049082906001600160a01b03165afa9283156108bd575f93612af5575b50610384612ae091612abf610384855f52600360205260405f2090565b935f52600460205260405f209060018060a01b03165f5260205260405f2090565b90818082109118021890818082109118021890565b612ae0919350612b166103849160203d602011612a4757612a378183610d7e565b939150612aa2565b65ffffffffffff90818111612b31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612b615750505f905f905f90565b5f19918183810111611cd3575f5260205f2001015460019165ffffffffffff82169160301c90565b6001811115610ff957600181600160801b811015612ca2575b612c4a612c40612c36612c2c612c22612c18612c5697600488600160401b612c519a1015612c95575b640100000000811015612c88575b62010000811015612c7b575b610100811015612c6f575b6010811015612c63575b1015612c5b575b60030260011c612c11818b611ca7565b0160011c90565b612c11818a611ca7565b612c118189611ca7565b612c118188611ca7565b612c118187611ca7565b612c118186611ca7565b8093611ca7565b821190565b900390565b60011b612c01565b811c9160021b91612bfa565b60081c91811b91612bf0565b60101c9160081b91612be5565b60201c9160101b91612bd9565b60401c9160201b91612bcb565b50600160401b9050608082901c612ba2565b91905b838210612cc45750505090565b909192808316906001818518811c8301809311611cd357855f5265ffffffffffff808460205f20015416908516105f14612d03575050925b9190612cb7565b909493508101809111611cd35791612cfc565b612d1e613266565b612d26613266565b60015f805160206132b583398151915255565b60405190612d4682610d48565b5f6040838281528260208201520152565b81601f8201121561031a578051916020916001600160401b038411610d43578360051b9060405194612d8b85840187610d7e565b8552838086019282010192831161031a578301905b828210612dae575050505090565b8380918351612dbc8161031e565b815201910190612da0565b9060208282031261031a5781516001600160401b039283821161031a5701908181039260a0841261031a57606060405194612e0186610d48565b1261031a57604051612e1281610d48565b8351612e1d8161031e565b81526020840151612e2d8161031e565b60208201526040840151612e408161031e565b60408201528452606083015181811161031a5782612e5f918501612d57565b6020850152608083015190811161031a57612e7a9201612d57565b604082015290565b8051821015611f0a5760209160051b010190565b612eb290612ea2612d39565b5060208082518301019101612dc7565b8051519091906001600160a01b03161580612fdc575b612fca579060208101905f5b82518051821015612f4e576112e9612eef83612efc93612e82565b516001600160a01b031690565b15612f3c57612f1e612f1a612f15612eef848751612e82565b612456565b1590565b612f2a57600101612ed4565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015612fc1576112e9612eef83612f7593612e82565b15612fb057612f93612f1a612f8e612eef848751612e82565b6124c4565b612f9f57600101612f5a565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580612ec8575060408201515115612ec8565b908154905f829160058411613060575b613011935084612cb4565b8061303957505f905b6001600160d01b03821615611d5b57610ff99160016120d89201611ef5565b61305361304861305a92611f4a565b835f5260205f200190565b5460301c90565b9061301a565b919261306b81612b89565b8103908111611cd35761301193855f5265ffffffffffff808360205f20015416908516105f1461309c575091613006565b9291506130a890611cc5565b90613006565b604051906130bb82610d28565b5f6020838281520152565b906130ef6130e9613110926130d96130ae565b506130e26130ae565b5084611ef5565b50612100565b91600165ffffffffffff845116936020828060d01b03910151169101611ef5565b9054906040519261312084610d28565b835260031b1c602082015290565b8054600160401b811015610d435761314b91600182018155611ef5565b61317657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b8054929392801561323c576131a06131ab91611f4a565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161322a578793036131f157506131ea92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b91505061322591613211613203610dae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261312e565b6131ea565b604051632520601d60e01b8152600490fd5b50906132619161324d613203610dae565b6001600160d01b038516602083015261312e565b5f9190565b60ff5f805160206132d58339815191525460401c161561328257565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204499a4e541806b6efe7986c303b25f7c58d6541a27cb7ee070507be47989947d64736f6c63430008190033","sourceMap":"7866:3473:94:-: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;:::-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;7866:3473:94;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;7866:3473:94;-1:-1:-1;7866:3473:94;;;-1:-1:-1;;;;;7866:3473:94;;;;;:::o;:::-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;;;:::i;:::-;;;3202:4:23;;;:::i;:::-;7866:3473:94;-1:-1:-1;7866:3473:94;;;;;2662:52:90;:43;7866:3473:94;;-1:-1:-1;7866:3473:94;;;;;;;;;;;;;;;;;2662:43:90;:52;:::i;:::-;3458;3454:102;;7866:3473:94;3656:53:90;7866:3473:94;;-1:-1:-1;7866:3473:94;;;;3566:74:90;7866:3473:94;3566:43:90;7866:3473:94;;-1:-1:-1;7866:3473:94;;;;;;;;;;;;;;;;;3566:43:90;819:34:75;837:15;819:34;:::i;:::-;3566:74:90;;:::i;:::-;-1:-1:-1;;7866:3473:94;;;;;-1:-1:-1;;;;;7866:3473:94;;3656:53:90;7866:3473:94;3454:102:90;7866:3473:94;;-1:-1:-1;;;3533:12:90;;7866:3473:94;;3533:12:90;7866:3473:94;;;;;;;;;;;;;;;;;;3202:4:23;;;:::i;:::-;7866:3473:94;-1:-1:-1;7866:3473:94;2910:15:90;7866:3473:94;;;-1:-1:-1;7866:3473:94;;2901:36:90;;2897:98;;7866:3473:94;-1:-1:-1;7866:3473:94;2103:13:90;7866:3473:94;;;2103:34:90;7866:3473:94;-1:-1:-1;7866:3473:94;2103:34:90;:::i;:::-;3009;3005:84;;3099:25;3171:35;3099:25;:56;3171:35;3099:25;;;7866:3473:94;;2103:13:90;7866:3473:94;;;;;;;3099:56:90;-1:-1:-1;;7866:3473:94;;;;;;;;;;;;3171:35:90;;;;7866:3473:94;3005:84:90;7866:3473:94;-1:-1:-1;;;3066:12:90;;7866:3473:94;;3066:12:90;2897:98;7866:3473:94;-1:-1:-1;;;2960:24:90;;7866:3473:94;;2960:24:90;7866:3473:94;;;;;;-1:-1:-1;;7866:3473:94;;;;;;1537:38:89;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;7866:3473:94;;;;;;;;-1:-1:-1;;7866:3473:94;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;2662:52:90;:43;7866:3473:94;;;;;:::i;:::-;;;-1:-1:-1;7866:3473:94;;;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;;;;;;;2662:52:90;7866:3473:94;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;1632:54:89;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;7866:3473:94;435:10:95;:19;431:71;;8670:64:94;7866:3473;;;-1:-1:-1;7866:3473:94;8670:13;7866:3473;;;-1:-1:-1;7866:3473:94;8670:64;:::i;:::-;7866:3473;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;431:71:95;7866:3473:94;;-1:-1:-1;;;477:14:95;;7866:3473:94;;477:14:95;7866:3473:94;;;;;;-1:-1:-1;;7866:3473:94;;;;;;1743:56:89;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;3361:103:30;;;:::i;:::-;7866:3473:94;;-1:-1:-1;;;4285:48:89;;4322:10;7866:3473:94;4285:48:89;;7866:3473:94;;;;;-1:-1:-1;;;;;4295:16:89;7866:3473:94;4285:48:89;;;;;;;-1:-1:-1;4285:48:89;;;7866:3473:94;4284:49:89;;4280:99;;-1:-1:-1;;;;;7866:3473:94;-1:-1:-1;;4322:10:89;297:2:101;7866:3473:94;;267:46:101;4459:27:89;;;;7866:3473:94;;4459:15:89;7866:3473:94;;;;;;;4459:27:89;7866:3473:94;4459:37:89;4455:87;;4654:38;4552:27;4654:38;4552:27;;;7866:3473:94;;4459:15:89;7866:3473:94;;;;;;;4552:27:89;7866:3473:94;4631:6:89;;;;:::i;:::-;7866:3473:94;;;;;;;;;;;;;4654:38:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;7866:3473:94;3860:283:30;3426:1;7866:3473:94;4280:99:89;7866:3473:94;;-1:-1:-1;;;4356:12:89;;7866:3473:94;;4356:12:89;4285:48;;;;7866:3473:94;4285:48:89;7866:3473:94;4285:48:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;7866:3473:94:-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;-1:-1:-1;7866:3473:94;-1:-1:-1;;;;;;;;;;;7866:3473:94;;;4919:24:23;7866:3473:94;-1:-1:-1;7866:3473:94;4919:24:23;7866:3473:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;322:32:82;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;5350:25:23;7866:3473:94;;;;;;;:::i;:::-;;-1:-1:-1;7866:3473:94;-1:-1:-1;;;;;;;;;;;7866:3473:94;;3202:4:23;4919:24;7866:3473:94;-1:-1:-1;7866:3473:94;4919:24:23;7866:3473:94;3202:4:23;:::i;:::-;5350:25;:::i;7866:3473:94:-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;7866:3473:94;;6441:34:23;6437:102;;6549:37;7866:3473:94;;;6549:37:23;:::i;6437:102::-;7866:3473:94;;-1:-1:-1;;;6498:30:23;;7866:3473:94;;6498:30:23;7866:3473:94;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;7866:3473:94;;;;;;;;;;1356:26:89;;7866:3473:94;;4468:23:23;4464:108;;-1:-1:-1;4861:4:89;7866:3473:94;-1:-1:-1;;;;;7866:3473:94;;;;;;4861:13:89;;4857:63;;-1:-1:-1;;;;;;7866:3473:94;;;4861:4:89;7866:3473:94;4958:14:89;-1:-1:-1;;4958:14:89;4861:4;-1:-1:-1;;;;;;;;;;;7866:3473:94;;4464:108:23;7866:3473:94;;;;4514:47:23;;;;;;966:10:28;7866:3473:94;4514:47:23;;7866:3473:94;;;;;4514:47:23;7866:3473:94;;;;;;-1:-1:-1;;7866:3473:94;;;;;;-1:-1:-1;7866:3473:94;2103:13:90;7866:3473:94;;;2103:34:90;7866:3473:94;-1:-1:-1;7866:3473:94;2103:34:90;:::i;7866:3473:94:-;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;7866:3473:94;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;7866:3473:94;;;;;;;4301:16:26;7866:3473:94;;4726:16:26;;:34;;;;7866:3473:94;4805:1:26;4790:16;:50;;;;7866:3473:94;4855:13:26;:30;;;;7866:3473:94;4851:91:26;;;-1:-1:-1;;;;;;;;;;;7866:3473:94;;-1:-1:-1;;7866:3473:94;;;;;718:4:82;;4951:18:26;4979:67;;718:4:82;:::i;:::-;5066:101:26;;7866:3473:94;5066:101:26;-1:-1:-1;;;;;;;;;;;7866:3473:94;;-1:-1:-1;;;;7866:3473:94;;;;;-1:-1:-1;7866:3473:94;;5142:14:26;;7866:3473:94;;5142:14:26;7866:3473:94;4979:67:26;-1:-1:-1;;;;;;;;;;;7866:3473:94;;-1:-1:-1;;;;7866:3473:94;-1:-1:-1;;;7866:3473:94;;;718:4:82;:::i;4851:91:26:-;7866:3473:94;;-1:-1:-1;;;4908:23:26;;7866:3473:94;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;7866:3473:94;;;;;;-1:-1:-1;;7866:3473:94;;;;;;8038:36;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;952:44:90;7866:3473:94;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;1253:6:89;7866:3473:94;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;7866:3473:94;;;;;;-1:-1:-1;;7866:3473:94;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;:::i;:::-;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;1870:60:90;7866:3473:94;;;;;;:::i;:::-;;;;-1:-1:-1;7866:3473:94;1870:13:90;7866:3473:94;;;-1:-1:-1;7866:3473:94;1870:60:90;:::i;7866:3473:94:-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;1356:26:89;7866:3473:94;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;7987:45;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;795:35:90;7866:3473:94;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;3901:31:23;7866:3473:94;;;;;:::i;:::-;;;-1:-1:-1;7866:3473:94;-1:-1:-1;;;;;;;;;;;7866:3473:94;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;;;;;;;3901:31:23;7866:3473:94;;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;2399:78:90;:43;7866:3473:94;;;:::i;:::-;;;;;-1:-1:-1;7866:3473:94;;;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;;;;;;;2399:43:90;:78;:::i;7866:3473:94:-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;8080:45;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;7866:3473:94;;;;-1:-1:-1;7866:3473:94;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;7866:3473:94;;;;;;;;;;477:31:88;;7866:3473:94;;;;;;;;;;;:::i;:::-;477:31:88;7866:3473:94;;477:31:88;;;;;;:::i;:::-;518:79;;;7866:3473:94;518:79:88;;7866:3473:94;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;-1:-1:-1;;;;;404:28:82;7866:3473:94;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;1439:41:89;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;-1:-1:-1;7866:3473:94;2009:67:89;7866:3473:94;;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;5767:26:23;7866:3473:94;;;;;;;:::i;:::-;;-1:-1:-1;7866:3473:94;-1:-1:-1;;;;;;;;;;;7866:3473:94;;3202:4:23;4919:24;7866:3473:94;-1:-1:-1;7866:3473:94;4919:24:23;7866:3473:94;3202:4:23;:::i;:::-;5767:26;:::i;7866:3473:94:-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;7866:3473:94;;;5246:21:89;;:13;;-1:-1:-1;;;;;7866:3473:94;5246:13:89;7866:3473:94;;-1:-1:-1;;;;;7866:3473:94;;;5246:21:89;7866:3473:94;;-1:-1:-1;;;5246:23:89;;7866:3473:94;;;;;5246:23:89;;;;;;;-1:-1:-1;5246:23:89;;;7866:3473:94;-1:-1:-1;;;;;;7866:3473:94;;;5232:10:89;:37;5228:87;;5341:4;7866:3473:94;-1:-1:-1;;;;;7866:3473:94;;;;5355:469:89;;7866:3473:94;-1:-1:-1;;7866:3473:94;;;;;;;;;;;;;;;;5839:55:89;;7866:3473:94;;;;5839:55:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;7866:3473:94;3860:283:30;5355:469:89;7866:3473:94;;;;5435:94:89;;;;7866:3473:94;5435:94:89;;;;;;;;;;;;7866:3473:94;5435:94:89;;;:::i;:::-;;7866:3473:94;;5435:94:89;;;;;;:::i;:::-;7866:3473:94;5548:9:89;:51;5544:118;;-1:-1:-1;5839:55:89;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;7866:3473:94;;-1:-1:-1;;;5626:21:89;;7866:3473:94;;5626:21:89;5228:87;7866:3473:94;;-1:-1:-1;;;5292:12:89;;7866:3473:94;;5292:12:89;5246:23;;;;;7866:3473:94;5246:23:89;7866:3473:94;5246:23:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;7866:3473:94;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;:::i;:::-;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;7866:3473:94;435:10:95;:19;431:71;;9461:43:94;:82;7866:3473;;;-1:-1:-1;7866:3473:94;;;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;;;;;;;9461:43;:82;:::i;7866:3473::-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;1150:7:89;7866:3473:94;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;2700:1:89;7866:3473:94;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;9556:591::-;;;;7866:3473;9556:591;7866:3473;;;;9870:147;;;;;;;;;;;7866:3473;;;;;;;;;;;;;;;;;9870:147;;7866:3473;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;9778:291;7866:3473;9802:229;7866:3473;;;9802:229;:::i;:::-;9870:147;7866:3473;;;9778:291;;;;;;:::i;:::-;10080:61;;;9556:591;:::o;10080:61::-;7866:3473;;;;;;;;9870:147;10113:17;;7866:3473;9870:147;10113:17;;;;;:::i;7866:3473::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;10153:1184::-;7866:3473;;-1:-1:-1;;;10370:99:94;;-1:-1:-1;;;;;7866:3473:94;;;10370:99;;;7866:3473;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7866:3473:94;;;10389:20;7866:3473;;10370:99;;;;;;;;;;;10153:1184;-1:-1:-1;7866:3473:94;;-1:-1:-1;;;10563:32:94;;;7866:3473;10370:99;7866:3473;;;;10563:32;;;;;;;10523:84;10563:32;10370:99;10563:32;;;;;;;10153:1184;-1:-1:-1;7866:3473:94;;-1:-1:-1;;;10523:84:94;;-1:-1:-1;;;;;7866:3473:94;;;10370:99;10523:84;;7866:3473;;;;;;;;;;;;;-1:-1:-1;7866:3473:94;;;;;;;;;10523:84;;10534:11;;7866:3473;10523:84;;;;;;;10370:99;10523:84;;;10153:1184;10651:50;;;;;10752:68;10651:50;;;;:::i;:::-;10752:68;;:::i;:::-;7866:3473;;;10848:21;;;:52;;;10153:1184;10848:85;;;;10153:1184;10848:142;;;;10153:1184;10831:500;;10153:1184;;;;;;:::o;10831:500::-;11022:298;7866:3473;;11022:298;7866:3473;;;;:::i;:::-;;;;10563:32;11050:256;;7866:3473;;11050:256;;7866:3473;;11050:256;;7866:3473;;;11022:298;;;10563:32;11022:298;;;:::i;10848:142::-;7866:3473;;;10953:37;;10848:142;;:85;7866:3473;;;10904:29;;10848:85;;:52;7866:3473;;;10873:27;;10848:52;;10523:84;10752:68;10523:84;;;;;;;;;10370:99;10523:84;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;10563:32;;;;;;;;;;;;;;:::i;:::-;;;;10370:99;;;;;;;;;;;;;;:::i;:::-;;;;;1742:195:90;;1870:60;1742:195;;-1:-1:-1;7866:3473:94;1870:13:90;7866:3473:94;;;-1:-1:-1;7866:3473:94;1870:60:90;:::i;2207:277::-;-1:-1:-1;7866:3473:94;;;2399:21:90;7866:3473:94;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;2399:78:90;;2207:277;;2399:78;:::i;7866:3473:94:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;7866:3473:94;;;;:::o;:::-;;;:::o;8747:485::-;8935:219;8747:485;8959:157;8747:485;;;;7866:3473;;;;;9011:91;;;;;;;;;;;7866:3473;;;;;;;9011:91;;;;;:::i;:::-;8959:157;:::i;7866:3473::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2764:920:89:-;;2978:48;2764:920;;;;2978:48;;;;:::i;:::-;3036:36;;;7866:3473:94;;:::i;:::-;;;;3086:20:89;3082:107;;2764:920;3216:11;;;;:193;;;;;2764:920;3216:394;;;;2764:920;3199:455;;;;;;2764:920;:::o;3199:455::-;3635:8;-1:-1:-1;3635:8:89;:::o;3216:394::-;3553:39;;;;;3430:180;3553:39;;;7866:3473:94;;;;;;;;;;3430:180:89;;467:2:101;7866:3473:94;3430:180:89;;;;;:::i;:::-;;7866:3473:94;3444:31:89;-1:-1:-1;;;;;7866:3473:94;3430:180:89;;;;;;;-1:-1:-1;3430:180:89;;;3216:394;3429:181;;3216:394;;;;;;3430:180;;;;3553:39;3430:180;3553:39;3430:180;;;;;;;:::i;:::-;;;;3216:193;-1:-1:-1;7866:3473:94;;;-1:-1:-1;;;;;;7866:3473:94;3248:161:89;3354:37;;;7866:3473:94;3248:161:89;7866:3473:94;;;;;;;;;;3248:161:89;;;;;;;:::i;:::-;;7866:3473:94;3262:29:89;-1:-1:-1;;;;;7866:3473:94;3248:161:89;;;;;;;-1:-1:-1;3248:161:89;;;3216:193;3247:162;;3216:193;;;3248:161;;;;;;;;;;;;;;:::i;:::-;;;;3082:107;3139:39;;;;;;;;;;;;;:::i;:::-;3082:107;;;;;7866:3473:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;8889:1:99;7866:3473:94;;;;;;;:::o;:::-;;:::i;3740:389:89:-;3918:5;7866:3473:94;;;-1:-1:-1;;;3853:71:89;;;-1:-1:-1;;;;;7866:3473:94;;;3853:71:89;;;7866:3473:94;;;;;;;;3740:389:89;;7866:3473:94;3853:71:89;;7866:3473:94;;3853:71:89;7866:3473:94;;;3867:29:89;7866:3473:94;;3853:71:89;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;7866:3473:94;;;3852:181:89;;3740:389;3835:242;;;;;;4094:28;;;:::i;3835:242::-;4058:8;;3918:5;4058:8;:::o;3852:181::-;7866:3473:94;;3945:88:89;;;-1:-1:-1;;;;;7866:3473:94;;3853:71:89;3945:88;;7866:3473:94;467:2:101;7866:3473:94;;;;;;;;-1:-1:-1;7866:3473:94;;;;;;;;3959:31:89;7866:3473:94;3945:88:89;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;3945:88;;;;;;-1:-1:-1;3945:88:89;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;4148:103:23;966:10:28;-1:-1:-1;7866:3473:94;;;;;;;;;952:44:90;;7866:3473:94;;3901:31:23;7866:3473:94;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;7866:3473:94;;;;;;;;;795:35:90;;7866:3473:94;;3901:31:23;7866:3473:94;4148:103:23;-1:-1:-1;7866:3473:94;;;-1:-1:-1;;;;;;;;;;;7866:3473:94;;;;;;;;966:10:28;7866:3473:94;;;;;;;;;3901:31:23;7866:3473:94;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7866:3473:94;;-1:-1:-1;7866:3473:94;;;-1:-1:-1;7866:3473:94;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;;7866:3473:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;:::o;6246:584:99:-;;;;;6360:12;;;7866:3473:94;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;7866:3473:94;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;6644:21:99;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;7866:3473:94;;8310:38:73;;-1:-1:-1;;;;;7866:3473:94;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;7866:3473:94;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;7866:3473:94;;;;;;6360:12:99;7866:3473:94;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:99;;;525:595:95;-1:-1:-1;525:595:95;;;;7866:3473:94;;716:88:95;;7866:3473:94;716:88:95;;;;;;;;;783:4;716:88;;;7866:3473:94;;;;;;;;;;;:::i;716:88:95:-;698:107;;;;;;;:::i;:::-;7866:3473:94;;857:45:95;;7866:3473:94;;;;;;;;716:88:95;857:45;;7866:3473:94;:::i;:::-;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;857:45:95;716:88;857:45;;;7866:3473:94;;;;:::i;:::-;916:8:95;;912:175;;525:595;:::o;912:175::-;7866:3473:94;;944:22:95;;;940:36;;716:88;990:87;;10580:184:99;7866:3473:94;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;7866:3473:94;;10726:7:99;7866:3473:94;;10736:12:99;:17;:12;;:17;:::i;:::-;7866:3473:94;;;;;;10580:184:99;:::o;10446:63:73:-;7866:3473:94;;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;;-1:-1:-1;13267:109:99;;;7866:3473:94;;;10446:63:73;;7866:3473:94;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:99:-;;;7866:3473:94;;8620:15:99;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;7866:3473:94;9219:31:99;7866:3473:94;9130:48:99;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;7866:3473:94;:::i;:::-;;9176:1:99;7866:3473:94;9232:17:99;7866:3473:94;;;;;;;;9232:17:99;;7866:3473:94;-1:-1:-1;;;;;7866:3473:94;;;;9219:12:99;;:31;:::i;7866:3473:94:-;9259:7:99;;:::i;:::-;7866:3473:94;;;;9252:15:99;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:99;;-1:-1:-1;8578:11:99;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;7866:3473:94;;;;;;;8939:60:99;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;7866:3473:94;;;;;;8759:49:99;7866:3473:94;;;;8753:55:99;7866:3473:94;;;8753:55:99;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;7866:3473:94;;3670:20:30;3666:88;;1991:1;7866:3473:94;;3470:384:30:o;3666:88::-;7866:3473:94;;-1:-1:-1;;;3713:30:30;;;;;4758:308:90;;7866:3473:94;-1:-1:-1;7866:3473:94;4889:13:90;7866:3473:94;;;-1:-1:-1;7866:3473:94;11124:30:99;;;;:::i;:::-;11173;;;-1:-1:-1;11173:30:99;;;;11182:17;;-1:-1:-1;;;;;7866:3473:94;;11182:12:99;;:17;:::i;:::-;7866:3473:94;;;4889:13:90;7866:3473:94;;11173:30:99;4947::90;;;11173::99;4943:117:90;;;;4758:308;;:::o;4943:117::-;4993:56;7866:3473:94;-1:-1:-1;7866:3473:94;4889:13:90;7866:3473:94;;;-1:-1:-1;7866:3473:94;819:34:75;837:15;819:34;:::i;4993:56:90:-;4758:308;;:::o;4947:30::-;4957:20;;-1:-1:-1;4947:30:90;;;;11173::99;;;-1:-1:-1;11173:30:99;;7270:387:23;-1:-1:-1;;;;;7866:3473:94;;-1:-1:-1;7866:3473:94;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;7866:3473:94;;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;-1:-1:-1;;7866:3473:94;7509:4:23;7866:3473:94;;;966:10:28;;-1:-1:-1;;;;;7866:3473:94;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7270:387::-;-1:-1:-1;;;;;7866:3473:94;;-1:-1:-1;7866:3473:94;;;;;;;;;1356:26:89;;-1:-1:-1;;;;;;;;;;;2887:71:23;7866:3473:94;;3901:31:23;7866:3473:94;;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;-1:-1:-1;;7866:3473:94;7509:4:23;7866:3473:94;;;966:10:28;;-1:-1:-1;;;;;7866:3473:94;;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;;;;;7866:3473:94;;-1:-1:-1;7866:3473:94;;;;;;;;;795:35:90;;-1:-1:-1;;;;;;;;;;;2887:71:23;7866:3473:94;;3901:31:23;7866:3473:94;7270:387:23;-1:-1:-1;;;;;7866:3473:94;;-1:-1:-1;7866:3473:94;;;;;;;;;952:44:90;;-1:-1:-1;;;;;;;;;;;2887:71:23;7866:3473:94;;3901:31:23;7866:3473:94;7270:387:23;-1:-1:-1;7866:3473:94;;;-1:-1:-1;;;;;;;;;;;7866:3473:94;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;3901:31:23;7866:3473:94;7892:388:23;-1:-1:-1;7866:3473:94;;;-1:-1:-1;;;;;;;;;;;7866:3473:94;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;;-1:-1:-1;7866:3473:94;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;966:10:28;;-1:-1:-1;;;;;7866:3473:94;;8155:40:23;-1:-1:-1;;8155:40:23;7866:3473:94;8209:11:23;:::o;7866:3473:94:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;:::i;5907:716:89:-;6030:34;5907:716;6030:34;;;;:::i;:::-;7866:3473:94;;-1:-1:-1;;;6080:41:89;;-1:-1:-1;;;;;7866:3473:94;;;6080:41:89;;;7866:3473:94;;;;;6080:41:89;7866:3473:94;;;6090:13:89;7866:3473:94;;6080:41:89;;;;;;;-1:-1:-1;6080:41:89;;;5907:716;6079:42;;6075:90;;6266:27;7866:3473:94;2684:111:30;6210:14:89;7866:3473:94;2684:111:30;;;:::i;:::-;7866:3473:94;;;;;;-1:-1:-1;;;;;7866:3473:94;;-1:-1:-1;7866:3473:94;;;-1:-1:-1;7866:3473:94;;6210:14:89;6266:27;:::i;:::-;6080:41;6311:15;;7866:3473:94;;;;-1:-1:-1;;;;;;7866:3473:94;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;6337:143:89;;5907:716;-1:-1:-1;6493:28:89;7866:3473:94;-1:-1:-1;;;;;7866:3473:94;;;;;;;6489:128:89;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;7866:3473:94;;-1:-1:-1;;;6144:10:89;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;7866:3473:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;7866:3473:94;;7686:17:99;7682:83;;7866:3473:94;7789:27:99;7866:3473:94;7789:27:99;7866:3473:94;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;7866:3473:94;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;7866:3473:94;8075:24:99;:::o;7975:84::-;7866:3473:94;;;8009:16:99;7866:3473:94;;8009:16:99;:::i;:::-;7866:3473:94;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;7866:3473:94;;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;7866:3473:94;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;7866:3473:94:-;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;3722:766:90:-;;;;;7866:3473:94;;:::i;:::-;;;;3962:16:90;3958:92;;3722:766;7866:3473:94;;4107:67:90;7866:3473:94;;;4146:27:90;4107;:13;7866:3473:94;-1:-1:-1;7866:3473:94;;;;;;;;;4107:27:90;4146;;;;7866:3473:94;;;;;;;;;;;4107:67:90;;;;;;;:::i;:::-;;;;;;;;;;4081:355;4107:67;-1:-1:-1;4107:67:90;;;3722:766;4260:28;4311:93;4260:28;4192:230;4260:28;;4222:67;7866:3473:94;4260:28:90;;;4222:67;;;:::i;:::-;4367:36;;;;;4311:93;;:::i;:::-;4192:230;3463:5:70;;;;3066;;7866:3473:94;3060:42:70;3371:111;;4081:355:90;4450:21;;3722:766;:::o;4107:67::-;4192:230;4107:67;;;;4311:93;4107:67;4146:27;4107:67;4146:27;4107:67;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;3958:92;4107:67;4008:31;;;;;;;;;;;;;;:::i;:::-;3958:92;;;;;4494:258;4635:5;7866:3473:94;;;-1:-1:-1;;;4628:27:90;;7866:3473:94;4494:258:90;4628:27;;7866:3473:94;;4628:27:90;;7866:3473:94;;-1:-1:-1;;;;;7866:3473:94;4628:27:90;;;;;;;4635:5;4628:27;;;4494:258;2103:25;2662:43;:52;2103:25;:34;:25;;7866:3473:94;;2103:13:90;7866:3473:94;;;;;;;2103:34:90;7866:3473:94;4635:5:90;7866:3473:94;4628:27:90;;7866:3473:94;;4635:5:90;7866:3473:94;;;;;;;;;;;;;;;;;2662:52:90;3463:5:70;;;;;3066;;7866:3473:94;3060:42:70;3463:5;;;;;3066;;7866:3473:94;3060:42:70;4494:258:90;:::o;4628:27::-;2662:52;4628:27;;;;2662:43;4628:27;;;;;;;;;;;:::i;:::-;;;;;;14296:213:71;7866:3473:94;14374:24:71;;;;14370:103;;7866:3473:94;14296:213:71;:::o;14370:103::-;7866:3473:94;;;;14421:41:71;;;;;;14452:2;14421:41;;;7866:3473:94;;;;;14421:41:71;10695:389:73;7866:3473:94;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;7866:3473:94;;;;;;;;;;10833:17:73;13267:109:99;;10833:17:73;13267:109:99;;;7866:3473:94;11014:1:73;7866:3473:94;;;;;;;11030:37:73;:::o;18080:5181:70:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;7866:3473:94;18246:1:70;7866:3473:94;22284:6:70;;;;:::i;:::-;7866:3473:94;;;;;22278:18:70;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;;;7866:3473:94;23216:28:70;7866:3473:94;;18080:5181:70;:::o;19887:61::-;18246:1;7866:3473:94;19887:61:70;;19787:87;7866:3473:94;;;;;19787:87:70;;;19687;7866:3473:94;;;;;19687:87:70;;;19585:89;7866:3473:94;;;;;19585:89:70;;;19482:90;7866:3473:94;;;;;19482:90:70;;;19379;7866:3473:94;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;7866:3473:94;-1:-1:-1;7866:3473:94;;;;19274:92:70;;12497:447:99;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:70;;;;;;7866:3473:94;;3731:5:70;;;7866:3473:94;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;7866:3473:94;13267:109:99;;;-1:-1:-1;13267:109:99;;7866:3473:94;;;;;-1:-1:-1;12771:136:99;7866:3473:94;;;12830:10:99;;12771:136;;12687:230;;;;12771:136;7866:3473:94;;;;;;;;;;;12771:136:99;;;6893:76:26;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;7866:3473:94;6893:76:26:o;7866:3473:94:-;;;;;;;:::i;:::-;-1:-1:-1;7866:3473:94;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7866:3473:94;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;5072:1269:90:-;5220:30;5072:1269;7866:3473:94;;:::i;:::-;;5220:30:90;7866:3473:94;;;5220:30:90;;;;;;:::i;:::-;5278:17;;7866:3473:94;5278:17:90;;7866:3473:94;-1:-1:-1;;;;;7866:3473:94;5278:54:90;;:178;;5072:1269;5261:258;;5534:9;5220:30;5549:33;;;5278:17;5591:3;5549:33;;7866:3473:94;;5545:44:90;;;;;5614:36;;;:50;:36;;:::i;:::-;7866:3473:94;-1:-1:-1;;;;;7866:3473:94;;;5614:50:90;;5610:119;;5747:73;5748:72;5783:36;;:33;;;:36;:::i;:::-;5748:72;:::i;:::-;5747:73;;7866:3473:94;5747:73:90;5743:140;;7866:3473:94;;5534:9:90;;5743:140;7866:3473:94;;-1:-1:-1;;;5847:21:90;;;;;5610:119;7866:3473:94;;-1:-1:-1;;;5691:23:90;;;;;5545:44;-1:-1:-1;5923:41:90;;-1:-1:-1;;5923:41:90;;;;5278:17;5973:3;5923:41;;7866:3473:94;;5919:52:90;;;;;5996:44;;;:58;:44;;:::i;:58::-;;5992:127;;6137:90;6138:89;6182:44;;:41;;;:44;:::i;:::-;6138:89;:::i;6137:90::-;6133:157;;7866:3473:94;;5908:9:90;;6133:157;7866:3473:94;;-1:-1:-1;;;6254:21:90;;;;;5992:127;7866:3473:94;;-1:-1:-1;;;6081:23:90;;;;;5919:52;;;;;;6317:17;5072:1269;:::o;5261:258::-;7866:3473:94;;-1:-1:-1;;;5488:20:90;;;;;5278:178;5353:33;5220:30;5353:33;;;7866:3473:94;5353:45:90;:102;5278:178;5353:102;5402:41;;;;;7866:3473:94;5402:53:90;5278:178;;6999:207:99;;7866:3473:94;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;7866:3473:94;;7168:7:99;7866:3473:94;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:99;;;;;;13089:293;;10135:41:73;7866:3473:94;;;;;10135:48:73;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;7866:3473:94;;;;;;;10049:53:73;13267:109:99;;-1:-1:-1;13267:109:99;7866:3473:94;13267:109:99;;;-1:-1:-1;13267:109:99;;7866:3473:94;;;;;9870:48:73;9866:149;7866:3473:94;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;7866:3473:94;;;;;;;:::i;:::-;-1:-1:-1;7866:3473:94;;;;;;;:::o;11486:272:99:-;;7866:3473:94;11452:22:73;11718:31:99;11486:272;7866:3473:94;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;7866:3473:94;;:::i;:::-;;11718:12:99;7866:3473:94;;;;;11731:17:99;7866:3473:94;;;;;11731:17:99;;7866:3473:94;;11718:12:99;;:31;:::i;:::-;7866:3473:94;;;;;;;;;:::i;:::-;;;;;;11731:17:99;11672:79;;7866:3473:94;11486:272:99;:::o;7866:3473:94:-;;;-1:-1:-1;;;7866:3473:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;7866:3473:94;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;7866:3473:94;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:99;;;;;;13089:293;;11916:28:73;7866:3473:94;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;7866:3473:94;;;;;;;;;;;;;;;;;12285:19:73;7866:3473:94;;12423:25:73;;:::o;12247:163::-;7866:3473:94;;;12343:52:73;7866:3473:94;12353:41:73;7866:3473:94;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;7866:3473:94;;12353:41:73;;;7866:3473:94;12343:52:73;:::i;:::-;12247:163;;12099:89;7866:3473:94;;-1:-1:-1;;;12143:30:73;;;;;11860:713;7866:3473:94;;12479:52:73;7866:3473:94;12489:41:73;7866:3473:94;;:::i;12489:41:73:-;-1:-1:-1;;;;;7866:3473:94;;12489:41:73;;;7866:3473:94;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o;7084:141:26:-;7866:3473:94;-1:-1:-1;;;;;;;;;;;7866:3473:94;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;7866:3473:94;;-1:-1:-1;;;7191:17:26;;;;","linkReferences":{},"immutableReferences":{"60120":[{"start":2349,"length":32}],"60123":[{"start":4427,"length":32}],"61074":[{"start":1953,"length":32},{"start":4484,"length":32}],"61077":[{"start":1250,"length":32},{"start":9830,"length":32}],"61080":[{"start":1612,"length":32},{"start":7136,"length":32},{"start":7439,"length":32}],"61083":[{"start":1823,"length":32},{"start":6983,"length":32},{"start":7565,"length":32}],"63974":[{"start":3772,"length":32},{"start":6042,"length":32}],"63976":[{"start":3215,"length":32},{"start":6203,"length":32}],"63978":[{"start":4175,"length":32}],"64680":[{"start":1686,"length":32},{"start":5260,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_LIMIT_SET_ROLE()":"7d24bb27","NETWORK_REGISTRY()":"c0cd7c3e","OPERATOR_NETWORK_LIMIT_SET_ROLE()":"518504ba","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VAULT_HINTS()":"45e78fcb","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","networkLimit(bytes32)":"3eb22c0f","networkLimitAt(bytes32,uint48,bytes)":"5d32a1c9","networkLimitHint(address,bytes32,uint48)":"da749d2b","networkLimitHintInternal(bytes32,uint48)":"197aa7ea","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","operatorNetworkLimit(bytes32,address)":"11422095","operatorNetworkLimitAt(bytes32,address,uint48,bytes)":"94d2558a","operatorNetworkLimitHint(address,bytes32,address,uint48)":"10a28b5d","operatorNetworkLimitHintInternal(bytes32,address,uint48)":"f7b05547","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","setNetworkLimit(bytes32,uint256)":"02145348","setOperatorNetworkLimit(bytes32,address,uint256)":"020cf0c2","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateRoleHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedsMaxNetworkLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoleHolders\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"ZeroAddressRoleHolder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetOperatorNetworkLimit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"networkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"networkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"operatorNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"operatorNetworkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"operatorNetworkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"operatorNetworkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"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\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setOperatorNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetOperatorNetworkLimit(bytes32,address,uint256)\":{\"params\":{\"amount\":\"new operator's limit for the subnetwork (how much stake the vault curator is ready to give to the operator for the subnetwork)\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"networkLimit(bytes32)\":{\"params\":{\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"limit of the subnetwork\"}},\"networkLimitAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the subnetwork limit at\"},\"returns\":{\"_0\":\"limit of the subnetwork at the given timestamp\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"operatorNetworkLimit(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"limit of the operator for the subnetwork\"}},\"operatorNetworkLimitAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the operator's limit for the subnetwork at\"},\"returns\":{\"_0\":\"limit of the operator for the subnetwork at the given timestamp\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"setNetworkLimit(bytes32,uint256)\":{\"details\":\"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"amount\":\"new limit of the subnetwork\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"setOperatorNetworkLimit(bytes32,address,uint256)\":{\"details\":\"Only an OPERATOR_NETWORK_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"amount\":\"new limit of the operator for the subnetwork\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"},\"SetNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's limit is set.\"},\"SetOperatorNetworkLimit(bytes32,address,uint256)\":{\"notice\":\"Emitted when an operator's limit for a subnetwork is set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_LIMIT_SET_ROLE()\":{\"notice\":\"Get a subnetwork limit setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_LIMIT_SET_ROLE()\":{\"notice\":\"Get an operator-subnetwork limit setter's role.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"networkLimit(bytes32)\":{\"notice\":\"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"networkLimitAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork).\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"operatorNetworkLimit(bytes32,address)\":{\"notice\":\"Get an operator's limit for a subnetwork. (how much stake the vault curator is ready to give to the operator for the subnetwork)\"},\"operatorNetworkLimitAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get an operator's limit for a subnetwork at a given timestamp using a hint (how much stake the vault curator is ready to give to the operator for the subnetwork).\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"setNetworkLimit(bytes32,uint256)\":{\"notice\":\"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"setOperatorNetworkLimit(bytes32,address,uint256)\":{\"notice\":\"Set an operator's limit for a subnetwork. (how much stake the vault curator is ready to give to the operator for the subnetwork)\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"FullRestakeDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"},{"internalType":"address","name":"vaultHints","type":"address"},{"internalType":"address","name":"optInServiceHints","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":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DuplicateRoleHolder"},{"inputs":[],"type":"error","name":"ExceedsMaxNetworkLimit"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"MissingRoleHolders"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"ZeroAddressRoleHolder"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetOperatorNetworkLimit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"networkLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"networkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"operatorNetworkLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"operatorNetworkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"operatorNetworkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"operatorNetworkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setOperatorNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"networkLimit(bytes32)":{"params":{"subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"limit of the subnetwork"}},"networkLimitAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the subnetwork limit at"},"returns":{"_0":"limit of the subnetwork at the given timestamp"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"operatorNetworkLimit(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"limit of the operator for the subnetwork"}},"operatorNetworkLimitAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the operator's limit for the subnetwork at"},"returns":{"_0":"limit of the operator for the subnetwork at the given timestamp"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"setNetworkLimit(bytes32,uint256)":{"details":"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.","params":{"amount":"new limit of the subnetwork","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"setOperatorNetworkLimit(bytes32,address,uint256)":{"details":"Only an OPERATOR_NETWORK_LIMIT_SET_ROLE holder can call this function.","params":{"amount":"new limit of the operator for the subnetwork","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_LIMIT_SET_ROLE()":{"notice":"Get a subnetwork limit setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_LIMIT_SET_ROLE()":{"notice":"Get an operator-subnetwork limit setter's role."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"networkLimit(bytes32)":{"notice":"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"networkLimitAt(bytes32,uint48,bytes)":{"notice":"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork)."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"operatorNetworkLimit(bytes32,address)":{"notice":"Get an operator's limit for a subnetwork. (how much stake the vault curator is ready to give to the operator for the subnetwork)"},"operatorNetworkLimitAt(bytes32,address,uint48,bytes)":{"notice":"Get an operator's limit for a subnetwork at a given timestamp using a hint (how much stake the vault curator is ready to give to the operator for the subnetwork)."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"setNetworkLimit(bytes32,uint256)":{"notice":"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"setOperatorNetworkLimit(bytes32,address,uint256)":{"notice":"Set an operator's limit for a subnetwork. (how much stake the vault curator is ready to give to the operator for the subnetwork)"},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"FullRestakeDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":94} \ No newline at end of file diff --git a/out/DelegatorHints.sol/NetworkRestakeDelegatorHints.json b/out/DelegatorHints.sol/NetworkRestakeDelegatorHints.json index 675cb62..a6eb4ae 100644 --- a/out/DelegatorHints.sol/NetworkRestakeDelegatorHints.json +++ b/out/DelegatorHints.sol/NetworkRestakeDelegatorHints.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"},{"name":"vaultHints","type":"address","internalType":"address"},{"name":"optInServiceHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_SHARES_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operatorNetworkShares","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"operatorNetworkSharesAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"operatorNetworkSharesHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"operatorNetworkSharesHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOperatorNetworkShares","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"totalOperatorNetworkShares","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalOperatorNetworkSharesAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalOperatorNetworkSharesHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"totalOperatorNetworkSharesHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetOperatorNetworkShares","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"shares","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":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DuplicateRoleHolder","inputs":[]},{"type":"error","name":"ExceedsMaxNetworkLimit","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"MissingRoleHolders","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","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":"ZeroAddressRoleHolder","inputs":[]}],"bytecode":{"object":"0x6101c0346101cf57601f61383338819003918201601f19168301916001600160401b0391828411858510176101d35781606092869260409687528339810103126101cf5761004c836101e7565b926100648361005d602084016101e7565b92016101e7565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101be57808083160361017a575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609283526101809384526101a0948552519461363796876101fc88396080518781816105a001528181610fd70152611629015260a051876109e9015260c051876112ac015260e05187818161084b01526112e5015251868181610512015261298501525185818161055601528181611e330152611f3b0152518481816107c901528181611d9a0152611fb9015251838181610e95015261194d015251828181610d9701526119ee015251816110490152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101cf5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a71461030457806302145348146102ff57806307f9d5fd146102fa578063103f2907146102f5578063128e5d82146102f0578063197aa7ea146102eb5780631a7a7044146102e65780631a80e500146102e157806323f752d5146102dc578063248a9ca3146102d757806325dc9708146102d25780632dd31000146102cd5780632f2ff15d146102c857806336568abe146102c35780633dfd3873146102be5780633eb22c0f146102b957806342c53e33146102b4578063439fab91146102af57806345e78fcb146102aa578063557cab44146102a55780635d32a1c9146102a05780636679191e1461029b57806379d89614146102965780637d24bb27146102915780637f5a7c7b1461028c5780638b3f10b01461028757806391d1485414610282578063987b3ee81461027d5780639b656b22146102785780639f86fd8514610273578063a217fddf1461026e578063a33bc28714610269578063b549ef1f14610264578063bb24fe8a1461025f578063c0cd7c3e1461025a578063c43dc03f14610255578063d15b740e14610250578063d547741f1461024b578063da749d2b14610246578063e02f693714610241578063e49561ee1461023c578063e78eb6ae14610237578063ed4d89e514610232578063fbfa77cf1461022d578063fd4d447c14610228578063ff54740f146102235763ffa1ad741461021e575f80fd5b6116dc565b6116bf565b611695565b61166e565b61160e565b6115d4565b6113e9565b6113cd565b6113b3565b611367565b61133d565b611314565b6112d0565b61128d565b611273565b611126565b61110c565b611078565b611034565b610fa6565b610f48565b610f25565b610efd565b610ec4565b610e80565b610e46565b610e23565b610dc6565b610d82565b610c4a565b610bd1565b610ba8565b610aaf565b610a64565b610a18565b6109d4565b6109b7565b61097e565b6107f8565b6107b4565b61076e565b610585565b610541565b6104fd565b6104c8565b61035e565b3461035a57602036600319011261035a5760043563ffffffff60e01b811680910361035a57602090637965db0b60e01b8114908115610349575b506040519015158152f35b6301ffc9a760e01b1490505f61033e565b5f80fd5b3461035a5760408060031936011261035a57600435906024359061038061202e565b825f526002602052805f2054821161041a57825f526003602052816103a6825f206128d7565b1461040a5781610405916103f57e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103e6875f52600360205260405f2090565b6103ef42612d8e565b90612176565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b6001600160a01b0381160361035a57565b6024359065ffffffffffff8216820361035a57565b6064359065ffffffffffff8216820361035a57565b608090600319011261035a5760043561047d8161042a565b906024359060443561048e8161042a565b9060643565ffffffffffff8116810361035a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461035a576104f96104e56104dc36610465565b92919091611736565b6040519182916020835260208301906104a4565b0390f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a5761059e61043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600360205260405f206122f5565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761064357604052565b610614565b606081019081106001600160401b0382111761064357604052565b60a081019081106001600160401b0382111761064357604052565b90601f801991011681019081106001600160401b0382111761064357604052565b604051906106ac82610663565b565b604051906106ac82610628565b6001600160401b03811161064357601f01601f191660200190565b81601f8201121561035a578035906106ed826106bb565b926106fb604051948561067e565b8284526020838301011161035a57815f926020809301838601378301015290565b90608060031983011261035a57600435916024356107398161042a565b9160443565ffffffffffff8116810361035a5791606435906001600160401b03821161035a5761076b916004016106d6565b90565b3461035a5760206107ac6107a76107843661071c565b939190925f526005865260405f209060018060a01b03165f5260205260405f2090565b61242d565b604051908152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356001600160601b038116810361035a5760243590610828612505565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610979575f9161094a575b5015610938576001600160601b03166bffffffffffffffffffffffff193360601b161790806108b2835f52600260205260405f2090565b54146109265761090b817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c926108f0855f52600260205260405f2090565b556108fb8185612534565b6040519081529081906020820190565b0390a261092460015f805160206135c283398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b61096c915060203d602011610972575b610964818361067e565b8101906117e8565b5f61087b565b503d61095a565b6117fc565b3461035a57602036600319011261035a576004355f525f805160206135a28339815191526020526020600160405f200154604051908152f35b3461035a576104f96104e56109cb36610465565b92919091611904565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a57610924602435600435610a3b8261042a565b805f525f805160206135a2833981519152602052610a5f600160405f2001546120e1565b61280f565b3461035a57604036600319011261035a57602435610a818161042a565b336001600160a01b03821603610a9d5761092490600435612845565b60405163334bd91960e11b8152600490fd5b3461035a57602036600319011261035a57600435610acc8161042a565b610ad4612505565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610b8a57506001546001600160a01b039182169181168214610926576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206135c283398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461035a57602036600319011261035a576004355f52600360205260206107ac60405f206128d7565b3461035a57604036600319011261035a5760206107ac610c18602435610bf68161042a565b6004355f526005845260405f209060018060a01b03165f5260205260405f2090565b6128d7565b9181601f8401121561035a578235916001600160401b03831161035a576020838186019501011161035a57565b3461035a57602036600319011261035a576001600160401b0360043581811161035a57610c7b903690600401610c1d565b5f805160206135e2833981519152549260ff8460401c1615931680159081610d7a575b6001149081610d70575b159081610d67575b50610d55575f805160206135e2833981519152805467ffffffffffffffff19166001179055610ce39183610d3157612950565b610ce957005b5f805160206135e2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206135e2833981519152805460ff60401b1916600160401b179055612950565b60405163f92ee8a960e01b8152600490fd5b9050155f610cb0565b303b159150610ca8565b849150610c9e565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576020604051614e208152f35b606060031982011261035a576004359160243565ffffffffffff8116810361035a5791604435906001600160401b03821161035a5761076b916004016106d6565b3461035a5760206107ac610e3636610de2565b915f526003845260405f2061242d565b3461035a575f36600319011261035a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461035a575f36600319011261035a576001546040516001600160a01b039091168152602090f35b3461035a5760206107ac610f3836610de2565b915f526004845260405f2061242d565b3461035a57604036600319011261035a57602060ff610f9a602435610f6c8161042a565b6004355f525f805160206135a2833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461035a57606036600319011261035a57602435610fc38161042a565b60443565ffffffffffff8116810361035a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106025761102f6105e5926004355f52600560205260405f209060018060a01b03165f5260205260405f2090565b6122f5565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356110958161042a565b6024356001600160401b03811161035a575f916110b783923690600401610c1d565b90816040519283928337810184815203915af46111046110d5611b60565b916110f66040519384921515602084015260408084015260608301906104a4565b03601f19810183528261067e565b805190602001fd5b3461035a575f36600319011261035a5760206040515f8152f35b3461035a57606036600319011261035a576024356004356111468261042a565b6044359161115261208a565b5f8281526005602090815260408083206001600160a01b0385168452909152902061117c906128d7565b838114610926577f739a5a3ec0ff71e2386d0013deac5f44e0935a98def2e2a5ddf9a709518c8294916111ef61123c92855f52600460205260405f20906111e9886111e46111c942612d8e565b936111df610c188c5f52600460205260405f2090565b611bb6565b611bd1565b91612176565b5050611220856103e68361120b885f52600560205260405f2090565b9060018060a01b03165f5260205260405f2090565b50506040519485526001600160a01b0316939081906020820190565b0390a3005b606090600319011261035a576004356112598161042a565b906024359060443565ffffffffffff8116810361035a5790565b3461035a576104f96104e561128736611241565b91611bde565b3461035a575f36600319011261035a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57602036600319011261035a576004355f52600460205260206107ac60405f206128d7565b3461035a57602036600319011261035a576004355f526002602052602060405f2054604051908152f35b3461035a57604036600319011261035a5761092460243560043561138a8261042a565b805f525f805160206135a28339815191526020526113ae600160405f2001546120e1565b612845565b3461035a576104f96104e56113c736611241565b91611c28565b3461035a5760206107ac6113e03661071c565b92919091611d24565b3461035a5760a036600319011261035a576024356004356114098261042a565b60443591611415610450565b90608435906001600160401b03821161035a57611437600492369084016106d6565b61143f612505565b5f5460209061146490611458906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa928315610979575f936115a3575b506001600160a01b039283163303611591576001546001600160a01b0316838116611506575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361092460015f805160206135c283398151915255565b90936040519461153d8661152f602082019363724ab0f760e11b8552858c898d60248701611eae565b03601f19810188528761067e565b62042e305a1061157f575f6114ed938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f150936114ac565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6115c691935060203d6020116115cd575b6115be818361067e565b810190611872565b915f611486565b503d6115b4565b3461035a575f36600319011261035a5760206040517f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846258152f35b3461035a57604036600319011261035a5761162761043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600460205260405f206122f5565b3461035a575f36600319011261035a575f546040516001600160a01b039091168152602090f35b3461035a57604036600319011261035a5760206107ac6024356116b78161042a565b600435611f04565b3461035a575f36600319011261035a5760206040516203d0908152f35b3461035a575f36600319011261035a57602060405160018152f35b5190811515820361035a57565b519063ffffffff8216820361035a57565b919082604091031261035a5761076b602061172f846116f7565b9301611704565b906117869165ffffffffffff6117959496956060976040519463130f67dd60e31b6020870152602486015260018060a01b031660448501521660648301526064825261178182610663565b612238565b60208082518301019101611715565b9061179d5750565b90915063ffffffff604051911660208201526020815261076b81610628565b5f9081526005602090815260408083206001600160a01b0390941683529290522061076b92919061242d565b9081602091031261035a5761076b906116f7565b6040513d5f823e3d90fd5b81601f8201121561035a5780519061181e826106bb565b9261182c604051948561067e565b8284526020838301011161035a57815f9260208093018386015e8301015290565b9060208282031261035a5781516001600160401b03811161035a5761076b9201611807565b9081602091031261035a575161076b8161042a565b9061076b91602081526118a6825160a0602084015260c08301906104a4565b9060a060806118f46118e16118cd602088015196601f1997888883030160408901526104a4565b6040880151878783030160608801526104a4565b60608701518686830301848701526104a4565b94015192828503019101526104a4565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491935f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa948515610979575f95611b18575b5060405163fbfa77cf60e01b8152602081600481888d165afa908115610979576119ea995f9285928491611af9575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa978815610979575f98611acf575b509081611a3b82611a3381611a419689611c28565b958388611736565b94611bde565b90835115801590611ac5575b8015611abb575b8015611ab1575b8015611aa7575b611a6f5750505050909150565b6110f6955061076b9496611a8161069f565b948552602085015260408401526060830152608082015260405192839160208301611887565b5081511515611a62565b5082511515611a5b565b5080511515611a54565b5086511515611a4d565b611a4192919850611af1903d805f833e611ae9818361067e565b81019061184d565b979091611a1e565b611b12915060203d6020116115cd576115be818361067e565b5f6119ad565b611b2d9195503d805f833e611ae9818361067e565b935f61197e565b9061076b92915f52600360205260405f2061242d565b9061076b92915f52600460205260405f2061242d565b3d15611b8a573d90611b71826106bb565b91611b7f604051938461067e565b82523d5f602084013e565b606090565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211611bb157565b611b8f565b91908203918211611bb157565b9060018201809211611bb157565b91908201809211611bb157565b60405163ed4d89e560e01b6020820152602481019290925265ffffffffffff909216604482015260609291611795916117869161178182606481015b03601f19810184528361067e565b604051630cbd53f560e11b6020820152602481019290925265ffffffffffff90921660448201526060929161179591611786916117818260648101611c1a565b60405190611c7582610628565b60606020838281520152565b9060208282031261035a5781516001600160401b039283821161035a57019060408282031261035a5760405192611cb784610628565b825181811161035a5782611ccc918501611807565b8452602083015190811161035a57611ce49201611807565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261076b929101906104a4565b92611d3490929192828486612bb5565b929093611d3f611c68565b93805180611e92575b50508415938415611dfc575b8415611d6b575b50505050611d665790565b505f90565b602080949550611d96910151604051958694859463530e1d4360e01b865260601c9060048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611ddd575b50155f808080611d5b565b611df6915060203d60201161097257610964818361067e565b5f611dd2565b5f549094506001600160a01b0316602084865192611e2f604051948593849363530e1d4360e01b85528960048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611e73575b501593611d54565b611e8c915060203d60201161097257610964818361067e565b5f611e6b565b611ea6929550602080918301019101611c81565b925f80611d48565b919360a09361076b969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906104a4565b8115611ef0570490565b634e487b7160e01b5f52601260045260245ffd5b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa908115610979575f91612011575b5015918215611f8d575b50509050611f875761076b91612ccb565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa918215610979575f92611ff4575b505015805f80611f76565b61200a9250803d1061097257610964818361067e565b5f80611fe9565b6120289150843d861161097257610964818361067e565b5f611f6c565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b541615610b8a5750565b335f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846259060ff90612080565b5f8181525f805160206135a283398151915260209081526040808320338452909152902060ff90612080565b634e487b7160e01b5f52603260045260245ffd5b8054821015612136575f5260205f2001905f90565b61210d565b90815491600160401b831015610643578261215e9160016106ac95018155612121565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612208575b508461219384612dc0565b509490928454936121a3836128d7565b96816121f3575b50156121d0575050505f198101908111611bb15761215e85916121cc93612121565b9190565b6121cc9492936121ec926001600160d01b039091169190613486565b505061213b565b65ffffffffffff83811691161490505f6121aa565b600160401b811015610643578060016122249201845583612121565b8154905f199060031b1b191690555f612188565b5f9190829160405161226d816110f66020820194639f86fd8560e01b86523060248401526040604484015260648301906104a4565b51915afa5061227a611b60565b8051810160408282031261035a57612294602083016116f7565b916040810151916001600160401b03831161035a576122ba926020809201920101611807565b90156122c35790565b805190811561035a57602001fd5b906040516122de81610628565b915465ffffffffffff8116835260301c6020830152565b91908254905f82916005841161239d575b612311935085612f24565b9081156123915761238a61238161237b61237161234361233e61233388611ba3565b895f5260205f200190565b6122d1565b96600161236a602061235b8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612121565b90549060031b1c90565b93611ba3565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926123a881612df9565b8103908111611bb15761231193865f526123dc6123d18360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff851610156123f2575091612306565b9291506123fe90611bc3565b90612306565b9081602091031261035a5761076b90611704565b90600163ffffffff80931601918211611bb157565b918051156124fb578060208061244893518301019101612404565b916124538382613056565b92612464845165ffffffffffff1690565b9065ffffffffffff80851692168281146124ef578211918261249a575b50506124915761076b9250612f86565b50506020015190565b9091506124a78354611ba3565b63ffffffff8316149182156124c0575b50505f80612481565b6124e79192506124db6124d56123d192612418565b85613056565b5165ffffffffffff1690565b115f806124b7565b50505050506020015190565b5061076b91612f86565b5f805160206135c283398151915260028154146125225760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161254b82612dc0565b9193905083156125a95761256b916001600160d01b031690600101612121565b90549060031b1c5b8261259f575b5050612583575050565b61259b915f52600360205260405f206103ef42612d8e565b5050565b119050815f612579565b50505f612573565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206135a28339815191529060ff16611f87575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206135a28339815191529060ff905b541661272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206135a28339815191529060ff906126c7565b6001600160a01b0381165f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b5584625905f805160206135a28339815191529060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b038716855290915290912060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b8054806128fc57505f5b6001600160d01b03811615611f875760016123719201612121565b5f19908082810111611bb157825f5260205f2001015460301c6128e1565b91909160408184031261035a5780356129328161042a565b9260208201356001600160401b03811161035a5761076b92016106d6565b61295c9181019061291a565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610979575f91612a6f575b5015612a5d576129f16040916129ec612a37946129d16130be565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61323e565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612a4d575b5001516001600160a01b031690565b908116612a415750565b612a4a9061265c565b50565b612a56906125b1565b505f612a28565b6040516362df054560e01b8152600490fd5b612a88915060203d60201161097257610964818361067e565b5f6129b6565b6040519060a082018281106001600160401b038211176106435760405281608060609182815282602082015282604082015282808201520152565b9060208282031261035a5781516001600160401b039283821161035a57019060a08282031261035a57612afa61069f565b92825181811161035a5782612b10918501611807565b8452602083015181811161035a5782612b2a918501611807565b6020850152604083015181811161035a5782612b47918501611807565b6040850152606083015181811161035a5782612b64918501611807565b6060850152608083015190811161035a57612b7f9201611807565b608082015290565b9081602091031261035a575190565b60409065ffffffffffff61076b949316815281602082015201906104a4565b91939293612bc1612a8e565b94805180612caf575b5050612bdb60608601518285611b4a565b9182612bed57505050509051905f9190565b612c01612c3b9183608089015191876117bc565b916020612c1a6114586114585f5460018060a01b031690565b8189015190604051808096819463810da75d60e01b83528760048401612b96565b03915afa801561097957612c7795612c71935f92612c7c575b50612c65919260408a015191611b34565b90818082109118021890565b9061339e565b915190565b612c659250612ca29060203d602011612ca8575b612c9a818361067e565b810190612b87565b91612c54565b503d612c90565b612cc3929650602080918301019101612ac9565b935f80612bca565b612ce0610c18825f52600460205260405f2090565b9081612ced575050505f90565b612d08610c1860049461120b845f52600560205260405f2090565b5f5460405163bd49c35f60e01b81529491929160209186919082906001600160a01b03165afa9081156109795761076b945f92612d65575b50610c18612d56915f52600360205260405f2090565b9081808210911802189061339e565b612d56919250612d86610c189160203d602011612ca857612c9a818361067e565b929150612d40565b65ffffffffffff90818111612da1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612dd15750505f905f905f90565b5f19918183810111611bb1575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561076b57600181600160801b811015612f12575b612eba612eb0612ea6612e9c612e92612e88612ec697600488600160401b612ec19a1015612f05575b640100000000811015612ef8575b62010000811015612eeb575b610100811015612edf575b6010811015612ed3575b1015612ecb575b60030260011c612e81818b611ee6565b0160011c90565b612e81818a611ee6565b612e818189611ee6565b612e818188611ee6565b612e818187611ee6565b612e818186611ee6565b8093611ee6565b821190565b900390565b60011b612e71565b811c9160021b91612e6a565b60081c91811b91612e60565b60101c9160081b91612e55565b60201c9160101b91612e49565b60401c9160201b91612e3b565b50600160401b9050608082901c612e12565b91905b838210612f345750505090565b909192808316906001818518811c8301809311611bb157855f5265ffffffffffff808460205f20015416908516105f14612f73575050925b9190612f27565b909493508101809111611bb15791612f6c565b908154905f829160058411612ff0575b612fa1935084612f24565b80612fc957505f905b6001600160d01b03821615611f875761076b9160016123719201612121565b612fe3612fd8612fea92611ba3565b835f5260205f200190565b5460301c90565b90612faa565b9192612ffb81612df9565b8103908111611bb157612fa193855f5265ffffffffffff808360205f20015416908516105f1461302c575091612f96565b92915061303890611bc3565b90612f96565b6040519061304b82610628565b5f6020838281520152565b9061307f6130796130a09261306961303e565b5061307261303e565b5084612121565b506122d1565b91600165ffffffffffff845116936020828060d01b03910151169101612121565b905490604051926130b084610628565b835260031b1c602082015290565b6130c6613563565b6130ce613563565b60015f805160206135c283398151915255565b604051906130ee82610648565b5f6040838281528260208201520152565b81601f8201121561035a578051916020916001600160401b038411610643578360051b90604051946131338584018761067e565b8552838086019282010192831161035a578301905b828210613156575050505090565b83809183516131648161042a565b815201910190613148565b9060208282031261035a5781516001600160401b039283821161035a5701908181039260a0841261035a576060604051946131a986610648565b1261035a576040516131ba81610648565b83516131c58161042a565b815260208401516131d58161042a565b602082015260408401516131e88161042a565b60408201528452606083015181811161035a57826132079185016130ff565b6020850152608083015190811161035a5761322292016130ff565b604082015290565b80518210156121365760209160051b010190565b61325a9061324a6130e1565b506020808251830101910161316f565b8051519091906001600160a01b03161580613384575b613372579060208101905f5b825180518210156132f657611458613297836132a49361322a565b516001600160a01b031690565b156132e4576132c66132c26132bd61329784875161322a565b612732565b1590565b6132d25760010161327c565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015613369576114586132978361331d9361322a565b156133585761333b6132c261333661329784875161322a565b6127a0565b61334757600101613302565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580613270575060408201515115613270565b91818302915f198185099383808610950394808603951461341e57848311156134115790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118613591565b50509061076b9250611ee6565b8054600160401b8110156106435761344891600182018155612121565b61347357815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156135395761349d6134a891611ba3565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411613527578793036134ee57506134e792509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506135229161350e6135006106ae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261342b565b6134e7565b604051632520601d60e01b8152600490fd5b509061355e9161354a6135006106ae565b6001600160d01b038516602083015261342b565b5f9190565b60ff5f805160206135e28339815191525460401c161561357f57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220634e3b6b986f1093753acb2fce82d90613d9763273e8cb9fc5d156adf1a11ace64736f6c63430008190033","sourceMap":"3228:4636:92:-:0;;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:93;;332:21;;8837:64:26;3228:4636:92;;;;;;;;;7896:76:26;;3228:4636:92;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:80;;;-1:-1:-1;525:17:80;;-1:-1:-1;552:12:80;;-1:-1:-1;2360:34:87;;2404:28;;-1:-1:-1;2404:28:87;;2442:57;;-1:-1:-1;2442:57:87;;2509:61;;-1:-1:-1;2509:61:87;;3714:41:92;;;;3765:24;;;;3799:40;;;;3228:4636;;;;;;;;332:21:93;3228:4636:92;;;;;;;;;;;;;;;525:17:80;3228:4636:92;;;;;552:12:80;3228:4636:92;;;;;2360:34:87;3228:4636:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;3228:4636:92;;;;;;;;;;;;;8087:29:26;;3228:4636:92;;8087:29:26;7981:146;;;;;7896:76;3228:4636:92;;-1:-1:-1;;;7938:23:26;;;;;3228:4636:92;-1:-1:-1;3228:4636:92;;;;;;-1:-1:-1;3228:4636:92;;;;;-1:-1:-1;3228:4636:92;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a71461030457806302145348146102ff57806307f9d5fd146102fa578063103f2907146102f5578063128e5d82146102f0578063197aa7ea146102eb5780631a7a7044146102e65780631a80e500146102e157806323f752d5146102dc578063248a9ca3146102d757806325dc9708146102d25780632dd31000146102cd5780632f2ff15d146102c857806336568abe146102c35780633dfd3873146102be5780633eb22c0f146102b957806342c53e33146102b4578063439fab91146102af57806345e78fcb146102aa578063557cab44146102a55780635d32a1c9146102a05780636679191e1461029b57806379d89614146102965780637d24bb27146102915780637f5a7c7b1461028c5780638b3f10b01461028757806391d1485414610282578063987b3ee81461027d5780639b656b22146102785780639f86fd8514610273578063a217fddf1461026e578063a33bc28714610269578063b549ef1f14610264578063bb24fe8a1461025f578063c0cd7c3e1461025a578063c43dc03f14610255578063d15b740e14610250578063d547741f1461024b578063da749d2b14610246578063e02f693714610241578063e49561ee1461023c578063e78eb6ae14610237578063ed4d89e514610232578063fbfa77cf1461022d578063fd4d447c14610228578063ff54740f146102235763ffa1ad741461021e575f80fd5b6116dc565b6116bf565b611695565b61166e565b61160e565b6115d4565b6113e9565b6113cd565b6113b3565b611367565b61133d565b611314565b6112d0565b61128d565b611273565b611126565b61110c565b611078565b611034565b610fa6565b610f48565b610f25565b610efd565b610ec4565b610e80565b610e46565b610e23565b610dc6565b610d82565b610c4a565b610bd1565b610ba8565b610aaf565b610a64565b610a18565b6109d4565b6109b7565b61097e565b6107f8565b6107b4565b61076e565b610585565b610541565b6104fd565b6104c8565b61035e565b3461035a57602036600319011261035a5760043563ffffffff60e01b811680910361035a57602090637965db0b60e01b8114908115610349575b506040519015158152f35b6301ffc9a760e01b1490505f61033e565b5f80fd5b3461035a5760408060031936011261035a57600435906024359061038061202e565b825f526002602052805f2054821161041a57825f526003602052816103a6825f206128d7565b1461040a5781610405916103f57e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103e6875f52600360205260405f2090565b6103ef42612d8e565b90612176565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b6001600160a01b0381160361035a57565b6024359065ffffffffffff8216820361035a57565b6064359065ffffffffffff8216820361035a57565b608090600319011261035a5760043561047d8161042a565b906024359060443561048e8161042a565b9060643565ffffffffffff8116810361035a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461035a576104f96104e56104dc36610465565b92919091611736565b6040519182916020835260208301906104a4565b0390f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a5761059e61043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600360205260405f206122f5565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761064357604052565b610614565b606081019081106001600160401b0382111761064357604052565b60a081019081106001600160401b0382111761064357604052565b90601f801991011681019081106001600160401b0382111761064357604052565b604051906106ac82610663565b565b604051906106ac82610628565b6001600160401b03811161064357601f01601f191660200190565b81601f8201121561035a578035906106ed826106bb565b926106fb604051948561067e565b8284526020838301011161035a57815f926020809301838601378301015290565b90608060031983011261035a57600435916024356107398161042a565b9160443565ffffffffffff8116810361035a5791606435906001600160401b03821161035a5761076b916004016106d6565b90565b3461035a5760206107ac6107a76107843661071c565b939190925f526005865260405f209060018060a01b03165f5260205260405f2090565b61242d565b604051908152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356001600160601b038116810361035a5760243590610828612505565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610979575f9161094a575b5015610938576001600160601b03166bffffffffffffffffffffffff193360601b161790806108b2835f52600260205260405f2090565b54146109265761090b817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c926108f0855f52600260205260405f2090565b556108fb8185612534565b6040519081529081906020820190565b0390a261092460015f805160206135c283398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b61096c915060203d602011610972575b610964818361067e565b8101906117e8565b5f61087b565b503d61095a565b6117fc565b3461035a57602036600319011261035a576004355f525f805160206135a28339815191526020526020600160405f200154604051908152f35b3461035a576104f96104e56109cb36610465565b92919091611904565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a57610924602435600435610a3b8261042a565b805f525f805160206135a2833981519152602052610a5f600160405f2001546120e1565b61280f565b3461035a57604036600319011261035a57602435610a818161042a565b336001600160a01b03821603610a9d5761092490600435612845565b60405163334bd91960e11b8152600490fd5b3461035a57602036600319011261035a57600435610acc8161042a565b610ad4612505565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610b8a57506001546001600160a01b039182169181168214610926576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206135c283398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461035a57602036600319011261035a576004355f52600360205260206107ac60405f206128d7565b3461035a57604036600319011261035a5760206107ac610c18602435610bf68161042a565b6004355f526005845260405f209060018060a01b03165f5260205260405f2090565b6128d7565b9181601f8401121561035a578235916001600160401b03831161035a576020838186019501011161035a57565b3461035a57602036600319011261035a576001600160401b0360043581811161035a57610c7b903690600401610c1d565b5f805160206135e2833981519152549260ff8460401c1615931680159081610d7a575b6001149081610d70575b159081610d67575b50610d55575f805160206135e2833981519152805467ffffffffffffffff19166001179055610ce39183610d3157612950565b610ce957005b5f805160206135e2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206135e2833981519152805460ff60401b1916600160401b179055612950565b60405163f92ee8a960e01b8152600490fd5b9050155f610cb0565b303b159150610ca8565b849150610c9e565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576020604051614e208152f35b606060031982011261035a576004359160243565ffffffffffff8116810361035a5791604435906001600160401b03821161035a5761076b916004016106d6565b3461035a5760206107ac610e3636610de2565b915f526003845260405f2061242d565b3461035a575f36600319011261035a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461035a575f36600319011261035a576001546040516001600160a01b039091168152602090f35b3461035a5760206107ac610f3836610de2565b915f526004845260405f2061242d565b3461035a57604036600319011261035a57602060ff610f9a602435610f6c8161042a565b6004355f525f805160206135a2833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461035a57606036600319011261035a57602435610fc38161042a565b60443565ffffffffffff8116810361035a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106025761102f6105e5926004355f52600560205260405f209060018060a01b03165f5260205260405f2090565b6122f5565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356110958161042a565b6024356001600160401b03811161035a575f916110b783923690600401610c1d565b90816040519283928337810184815203915af46111046110d5611b60565b916110f66040519384921515602084015260408084015260608301906104a4565b03601f19810183528261067e565b805190602001fd5b3461035a575f36600319011261035a5760206040515f8152f35b3461035a57606036600319011261035a576024356004356111468261042a565b6044359161115261208a565b5f8281526005602090815260408083206001600160a01b0385168452909152902061117c906128d7565b838114610926577f739a5a3ec0ff71e2386d0013deac5f44e0935a98def2e2a5ddf9a709518c8294916111ef61123c92855f52600460205260405f20906111e9886111e46111c942612d8e565b936111df610c188c5f52600460205260405f2090565b611bb6565b611bd1565b91612176565b5050611220856103e68361120b885f52600560205260405f2090565b9060018060a01b03165f5260205260405f2090565b50506040519485526001600160a01b0316939081906020820190565b0390a3005b606090600319011261035a576004356112598161042a565b906024359060443565ffffffffffff8116810361035a5790565b3461035a576104f96104e561128736611241565b91611bde565b3461035a575f36600319011261035a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57602036600319011261035a576004355f52600460205260206107ac60405f206128d7565b3461035a57602036600319011261035a576004355f526002602052602060405f2054604051908152f35b3461035a57604036600319011261035a5761092460243560043561138a8261042a565b805f525f805160206135a28339815191526020526113ae600160405f2001546120e1565b612845565b3461035a576104f96104e56113c736611241565b91611c28565b3461035a5760206107ac6113e03661071c565b92919091611d24565b3461035a5760a036600319011261035a576024356004356114098261042a565b60443591611415610450565b90608435906001600160401b03821161035a57611437600492369084016106d6565b61143f612505565b5f5460209061146490611458906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa928315610979575f936115a3575b506001600160a01b039283163303611591576001546001600160a01b0316838116611506575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361092460015f805160206135c283398151915255565b90936040519461153d8661152f602082019363724ab0f760e11b8552858c898d60248701611eae565b03601f19810188528761067e565b62042e305a1061157f575f6114ed938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f150936114ac565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6115c691935060203d6020116115cd575b6115be818361067e565b810190611872565b915f611486565b503d6115b4565b3461035a575f36600319011261035a5760206040517f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846258152f35b3461035a57604036600319011261035a5761162761043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600460205260405f206122f5565b3461035a575f36600319011261035a575f546040516001600160a01b039091168152602090f35b3461035a57604036600319011261035a5760206107ac6024356116b78161042a565b600435611f04565b3461035a575f36600319011261035a5760206040516203d0908152f35b3461035a575f36600319011261035a57602060405160018152f35b5190811515820361035a57565b519063ffffffff8216820361035a57565b919082604091031261035a5761076b602061172f846116f7565b9301611704565b906117869165ffffffffffff6117959496956060976040519463130f67dd60e31b6020870152602486015260018060a01b031660448501521660648301526064825261178182610663565b612238565b60208082518301019101611715565b9061179d5750565b90915063ffffffff604051911660208201526020815261076b81610628565b5f9081526005602090815260408083206001600160a01b0390941683529290522061076b92919061242d565b9081602091031261035a5761076b906116f7565b6040513d5f823e3d90fd5b81601f8201121561035a5780519061181e826106bb565b9261182c604051948561067e565b8284526020838301011161035a57815f9260208093018386015e8301015290565b9060208282031261035a5781516001600160401b03811161035a5761076b9201611807565b9081602091031261035a575161076b8161042a565b9061076b91602081526118a6825160a0602084015260c08301906104a4565b9060a060806118f46118e16118cd602088015196601f1997888883030160408901526104a4565b6040880151878783030160608801526104a4565b60608701518686830301848701526104a4565b94015192828503019101526104a4565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491935f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa948515610979575f95611b18575b5060405163fbfa77cf60e01b8152602081600481888d165afa908115610979576119ea995f9285928491611af9575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa978815610979575f98611acf575b509081611a3b82611a3381611a419689611c28565b958388611736565b94611bde565b90835115801590611ac5575b8015611abb575b8015611ab1575b8015611aa7575b611a6f5750505050909150565b6110f6955061076b9496611a8161069f565b948552602085015260408401526060830152608082015260405192839160208301611887565b5081511515611a62565b5082511515611a5b565b5080511515611a54565b5086511515611a4d565b611a4192919850611af1903d805f833e611ae9818361067e565b81019061184d565b979091611a1e565b611b12915060203d6020116115cd576115be818361067e565b5f6119ad565b611b2d9195503d805f833e611ae9818361067e565b935f61197e565b9061076b92915f52600360205260405f2061242d565b9061076b92915f52600460205260405f2061242d565b3d15611b8a573d90611b71826106bb565b91611b7f604051938461067e565b82523d5f602084013e565b606090565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211611bb157565b611b8f565b91908203918211611bb157565b9060018201809211611bb157565b91908201809211611bb157565b60405163ed4d89e560e01b6020820152602481019290925265ffffffffffff909216604482015260609291611795916117869161178182606481015b03601f19810184528361067e565b604051630cbd53f560e11b6020820152602481019290925265ffffffffffff90921660448201526060929161179591611786916117818260648101611c1a565b60405190611c7582610628565b60606020838281520152565b9060208282031261035a5781516001600160401b039283821161035a57019060408282031261035a5760405192611cb784610628565b825181811161035a5782611ccc918501611807565b8452602083015190811161035a57611ce49201611807565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261076b929101906104a4565b92611d3490929192828486612bb5565b929093611d3f611c68565b93805180611e92575b50508415938415611dfc575b8415611d6b575b50505050611d665790565b505f90565b602080949550611d96910151604051958694859463530e1d4360e01b865260601c9060048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611ddd575b50155f808080611d5b565b611df6915060203d60201161097257610964818361067e565b5f611dd2565b5f549094506001600160a01b0316602084865192611e2f604051948593849363530e1d4360e01b85528960048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611e73575b501593611d54565b611e8c915060203d60201161097257610964818361067e565b5f611e6b565b611ea6929550602080918301019101611c81565b925f80611d48565b919360a09361076b969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906104a4565b8115611ef0570490565b634e487b7160e01b5f52601260045260245ffd5b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa908115610979575f91612011575b5015918215611f8d575b50509050611f875761076b91612ccb565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa918215610979575f92611ff4575b505015805f80611f76565b61200a9250803d1061097257610964818361067e565b5f80611fe9565b6120289150843d861161097257610964818361067e565b5f611f6c565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b541615610b8a5750565b335f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846259060ff90612080565b5f8181525f805160206135a283398151915260209081526040808320338452909152902060ff90612080565b634e487b7160e01b5f52603260045260245ffd5b8054821015612136575f5260205f2001905f90565b61210d565b90815491600160401b831015610643578261215e9160016106ac95018155612121565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612208575b508461219384612dc0565b509490928454936121a3836128d7565b96816121f3575b50156121d0575050505f198101908111611bb15761215e85916121cc93612121565b9190565b6121cc9492936121ec926001600160d01b039091169190613486565b505061213b565b65ffffffffffff83811691161490505f6121aa565b600160401b811015610643578060016122249201845583612121565b8154905f199060031b1b191690555f612188565b5f9190829160405161226d816110f66020820194639f86fd8560e01b86523060248401526040604484015260648301906104a4565b51915afa5061227a611b60565b8051810160408282031261035a57612294602083016116f7565b916040810151916001600160401b03831161035a576122ba926020809201920101611807565b90156122c35790565b805190811561035a57602001fd5b906040516122de81610628565b915465ffffffffffff8116835260301c6020830152565b91908254905f82916005841161239d575b612311935085612f24565b9081156123915761238a61238161237b61237161234361233e61233388611ba3565b895f5260205f200190565b6122d1565b96600161236a602061235b8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612121565b90549060031b1c90565b93611ba3565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926123a881612df9565b8103908111611bb15761231193865f526123dc6123d18360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff851610156123f2575091612306565b9291506123fe90611bc3565b90612306565b9081602091031261035a5761076b90611704565b90600163ffffffff80931601918211611bb157565b918051156124fb578060208061244893518301019101612404565b916124538382613056565b92612464845165ffffffffffff1690565b9065ffffffffffff80851692168281146124ef578211918261249a575b50506124915761076b9250612f86565b50506020015190565b9091506124a78354611ba3565b63ffffffff8316149182156124c0575b50505f80612481565b6124e79192506124db6124d56123d192612418565b85613056565b5165ffffffffffff1690565b115f806124b7565b50505050506020015190565b5061076b91612f86565b5f805160206135c283398151915260028154146125225760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161254b82612dc0565b9193905083156125a95761256b916001600160d01b031690600101612121565b90549060031b1c5b8261259f575b5050612583575050565b61259b915f52600360205260405f206103ef42612d8e565b5050565b119050815f612579565b50505f612573565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206135a28339815191529060ff16611f87575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206135a28339815191529060ff905b541661272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206135a28339815191529060ff906126c7565b6001600160a01b0381165f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b5584625905f805160206135a28339815191529060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b038716855290915290912060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b8054806128fc57505f5b6001600160d01b03811615611f875760016123719201612121565b5f19908082810111611bb157825f5260205f2001015460301c6128e1565b91909160408184031261035a5780356129328161042a565b9260208201356001600160401b03811161035a5761076b92016106d6565b61295c9181019061291a565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610979575f91612a6f575b5015612a5d576129f16040916129ec612a37946129d16130be565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61323e565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612a4d575b5001516001600160a01b031690565b908116612a415750565b612a4a9061265c565b50565b612a56906125b1565b505f612a28565b6040516362df054560e01b8152600490fd5b612a88915060203d60201161097257610964818361067e565b5f6129b6565b6040519060a082018281106001600160401b038211176106435760405281608060609182815282602082015282604082015282808201520152565b9060208282031261035a5781516001600160401b039283821161035a57019060a08282031261035a57612afa61069f565b92825181811161035a5782612b10918501611807565b8452602083015181811161035a5782612b2a918501611807565b6020850152604083015181811161035a5782612b47918501611807565b6040850152606083015181811161035a5782612b64918501611807565b6060850152608083015190811161035a57612b7f9201611807565b608082015290565b9081602091031261035a575190565b60409065ffffffffffff61076b949316815281602082015201906104a4565b91939293612bc1612a8e565b94805180612caf575b5050612bdb60608601518285611b4a565b9182612bed57505050509051905f9190565b612c01612c3b9183608089015191876117bc565b916020612c1a6114586114585f5460018060a01b031690565b8189015190604051808096819463810da75d60e01b83528760048401612b96565b03915afa801561097957612c7795612c71935f92612c7c575b50612c65919260408a015191611b34565b90818082109118021890565b9061339e565b915190565b612c659250612ca29060203d602011612ca8575b612c9a818361067e565b810190612b87565b91612c54565b503d612c90565b612cc3929650602080918301019101612ac9565b935f80612bca565b612ce0610c18825f52600460205260405f2090565b9081612ced575050505f90565b612d08610c1860049461120b845f52600560205260405f2090565b5f5460405163bd49c35f60e01b81529491929160209186919082906001600160a01b03165afa9081156109795761076b945f92612d65575b50610c18612d56915f52600360205260405f2090565b9081808210911802189061339e565b612d56919250612d86610c189160203d602011612ca857612c9a818361067e565b929150612d40565b65ffffffffffff90818111612da1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612dd15750505f905f905f90565b5f19918183810111611bb1575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561076b57600181600160801b811015612f12575b612eba612eb0612ea6612e9c612e92612e88612ec697600488600160401b612ec19a1015612f05575b640100000000811015612ef8575b62010000811015612eeb575b610100811015612edf575b6010811015612ed3575b1015612ecb575b60030260011c612e81818b611ee6565b0160011c90565b612e81818a611ee6565b612e818189611ee6565b612e818188611ee6565b612e818187611ee6565b612e818186611ee6565b8093611ee6565b821190565b900390565b60011b612e71565b811c9160021b91612e6a565b60081c91811b91612e60565b60101c9160081b91612e55565b60201c9160101b91612e49565b60401c9160201b91612e3b565b50600160401b9050608082901c612e12565b91905b838210612f345750505090565b909192808316906001818518811c8301809311611bb157855f5265ffffffffffff808460205f20015416908516105f14612f73575050925b9190612f27565b909493508101809111611bb15791612f6c565b908154905f829160058411612ff0575b612fa1935084612f24565b80612fc957505f905b6001600160d01b03821615611f875761076b9160016123719201612121565b612fe3612fd8612fea92611ba3565b835f5260205f200190565b5460301c90565b90612faa565b9192612ffb81612df9565b8103908111611bb157612fa193855f5265ffffffffffff808360205f20015416908516105f1461302c575091612f96565b92915061303890611bc3565b90612f96565b6040519061304b82610628565b5f6020838281520152565b9061307f6130796130a09261306961303e565b5061307261303e565b5084612121565b506122d1565b91600165ffffffffffff845116936020828060d01b03910151169101612121565b905490604051926130b084610628565b835260031b1c602082015290565b6130c6613563565b6130ce613563565b60015f805160206135c283398151915255565b604051906130ee82610648565b5f6040838281528260208201520152565b81601f8201121561035a578051916020916001600160401b038411610643578360051b90604051946131338584018761067e565b8552838086019282010192831161035a578301905b828210613156575050505090565b83809183516131648161042a565b815201910190613148565b9060208282031261035a5781516001600160401b039283821161035a5701908181039260a0841261035a576060604051946131a986610648565b1261035a576040516131ba81610648565b83516131c58161042a565b815260208401516131d58161042a565b602082015260408401516131e88161042a565b60408201528452606083015181811161035a57826132079185016130ff565b6020850152608083015190811161035a5761322292016130ff565b604082015290565b80518210156121365760209160051b010190565b61325a9061324a6130e1565b506020808251830101910161316f565b8051519091906001600160a01b03161580613384575b613372579060208101905f5b825180518210156132f657611458613297836132a49361322a565b516001600160a01b031690565b156132e4576132c66132c26132bd61329784875161322a565b612732565b1590565b6132d25760010161327c565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015613369576114586132978361331d9361322a565b156133585761333b6132c261333661329784875161322a565b6127a0565b61334757600101613302565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580613270575060408201515115613270565b91818302915f198185099383808610950394808603951461341e57848311156134115790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118613591565b50509061076b9250611ee6565b8054600160401b8110156106435761344891600182018155612121565b61347357815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156135395761349d6134a891611ba3565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411613527578793036134ee57506134e792509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506135229161350e6135006106ae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261342b565b6134e7565b604051632520601d60e01b8152600490fd5b509061355e9161354a6135006106ae565b6001600160d01b038516602083015261342b565b5f9190565b60ff5f805160206135e28339815191525460401c161561357f57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220634e3b6b986f1093753acb2fce82d90613d9763273e8cb9fc5d156adf1a11ace64736f6c63430008190033","sourceMap":"3228:4636:92:-: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;:::-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;3228:4636:92;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;3228:4636:92;-1:-1:-1;3228:4636:92;;;;;;;;;;;;;;;;;;;;3202:4:23;;;:::i;:::-;3228:4636:92;-1:-1:-1;3228:4636:92;3610:15:89;3228:4636:92;;;-1:-1:-1;3228:4636:92;;3601:36:89;;3597:98;;3228:4636:92;-1:-1:-1;3228:4636:92;2233:13:89;3228:4636:92;;;2233:34:89;3228:4636:92;-1:-1:-1;3228:4636:92;2233:34:89;:::i;:::-;3709;3705:84;;3799:25;3871:35;3799:25;:56;3871:35;3799:25;;;3228:4636:92;;2233:13:89;3228:4636:92;;;;;;;3799:25:89;819:34:73;837:15;819:34;:::i;:::-;3799:56:89;;:::i;:::-;-1:-1:-1;;3228:4636:92;;;;;;;;;;;;3871:35:89;;;;3228:4636:92;3705:84:89;3228:4636:92;-1:-1:-1;;;3766:12:89;;3228:4636:92;;3766:12:89;3597:98;3228:4636:92;-1:-1:-1;;;3660:24:89;;3228:4636:92;;3660:24:89;3228:4636:92;-1:-1:-1;;;;;3228:4636:92;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;3228:4636:92;;;;;;;;-1:-1:-1;;3228:4636:92;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;1537:38:87;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;1632:54:87;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;3228:4636:92;435:10:93;:19;431:71;;4041:64:92;3228:4636;;;-1:-1:-1;3228:4636:92;4041:13;3228:4636;;;-1:-1:-1;3228:4636:92;4041:64;:::i;:::-;3228:4636;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;431:71:93;3228:4636:92;;-1:-1:-1;;;477:14:93;;3228:4636:92;;477:14:93;3228:4636:92;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;3228:4636:92;;;;;;-1:-1:-1;;3228:4636:92;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;3228:4636:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;3090:79:89;:44;3228:4636:92;;;:::i;:::-;;;;;-1:-1:-1;3228:4636:92;3090:22:89;3228:4636:92;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;;;;;;;3090:44:89;:79;:::i;:::-;3228:4636:92;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;1743:56:87;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;3361:103:30;;;:::i;:::-;3228:4636:92;;-1:-1:-1;;;4285:48:87;;4322:10;3228:4636:92;4285:48:87;;3228:4636:92;;;;;-1:-1:-1;;;;;4295:16:87;3228:4636:92;4285:48:87;;;;;;;-1:-1:-1;4285:48:87;;;3228:4636:92;4284:49:87;;4280:99;;-1:-1:-1;;;;;3228:4636:92;-1:-1:-1;;4322:10:87;297:2:99;3228:4636:92;;267:46:99;4459:27:87;;;;3228:4636:92;;4459:15:87;3228:4636:92;;;;;;;4459:27:87;3228:4636:92;4459:37:87;4455:87;;4654:38;4552:27;4654:38;4552:27;;;3228:4636:92;;4459:15:87;3228:4636:92;;;;;;;4552:27:87;3228:4636:92;4631:6:87;;;;:::i;:::-;3228:4636:92;;;;;;;;;;;;;4654:38:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3228:4636:92;3860:283:30;3426:1;3228:4636:92;4455:87:87;3228:4636:92;;-1:-1:-1;;;4519:12:87;;3228:4636:92;;4519:12:87;4280:99;3228:4636:92;;-1:-1:-1;;;4356:12:87;;3228:4636:92;;4356:12:87;4285:48;;;;3228:4636:92;4285:48:87;3228:4636:92;4285:48:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;3228:4636:92:-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;-1:-1:-1;3228:4636:92;-1:-1:-1;;;;;;;;;;;3228:4636:92;;;4919:24:23;3228:4636:92;-1:-1:-1;3228:4636:92;4919:24:23;3228:4636:92;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;322:32:80;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;5350:25:23;3228:4636:92;;;;;;;:::i;:::-;;-1:-1:-1;3228:4636:92;-1:-1:-1;;;;;;;;;;;3228:4636:92;;3202:4:23;4919:24;3228:4636:92;-1:-1:-1;3228:4636:92;4919:24:23;3228:4636:92;3202:4:23;:::i;:::-;5350:25;:::i;3228:4636:92:-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;3228:4636:92;;6441:34:23;6437:102;;6549:37;3228:4636:92;;;6549:37:23;:::i;6437:102::-;3228:4636:92;;-1:-1:-1;;;6498:30:23;;3228:4636:92;;6498:30:23;3228:4636:92;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;3228:4636:92;;;;;;;;;;1356:26:87;;3228:4636:92;;4468:23:23;4464:108;;-1:-1:-1;4861:4:87;3228:4636:92;-1:-1:-1;;;;;3228:4636:92;;;;;;4861:13:87;;4857:63;;-1:-1:-1;;;;;;3228:4636:92;;;4861:4:87;3228:4636:92;4958:14:87;-1:-1:-1;;4958:14:87;4861:4;-1:-1:-1;;;;;;;;;;;3228:4636:92;;4464:108:23;3228:4636:92;;;;4514:47:23;;;;;;966:10:28;3228:4636:92;4514:47:23;;3228:4636:92;;;;;4514:47:23;3228:4636:92;;;;;;-1:-1:-1;;3228:4636:92;;;;;;-1:-1:-1;3228:4636:92;2233:13:89;3228:4636:92;;;2233:34:89;3228:4636:92;-1:-1:-1;3228:4636:92;2233:34:89;:::i;3228:4636:92:-;;;;;;-1:-1:-1;;3228:4636:92;;;;;3358:53:89;:44;3228:4636:92;;;;;:::i;:::-;;;-1:-1:-1;3228:4636:92;3358:22:89;3228:4636:92;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;;;;;;;3358:44:89;:53;:::i;3228:4636:92:-;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;3228:4636:92;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;3228:4636:92;;;;;;;4301:16:26;3228:4636:92;;4726:16:26;;:34;;;;3228:4636:92;4805:1:26;4790:16;:50;;;;3228:4636:92;4855:13:26;:30;;;;3228:4636:92;4851:91:26;;;-1:-1:-1;;;;;;;;;;;3228:4636:92;;-1:-1:-1;;3228:4636:92;;;;;718:4:80;;4951:18:26;4979:67;;718:4:80;:::i;:::-;5066:101:26;;3228:4636:92;5066:101:26;-1:-1:-1;;;;;;;;;;;3228:4636:92;;-1:-1:-1;;;;3228:4636:92;;;;;-1:-1:-1;3228:4636:92;;5142:14:26;;3228:4636:92;;5142:14:26;3228:4636:92;4979:67:26;-1:-1:-1;;;;;;;;;;;3228:4636:92;;-1:-1:-1;;;;3228:4636:92;-1:-1:-1;;;3228:4636:92;;;718:4:80;:::i;4851:91:26:-;3228:4636:92;;-1:-1:-1;;;4908:23:26;;3228:4636:92;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;3228:4636:92;;;;;;-1:-1:-1;;3228:4636:92;;;;;;3406:36;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;1253:6:87;3228:4636:92;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;:::i;:::-;;;;;1997:60:89;3228:4636:92;;;:::i;:::-;;-1:-1:-1;3228:4636:92;1997:13:89;3228:4636:92;;;-1:-1:-1;3228:4636:92;1997:60:89;:::i;3228:4636:92:-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;1356:26:87;3228:4636:92;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;3355:45;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;810:35:89;3228:4636:92;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;2512:74:89;3228:4636:92;;;:::i;:::-;;-1:-1:-1;3228:4636:92;;;;;-1:-1:-1;3228:4636:92;2512:74:89;:::i;3228:4636:92:-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;3901:31:23;3228:4636:92;;;;;:::i;:::-;;;-1:-1:-1;3228:4636:92;-1:-1:-1;;;;;;;;;;;3228:4636:92;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;;;;;;;3901:31:23;3228:4636:92;;;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;:::i;:::-;;;;;;;;;;449:5:93;-1:-1:-1;;;;;3228:4636:92;435:10:93;:19;431:71;;4852:44:92;:83;3228:4636;;;-1:-1:-1;3228:4636:92;4852:22;3228:4636;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;;;;;;;4852:44;:83;:::i;3228:4636::-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;3448:45;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3228:4636:92;;;;-1:-1:-1;3228:4636:92;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;3228:4636:92;;;;;;;;;;477:31:86;;3228:4636:92;;;;;;;;;;;:::i;:::-;477:31:86;3228:4636:92;;477:31:86;;;;;;:::i;:::-;518:79;;;3228:4636:92;518:79:86;;3228:4636:92;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;;;:::i;:::-;;;3202:4:23;;;:::i;:::-;-1:-1:-1;3228:4636:92;;;3358:22:89;3228:4636:92;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;3358:53:89;;;:::i;:::-;4249:32;;;4245:82;;4596:54;3228:4636:92;4337:158:89;4596:54;3228:4636:92;;-1:-1:-1;3228:4636:92;;;;;-1:-1:-1;3228:4636:92;837:15:73;4413:72:89;837:15:73;4413:63:89;819:34:73;837:15;819:34;:::i;:::-;2776:39:89;:48;:39;;3228:4636:92;;;;;;;;;;2776:48:89;4413:63;:::i;:::-;:72;:::i;:::-;4337:158;;:::i;:::-;4505:34;;:75;:34;:44;:34;;;3228:4636:92;;3358:22:89;3228:4636:92;;;;;;;4505:34:89;3228:4636:92;;;;;;;;;;;;;;;;4505:75:89;-1:-1:-1;;3228:4636:92;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;4596:54:89;;;;3228:4636:92;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;-1:-1:-1;;;;;404:28:80;3228:4636:92;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;1439:41:87;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;-1:-1:-1;3228:4636:92;;;;;2776:48:89;3228:4636:92;-1:-1:-1;3228:4636:92;2776:48:89;:::i;3228:4636:92:-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;-1:-1:-1;3228:4636:92;2009:67:87;3228:4636:92;;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;5767:26:23;3228:4636:92;;;;;;;:::i;:::-;;-1:-1:-1;3228:4636:92;-1:-1:-1;;;;;;;;;;;3228:4636:92;;3202:4:23;4919:24;3228:4636:92;-1:-1:-1;3228:4636:92;4919:24:23;3228:4636:92;3202:4:23;:::i;:::-;5767:26;:::i;3228:4636:92:-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;3228:4636:92;;;5246:21:87;;:13;;-1:-1:-1;;;;;3228:4636:92;5246:13:87;3228:4636:92;;-1:-1:-1;;;;;3228:4636:92;;;5246:21:87;3228:4636:92;;-1:-1:-1;;;5246:23:87;;3228:4636:92;;;;;5246:23:87;;;;;;;-1:-1:-1;5246:23:87;;;3228:4636:92;-1:-1:-1;;;;;;3228:4636:92;;;5232:10:87;:37;5228:87;;5341:4;3228:4636:92;-1:-1:-1;;;;;3228:4636:92;;;;5355:469:87;;3228:4636:92;-1:-1:-1;;3228:4636:92;;;;;;;;;;;;;;;;5839:55:87;;3228:4636:92;;;;5839:55:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3228:4636:92;3860:283:30;5355:469:87;3228:4636:92;;;;5435:94:87;;;;3228:4636:92;5435:94:87;;;;;;;;;;;;3228:4636:92;5435:94:87;;;:::i;:::-;;3228:4636:92;;5435:94:87;;;;;;:::i;:::-;3228:4636:92;5548:9:87;:51;5544:118;;-1:-1:-1;5839:55:87;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;3228:4636:92;;-1:-1:-1;;;5626:21:87;;3228:4636:92;;5626:21:87;5228:87;3228:4636:92;;-1:-1:-1;;;5292:12:87;;3228:4636:92;;5292:12:87;5246:23;;;;;3228:4636:92;5246:23:87;3228:4636:92;5246:23:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3228:4636:92;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;971:45:89;3228:4636:92;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;3228:4636:92;435:10:93;:19;431:71;;5753:78:92;3228:4636;;;-1:-1:-1;3228:4636:92;;;;;-1:-1:-1;3228:4636:92;5753:78;:::i;3228:4636::-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;1150:7:87;3228:4636:92;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;2700:1:87;3228:4636:92;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;4948:596::-;;5195:233;4948:596;3228:4636;5171:295;4948:596;;;3228:4636;;;;5263:151;;;;;;;;;;;3228:4636;;;;;;;;;;;;;;;;;5263:151;;;;;:::i;:::-;5195:233;:::i;:::-;5263:151;3228:4636;;;5171:295;;;;;;:::i;:::-;5477:61;;;4948:596;:::o;5477:61::-;3228:4636;;;;;;;;5263:151;5510:17;;3228:4636;5263:151;5510:17;;;;;:::i;2897:279:89:-;-1:-1:-1;3228:4636:92;;;3090:22:89;3228:4636:92;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;3090:79:89;;2897:279;;3090:79;:::i;3228:4636:92:-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;6420:1442::-;3228:4636;;-1:-1:-1;;;6637:99:92;;-1:-1:-1;;;;;3228:4636:92;;;6637:99;;;3228:4636;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3228:4636:92;;;6656:20;3228:4636;;6637:99;;;;;;;;;;;6420:1442;-1:-1:-1;3228:4636:92;;-1:-1:-1;;;6830:32:92;;;3228:4636;6637:99;3228:4636;;;;6830:32;;;;;;;6790:84;6830:32;6637:99;6830:32;;;;;;;6420:1442;-1:-1:-1;3228:4636:92;;-1:-1:-1;;;6790:84:92;;-1:-1:-1;;;;;3228:4636:92;;;6637:99;6790:84;;3228:4636;;;;;;;;;;;;;-1:-1:-1;3228:4636:92;;;;;;;;;6790:84;;6801:11;;3228:4636;6790:84;;;;;;;6637:99;6790:84;;;6420:1442;6918:50;;;7020:69;6918:50;;;7146:64;6918:50;;;:::i;:::-;7020:69;;;;:::i;:::-;7146:64;;:::i;:::-;3228:4636;;;7238:21;;;:52;;;6420:1442;7238:85;;;;6420:1442;7238:143;;;;6420:1442;7238:190;;;;6420:1442;7221:635;;6420:1442;;;;;;;:::o;7221:635::-;7460:385;3228:4636;;7460:385;3228:4636;;;;:::i;:::-;;;;6830:32;7488:343;;3228:4636;;7488:343;;3228:4636;;7488:343;;3228:4636;7488:343;;;3228:4636;;;7460:385;;;6830:32;7460:385;;;:::i;7238:190::-;3228:4636;;;7385:43;;7238:190;;:143;3228:4636;;;7343:38;;7238:143;;:85;3228:4636;;;7294:29;;7238:85;;:52;3228:4636;;;7263:27;;7238:52;;6790:84;7146:64;6790:84;;;;;;;;6637:99;6790:84;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;6830:32;;;;;;;;;;;;;;:::i;:::-;;;;6637:99;;;;;;;;;;;;;;:::i;:::-;;;;;1869:195:89;;1997:60;1869:195;;-1:-1:-1;3228:4636:92;1997:13:89;3228:4636:92;;;-1:-1:-1;3228:4636:92;1997:60:89;:::i;2340:253::-;;2512:74;2340:253;;-1:-1:-1;3228:4636:92;2512:27:89;3228:4636:92;;;-1:-1:-1;3228:4636:92;2512:74:89;:::i;3228:4636:92:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;3228:4636:92;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;:::o;:::-;;8889:1:97;3228:4636:92;;;;;;;:::o;:::-;;;;;;;;;;:::o;5844:570::-;3228:4636;;-1:-1:-1;;;6138:146:92;;;;;;;3228:4636;;;;;;;;;;;;;;5844:570;6046:290;;6070:228;;6138:146;3228:4636;;;;6138:146;;3228:4636;;6138:146;;;;;;:::i;4118:504::-;3228:4636;;-1:-1:-1;;;4398:94:92;;;;;;;3228:4636;;;;;;;;;;;;;;4118:504;4306:238;;4330:176;;4398:94;3228:4636;;;;4398:94;3228:4636;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2764:920:87:-;;2978:48;2764:920;;;;2978:48;;;;:::i;:::-;3036:36;;;3228:4636:92;;:::i;:::-;;;;3086:20:87;3082:107;;2764:920;3216:11;;;;:193;;;;;2764:920;3216:394;;;;2764:920;3199:455;;;;;;2764:920;:::o;3199:455::-;3635:8;-1:-1:-1;3635:8:87;:::o;3216:394::-;3553:39;;;;;3430:180;3553:39;;;3228:4636:92;;;;;;;;;;3430:180:87;;467:2:99;3228:4636:92;3430:180:87;;;;;:::i;:::-;;3228:4636:92;3444:31:87;-1:-1:-1;;;;;3228:4636:92;3430:180:87;;;;;;;-1:-1:-1;3430:180:87;;;3216:394;3429:181;;3216:394;;;;;;3430:180;;;;3553:39;3430:180;3553:39;3430:180;;;;;;;:::i;:::-;;;;3216:193;-1:-1:-1;3228:4636:92;;;-1:-1:-1;;;;;;3228:4636:92;3248:161:87;3354:37;;;3228:4636:92;3248:161:87;3228:4636:92;;;;;;;;;;3248:161:87;;;;;;;:::i;:::-;;3228:4636:92;3262:29:87;-1:-1:-1;;;;;3228:4636:92;3248:161:87;;;;;;;-1:-1:-1;3248:161:87;;;3216:193;3247:162;;3216:193;;;3248:161;;;;;;;;;;;;;;:::i;:::-;;;;3082:107;3139:39;;;;;;;;;;;;;:::i;:::-;3082:107;;;;;3228:4636:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;3740:389:87;3918:5;3228:4636:92;;;-1:-1:-1;;;3853:71:87;;;-1:-1:-1;;;;;3228:4636:92;;;3853:71:87;;;3228:4636:92;;;;;;;;3740:389:87;;3228:4636:92;3853:71:87;;3228:4636:92;;3853:71:87;3228:4636:92;;;3867:29:87;3228:4636:92;;3853:71:87;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;3228:4636:92;;;3852:181:87;;3740:389;3835:242;;;;;;4094:28;;;:::i;3835:242::-;4058:8;;3918:5;4058:8;:::o;3852:181::-;3228:4636:92;;3945:88:87;;;-1:-1:-1;;;;;3228:4636:92;;3853:71:87;3945:88;;3228:4636:92;467:2:99;3228:4636:92;;;;;;;;-1:-1:-1;3228:4636:92;;;;;;;;3959:31:87;3228:4636:92;3945:88:87;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;3945:88;;;;;;-1:-1:-1;3945:88:87;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;4148:103:23;966:10:28;-1:-1:-1;3228:4636:92;;;;;;;;;810:35:89;;3228:4636:92;;3901:31:23;3228:4636:92;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;3228:4636:92;;;;;;;;;971:45:89;;3228:4636:92;;3901:31:23;3228:4636:92;4148:103:23;-1:-1:-1;3228:4636:92;;;-1:-1:-1;;;;;;;;;;;3228:4636:92;;;;;;;;966:10:28;3228:4636:92;;;;;;;;;3901:31:23;3228:4636:92;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3228:4636:92;;-1:-1:-1;3228:4636:92;;;-1:-1:-1;3228:4636:92;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;;3228:4636:92;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:97;;;;;6360:12;;;3228:4636:92;;;6360:24:97;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;3228:4636:92;;;;;;6578:12:97;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;6644:21:97;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;3228:4636:92;;8310:38:71;;-1:-1:-1;;;;;3228:4636:92;;;;;8310:38:71;:::i;:::-;6753:24:97;;;:::i;6604:::-;3228:4636:92;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;3228:4636:92;;;;;;6360:12:97;3228:4636:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:97;;;525:595:93;-1:-1:-1;525:595:93;;;;3228:4636:92;;716:88:93;;3228:4636:92;716:88:93;;;;;;;;;783:4;716:88;;;3228:4636:92;;;;;;;;;;;:::i;716:88:93:-;698:107;;;;;;;:::i;:::-;3228:4636:92;;857:45:93;;3228:4636:92;;;;;;;;716:88:93;857:45;;3228:4636:92;:::i;:::-;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;857:45:93;716:88;857:45;;;3228:4636:92;;;;:::i;:::-;916:8:93;;912:175;;525:595;:::o;912:175::-;3228:4636:92;;944:22:93;;;940:36;;716:88;990:87;;3228:4636:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:97:-;;;3228:4636:92;;8620:15:97;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;3228:4636:92;9219:31:97;3228:4636:92;9130:48:97;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;3228:4636:92;:::i;:::-;;9176:1:97;3228:4636:92;9232:17:97;3228:4636:92;;;;;;;;9232:17:97;;3228:4636:92;-1:-1:-1;;;;;3228:4636:92;;;;9219:12:97;;:31;:::i;:::-;3228:4636:92;;;;;;;;;9259:7:97;;:::i;:::-;3228:4636:92;;;;9252:15:97;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:97;;-1:-1:-1;8578:11:97;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;3228:4636:92;;;;;;;8939:60:97;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;3228:4636:92;;;;;;8759:49:97;3228:4636:92;;;;8753:55:97;3228:4636:92;;;8753:55:97;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;3228:4636:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:97:-;;3228:4636:92;;7686:17:97;7682:83;;3228:4636:92;7789:27:97;3228:4636:92;7789:27:97;3228:4636:92;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;3228:4636:92;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;3228:4636:92;8075:24:97;:::o;7975:84::-;3228:4636:92;;;8009:16:97;3228:4636:92;;8009:16:97;:::i;:::-;3228:4636:92;;;8001:24:97;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;3228:4636:92;;;;;8029:29:97;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;3228:4636:92;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;3228:4636:92;;3670:20:30;3666:88;;1991:1;3228:4636:92;;3470:384:30:o;3666:88::-;3228:4636:92;;-1:-1:-1;;;3713:30:30;;;;;6196:308:89;;3228:4636:92;-1:-1:-1;3228:4636:92;6327:13:89;3228:4636:92;;;-1:-1:-1;3228:4636:92;11124:30:97;;;;:::i;:::-;11173;;;-1:-1:-1;11173:30:97;;;;11182:17;;-1:-1:-1;;;;;3228:4636:92;;11182:12:97;;:17;:::i;:::-;3228:4636:92;;;6327:13:89;3228:4636:92;;11173:30:97;6385::89;;;11173::97;6381:117:89;;;;6196:308;;:::o;6381:117::-;6431:56;3228:4636:92;-1:-1:-1;3228:4636:92;6327:13:89;3228:4636:92;;;-1:-1:-1;3228:4636:92;819:34:73;837:15;819:34;:::i;6431:56:89:-;6196:308;;:::o;6385:30::-;6395:20;;-1:-1:-1;6385:30:89;;;;11173::97;;;-1:-1:-1;11173:30:97;;7270:387:23;-1:-1:-1;;;;;3228:4636:92;;-1:-1:-1;3228:4636:92;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;3228:4636:92;;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;-1:-1:-1;;3228:4636:92;7509:4:23;3228:4636:92;;;966:10:28;;-1:-1:-1;;;;;3228:4636:92;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7270:387::-;-1:-1:-1;;;;;3228:4636:92;;-1:-1:-1;3228:4636:92;;;;;;;;;1356:26:87;;-1:-1:-1;;;;;;;;;;;2887:71:23;3228:4636:92;;3901:31:23;3228:4636:92;;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;-1:-1:-1;;3228:4636:92;7509:4:23;3228:4636:92;;;966:10:28;;-1:-1:-1;;;;;3228:4636:92;;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;;;;;3228:4636:92;;-1:-1:-1;3228:4636:92;;;;;;;;;810:35:89;;-1:-1:-1;;;;;;;;;;;2887:71:23;3228:4636:92;;3901:31:23;3228:4636:92;7270:387:23;-1:-1:-1;;;;;3228:4636:92;;-1:-1:-1;3228:4636:92;;;;;;;;;971:45:89;;-1:-1:-1;;;;;;;;;;;2887:71:23;3228:4636:92;;3901:31:23;3228:4636:92;7270:387:23;-1:-1:-1;3228:4636:92;;;-1:-1:-1;;;;;;;;;;;3228:4636:92;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;3901:31:23;3228:4636:92;7892:388:23;-1:-1:-1;3228:4636:92;;;-1:-1:-1;;;;;;;;;;;3228:4636:92;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;;;-1:-1:-1;3228:4636:92;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;966:10:28;;-1:-1:-1;;;;;3228:4636:92;;8155:40:23;-1:-1:-1;;8155:40:23;3228:4636:92;8209:11:23;:::o;10580:184:97:-;3228:4636:92;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;3228:4636:92;;10726:7:97;3228:4636:92;;10736:12:97;:17;:12;;:17;:::i;10446:63:71:-;3228:4636:92;;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;;-1:-1:-1;13267:109:97;;;3228:4636:92;;;10446:63:71;;3228:4636:92;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;:::i;5907:716:87:-;6030:34;5907:716;6030:34;;;;:::i;:::-;3228:4636:92;;-1:-1:-1;;;6080:41:87;;-1:-1:-1;;;;;3228:4636:92;;;6080:41:87;;;3228:4636:92;;;;;6080:41:87;3228:4636:92;;;6090:13:87;3228:4636:92;;6080:41:87;;;;;;;-1:-1:-1;6080:41:87;;;5907:716;6079:42;;6075:90;;6266:27;3228:4636:92;2684:111:30;6210:14:87;3228:4636:92;2684:111:30;;;:::i;:::-;3228:4636:92;;;;;;-1:-1:-1;;;;;3228:4636:92;;-1:-1:-1;3228:4636:92;;;-1:-1:-1;3228:4636:92;;6210:14:87;6266:27;:::i;:::-;6080:41;6311:15;;3228:4636:92;;;;-1:-1:-1;;;;;;3228:4636:92;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;6337:143:87;;5907:716;-1:-1:-1;6493:28:87;3228:4636:92;-1:-1:-1;;;;;3228:4636:92;;;;;;;6489:128:87;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;3228:4636:92;;-1:-1:-1;;;6144:10:87;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;3228:4636:92;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;4663:1079:89:-;;;;;3228:4636:92;;:::i;:::-;;;;4903:16:89;4899:92;;4663:1079;5105:42;;5053:95;5105:42;;;;5053:95;;;:::i;:::-;5165:570;:34;;;5218:21;;;;;;5165:570;-1:-1:-1;5158:577:89;4663:1079;:::o;5165:570::-;5273:95;5431:67;5330:37;;;;;;5273:95;;;:::i;:::-;3228:4636:92;5470:27:89;5431;:13;3228:4636:92;-1:-1:-1;3228:4636:92;;;;;;;;;5431:27:89;5470;;;;3228:4636:92;;;;;;;;;;;5431:67:89;;;;;;;:::i;:::-;;;;;;;;;5273:409;5431:67;5397:216;5431:67;-1:-1:-1;5431:67:89;;;5165:570;5562:28;5524:67;5562:28;;3228:4636:92;5562:28:89;;;5524:67;;:::i;:::-;5397:216;3463:5:68;;;;3066;;3228:4636:92;3060:42:68;3371:111;;5397:216:89;5273:409;;:::i;:::-;5700:21;;4663:1079;:::o;5431:67::-;5524;5431;;;;5470:27;5431:67;5470:27;5431:67;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;4899:92;4949:31;;;;;;;;;;;;;:::i;:::-;4899:92;;;;;5748:442;2776:48;:39;;3228:4636:92;;;;;;;;;;2776:48:89;5946:237;:32;;;:237;;;-1:-1:-1;5748:442:89;:::o;5946:237::-;3358:53;:44;2776:27;3358:34;;;3228:4636:92;;3358:22:89;3228:4636:92;;;;;;;3358:53:89;-1:-1:-1;3228:4636:92;;;-1:-1:-1;;;6086:27:89;;3228:4636:92;;;;6086:27:89;;3228:4636:92;;;;;-1:-1:-1;;;;;3228:4636:92;6086:27:89;;;;;;;6009:174;6086:27;-1:-1:-1;6086:27:89;;;5946:237;2233:25;;:34;:25;3228:4636:92;;2233:13:89;3228:4636:92;;;;;;;2233:34:89;3463:5:68;;;;;3066;;3228:4636:92;3060:42:68;6009:174:89;;:::i;6086:27::-;2233:34;6086:27;;;;2233:25;6086:27;;;;;;;;;;;:::i;:::-;;;;;;14296:213:69;3228:4636:92;14374:24:69;;;;14370:103;;3228:4636:92;14296:213:69;:::o;14370:103::-;3228:4636:92;;;;14421:41:69;;;;;;14452:2;14421:41;;;3228:4636:92;;;;;14421:41:69;10695:389:71;3228:4636:92;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;3228:4636:92;;;;;;;;;;10833:17:71;13267:109:97;;10833:17:71;13267:109:97;;;3228:4636:92;11014:1:71;3228:4636:92;;;;;;;11030:37:71;:::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;3228:4636:92;18246:1:68;3228:4636:92;22284:6:68;;;;:::i;:::-;3228:4636:92;;;;;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;;;3228:4636:92;23216:28:68;3228:4636:92;;18080:5181:68;:::o;19887:61::-;18246:1;3228:4636:92;19887:61:68;;19787:87;3228:4636:92;;;;;19787:87:68;;;19687;3228:4636:92;;;;;19687:87:68;;;19585:89;3228:4636:92;;;;;19585:89:68;;;19482:90;3228:4636:92;;;;;19482:90:68;;;19379;3228:4636:92;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;3228:4636:92;-1:-1:-1;3228:4636:92;;;;19274:92:68;;12497:447:97;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:68;;;;;;3228:4636:92;;3731:5:68;;;3228:4636:92;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;3228:4636:92;13267:109:97;;;-1:-1:-1;13267:109:97;;3228:4636:92;;;;;-1:-1:-1;12771:136:97;3228:4636:92;;;12830:10:97;;12771:136;;12687:230;;;;12771:136;3228:4636:92;;;;;;;;;;;12771:136:97;;;6999:207;;3228:4636:92;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;3228:4636:92;;7168:7:97;3228:4636:92;;;7178:12:97;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:97;;;;;;13089:293;;10135:41:71;3228:4636:92;;;;;10135:48:71;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;3228:4636:92;;;;;;;10049:53:71;13267:109:97;;-1:-1:-1;13267:109:97;3228:4636:92;13267:109:97;;;-1:-1:-1;13267:109:97;;3228:4636:92;;;;;9870:48:71;9866:149;3228:4636:92;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;3228:4636:92;;;;;;;:::i;:::-;-1:-1:-1;3228:4636:92;;;;;;;:::o;11486:272:97:-;;3228:4636:92;11452:22:71;11718:31:97;11486:272;3228:4636:92;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;3228:4636:92;;:::i;:::-;;11718:12:97;3228:4636:92;;;;;11731:17:97;3228:4636:92;;;;;11731:17:97;;3228:4636:92;;11718:12:97;;:31;:::i;:::-;3228:4636:92;;;;;;;;;:::i;:::-;;;;;;11731:17:97;11672:79;;3228:4636:92;11486:272:97;:::o;6893:76:26:-;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;3228:4636:92;6893:76:26:o;3228:4636:92:-;;;;;;;:::i;:::-;-1:-1:-1;3228:4636:92;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:92;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;6510:1274:89:-;6658:30;6510:1274;3228:4636:92;;:::i;:::-;;6658:30:89;3228:4636:92;;;6658:30:89;;;;;;:::i;:::-;6716:17;;3228:4636:92;6716:17:89;;3228:4636:92;-1:-1:-1;;;;;3228:4636:92;6716:54:89;;:179;;6510:1274;6699:259;;6973:9;6658:30;6988:33;;;6716:17;7030:3;6988:33;;3228:4636:92;;6984:44:89;;;;;7053:36;;;:50;:36;;:::i;:::-;3228:4636:92;-1:-1:-1;;;;;3228:4636:92;;;7053:50:89;;7049:119;;7186:73;7187:72;7222:36;;:33;;;:36;:::i;:::-;7187:72;:::i;:::-;7186:73;;3228:4636:92;7186:73:89;7182:140;;3228:4636:92;;6973:9:89;;7182:140;3228:4636:92;;-1:-1:-1;;;7286:21:89;;;;;7049:119;3228:4636:92;;-1:-1:-1;;;7130:23:89;;;;;6984:44;-1:-1:-1;7362:42:89;;-1:-1:-1;;7362:42:89;;;;6716:17;7413:3;7362:42;;3228:4636:92;;7358:53:89;;;;;7436:45;;;:59;:45;;:::i;:59::-;;7432:128;;7578:92;7579:91;7624:45;;:42;;;:45;:::i;:::-;7579:91;:::i;7578:92::-;7574:159;;3228:4636:92;;7347:9:89;;7574:159;3228:4636:92;;-1:-1:-1;;;7697:21:89;;;;;7432:128;3228:4636:92;;-1:-1:-1;;;7522:23:89;;;;;7358:53;;;;;;7760:17;6510:1274;:::o;6699:259::-;3228:4636:92;;-1:-1:-1;;;6927:20:89;;;;;6716:179;6791:33;6658:30;6791:33;;;3228:4636:92;6791:45:89;:103;6716:179;6791:103;6840:42;;;;;3228:4636:92;6840:54:89;6716:179;;4996:4226:68;;3228:4636:92;;;;-1:-1:-1;;3228:4636:92;4996:4226:68;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;3228:4636:92;-1:-1:-1;3228:4636:92;7214:31:68;;7259:375;;;8094:1;3228:4636:92;;8075:1:68;3228:4636:92;8074:21:68;3228:4636:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;3228:4636:92;6695:300:68;;7259:375;7700:21;3228:4636:92;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;3228:4636:92;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;3228:4636:92:-;;;-1:-1:-1;;;3228:4636:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;3228:4636:92;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;3228:4636:92;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:97;;;;;;13089:293;;11916:28:71;3228:4636:92;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;3228:4636:92;;;;;;;;;;;;;;;;;12285:19:71;3228:4636:92;;12423:25:71;;:::o;12247:163::-;3228:4636:92;;;12343:52:71;3228:4636:92;12353:41:71;3228:4636:92;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;3228:4636:92;;12353:41:71;;;3228:4636:92;12343:52:71;:::i;:::-;12247:163;;12099:89;3228:4636:92;;-1:-1:-1;;;12143:30:71;;;;;11860:713;3228:4636:92;;12479:52:71;3228:4636:92;12489:41:71;3228:4636:92;;:::i;12489:41:71:-;-1:-1:-1;;;;;3228:4636:92;;12489:41:71;;;3228:4636:92;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;7084:141:26:-;3228:4636:92;-1:-1:-1;;;;;;;;;;;3228:4636:92;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;3228:4636:92;;-1:-1:-1;;;7191:17:26;;;;;1776:194:59;1829:135;;;;;;;","linkReferences":{},"immutableReferences":{"59800":[{"start":2537,"length":32}],"59803":[{"start":4780,"length":32}],"60754":[{"start":2123,"length":32},{"start":4837,"length":32}],"60757":[{"start":1298,"length":32},{"start":10629,"length":32}],"60760":[{"start":1366,"length":32},{"start":7731,"length":32},{"start":7995,"length":32}],"60763":[{"start":1993,"length":32},{"start":7578,"length":32},{"start":8121,"length":32}],"63278":[{"start":3733,"length":32},{"start":6477,"length":32}],"63280":[{"start":3479,"length":32},{"start":6638,"length":32}],"63282":[{"start":4169,"length":32}],"64360":[{"start":1440,"length":32},{"start":4055,"length":32},{"start":5673,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_LIMIT_SET_ROLE()":"7d24bb27","NETWORK_REGISTRY()":"c0cd7c3e","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_NETWORK_SHARES_SET_ROLE()":"e78eb6ae","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VAULT_HINTS()":"45e78fcb","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","networkLimit(bytes32)":"3eb22c0f","networkLimitAt(bytes32,uint48,bytes)":"5d32a1c9","networkLimitHint(address,bytes32,uint48)":"da749d2b","networkLimitHintInternal(bytes32,uint48)":"197aa7ea","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","operatorNetworkShares(bytes32,address)":"42c53e33","operatorNetworkSharesAt(bytes32,address,uint48,bytes)":"1a7a7044","operatorNetworkSharesHint(address,bytes32,address,uint48)":"07f9d5fd","operatorNetworkSharesHintInternal(bytes32,address,uint48)":"987b3ee8","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","setNetworkLimit(bytes32,uint256)":"02145348","setOperatorNetworkShares(bytes32,address,uint256)":"a33bc287","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalOperatorNetworkShares(bytes32)":"c43dc03f","totalOperatorNetworkSharesAt(bytes32,uint48,bytes)":"8b3f10b0","totalOperatorNetworkSharesHint(address,bytes32,uint48)":"b549ef1f","totalOperatorNetworkSharesHintInternal(bytes32,uint48)":"ed4d89e5","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateRoleHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedsMaxNetworkLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoleHolders\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"ZeroAddressRoleHolder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"SetOperatorNetworkShares\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_SHARES_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"networkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"networkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"operatorNetworkShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"operatorNetworkSharesAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"operatorNetworkSharesHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"operatorNetworkSharesHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"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\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"setOperatorNetworkShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"totalOperatorNetworkShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"totalOperatorNetworkSharesAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"totalOperatorNetworkSharesHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"totalOperatorNetworkSharesHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetOperatorNetworkShares(bytes32,address,uint256)\":{\"params\":{\"operator\":\"address of the operator\",\"shares\":\"new operator's shares inside the subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"networkLimit(bytes32)\":{\"params\":{\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"limit of the subnetwork\"}},\"networkLimitAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the subnetwork limit at\"},\"returns\":{\"_0\":\"limit of the subnetwork at the given timestamp\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"operatorNetworkShares(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"shares of the operator for the subnetwork\"}},\"operatorNetworkSharesAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the operator's shares at\"},\"returns\":{\"_0\":\"shares of the operator for the subnetwork at the given timestamp\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"setNetworkLimit(bytes32,uint256)\":{\"details\":\"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"amount\":\"new limit of the subnetwork\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"setOperatorNetworkShares(bytes32,address,uint256)\":{\"details\":\"Only an OPERATOR_NETWORK_SHARES_SET_ROLE holder can call this function.\",\"params\":{\"operator\":\"address of the operator\",\"shares\":\"new shares of the operator for the subnetwork\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"},\"totalOperatorNetworkShares(bytes32)\":{\"params\":{\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"total shares of the operators for the subnetwork\"}},\"totalOperatorNetworkSharesAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the total operators' shares at\"},\"returns\":{\"_0\":\"total shares of the operators for the subnetwork at the given timestamp\"}}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"},\"SetNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's limit is set.\"},\"SetOperatorNetworkShares(bytes32,address,uint256)\":{\"notice\":\"Emitted when an operator's shares inside a subnetwork are set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_LIMIT_SET_ROLE()\":{\"notice\":\"Get a subnetwork limit setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_NETWORK_SHARES_SET_ROLE()\":{\"notice\":\"Get an operator-subnetwork shares setter's role.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"networkLimit(bytes32)\":{\"notice\":\"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"networkLimitAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork).\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"operatorNetworkShares(bytes32,address)\":{\"notice\":\"Get an operator's shares for a subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator).\"},\"operatorNetworkSharesAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get an operator's shares for a subnetwork at a given timestamp using a hint (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator).\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"setNetworkLimit(bytes32,uint256)\":{\"notice\":\"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"setOperatorNetworkShares(bytes32,address,uint256)\":{\"notice\":\"Set an operator's shares for a subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator).\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"totalOperatorNetworkShares(bytes32)\":{\"notice\":\"Get a sum of operators' shares for a subnetwork.\"},\"totalOperatorNetworkSharesAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a sum of operators' shares for a subnetwork at a given timestamp using a hint.\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"NetworkRestakeDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"},{"internalType":"address","name":"vaultHints","type":"address"},{"internalType":"address","name":"optInServiceHints","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":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DuplicateRoleHolder"},{"inputs":[],"type":"error","name":"ExceedsMaxNetworkLimit"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"MissingRoleHolders"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"ZeroAddressRoleHolder"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"shares","type":"uint256","indexed":false}],"type":"event","name":"SetOperatorNetworkShares","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_SHARES_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"networkLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"networkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"operatorNetworkShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"operatorNetworkSharesAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"operatorNetworkSharesHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"operatorNetworkSharesHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setOperatorNetworkShares"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"totalOperatorNetworkShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"totalOperatorNetworkSharesAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"totalOperatorNetworkSharesHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"totalOperatorNetworkSharesHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"networkLimit(bytes32)":{"params":{"subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"limit of the subnetwork"}},"networkLimitAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the subnetwork limit at"},"returns":{"_0":"limit of the subnetwork at the given timestamp"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"operatorNetworkShares(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"shares of the operator for the subnetwork"}},"operatorNetworkSharesAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the operator's shares at"},"returns":{"_0":"shares of the operator for the subnetwork at the given timestamp"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"setNetworkLimit(bytes32,uint256)":{"details":"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.","params":{"amount":"new limit of the subnetwork","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"setOperatorNetworkShares(bytes32,address,uint256)":{"details":"Only an OPERATOR_NETWORK_SHARES_SET_ROLE holder can call this function.","params":{"operator":"address of the operator","shares":"new shares of the operator for the subnetwork","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."},"totalOperatorNetworkShares(bytes32)":{"params":{"subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"total shares of the operators for the subnetwork"}},"totalOperatorNetworkSharesAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the total operators' shares at"},"returns":{"_0":"total shares of the operators for the subnetwork at the given timestamp"}}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_LIMIT_SET_ROLE()":{"notice":"Get a subnetwork limit setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_NETWORK_SHARES_SET_ROLE()":{"notice":"Get an operator-subnetwork shares setter's role."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"networkLimit(bytes32)":{"notice":"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"networkLimitAt(bytes32,uint48,bytes)":{"notice":"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork)."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"operatorNetworkShares(bytes32,address)":{"notice":"Get an operator's shares for a subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator)."},"operatorNetworkSharesAt(bytes32,address,uint48,bytes)":{"notice":"Get an operator's shares for a subnetwork at a given timestamp using a hint (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator)."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"setNetworkLimit(bytes32,uint256)":{"notice":"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"setOperatorNetworkShares(bytes32,address,uint256)":{"notice":"Set an operator's shares for a subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator)."},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"totalOperatorNetworkShares(bytes32)":{"notice":"Get a sum of operators' shares for a subnetwork."},"totalOperatorNetworkSharesAt(bytes32,uint48,bytes)":{"notice":"Get a sum of operators' shares for a subnetwork at a given timestamp using a hint."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"NetworkRestakeDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":92} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"},{"name":"vaultHints","type":"address","internalType":"address"},{"name":"optInServiceHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_SHARES_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operatorNetworkShares","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"operatorNetworkSharesAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"operatorNetworkSharesHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"operatorNetworkSharesHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOperatorNetworkShares","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"totalOperatorNetworkShares","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalOperatorNetworkSharesAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalOperatorNetworkSharesHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"totalOperatorNetworkSharesHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetOperatorNetworkShares","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"shares","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":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DuplicateRoleHolder","inputs":[]},{"type":"error","name":"ExceedsMaxNetworkLimit","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"MissingRoleHolders","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","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":"ZeroAddressRoleHolder","inputs":[]}],"bytecode":{"object":"0x6101c0346101cf57601f61383338819003918201601f19168301916001600160401b0391828411858510176101d35781606092869260409687528339810103126101cf5761004c836101e7565b926100648361005d602084016101e7565b92016101e7565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101be57808083160361017a575b5050505f60a0525f60c0525f60e052610100935f8552610120935f8552610140905f82526101609283526101809384526101a0948552519461363796876101fc88396080518781816105a001528181610fd70152611629015260a051876109e9015260c051876112ac015260e05187818161084b01526112e5015251868181610512015261298501525185818161055601528181611e330152611f3b0152518481816107c901528181611d9a0152611fb9015251838181610e95015261194d015251828181610d9701526119ee015251816110490152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101cf5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a71461030457806302145348146102ff57806307f9d5fd146102fa578063103f2907146102f5578063128e5d82146102f0578063197aa7ea146102eb5780631a7a7044146102e65780631a80e500146102e157806323f752d5146102dc578063248a9ca3146102d757806325dc9708146102d25780632dd31000146102cd5780632f2ff15d146102c857806336568abe146102c35780633dfd3873146102be5780633eb22c0f146102b957806342c53e33146102b4578063439fab91146102af57806345e78fcb146102aa578063557cab44146102a55780635d32a1c9146102a05780636679191e1461029b57806379d89614146102965780637d24bb27146102915780637f5a7c7b1461028c5780638b3f10b01461028757806391d1485414610282578063987b3ee81461027d5780639b656b22146102785780639f86fd8514610273578063a217fddf1461026e578063a33bc28714610269578063b549ef1f14610264578063bb24fe8a1461025f578063c0cd7c3e1461025a578063c43dc03f14610255578063d15b740e14610250578063d547741f1461024b578063da749d2b14610246578063e02f693714610241578063e49561ee1461023c578063e78eb6ae14610237578063ed4d89e514610232578063fbfa77cf1461022d578063fd4d447c14610228578063ff54740f146102235763ffa1ad741461021e575f80fd5b6116dc565b6116bf565b611695565b61166e565b61160e565b6115d4565b6113e9565b6113cd565b6113b3565b611367565b61133d565b611314565b6112d0565b61128d565b611273565b611126565b61110c565b611078565b611034565b610fa6565b610f48565b610f25565b610efd565b610ec4565b610e80565b610e46565b610e23565b610dc6565b610d82565b610c4a565b610bd1565b610ba8565b610aaf565b610a64565b610a18565b6109d4565b6109b7565b61097e565b6107f8565b6107b4565b61076e565b610585565b610541565b6104fd565b6104c8565b61035e565b3461035a57602036600319011261035a5760043563ffffffff60e01b811680910361035a57602090637965db0b60e01b8114908115610349575b506040519015158152f35b6301ffc9a760e01b1490505f61033e565b5f80fd5b3461035a5760408060031936011261035a57600435906024359061038061202e565b825f526002602052805f2054821161041a57825f526003602052816103a6825f206128d7565b1461040a5781610405916103f57e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103e6875f52600360205260405f2090565b6103ef42612d8e565b90612176565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b6001600160a01b0381160361035a57565b6024359065ffffffffffff8216820361035a57565b6064359065ffffffffffff8216820361035a57565b608090600319011261035a5760043561047d8161042a565b906024359060443561048e8161042a565b9060643565ffffffffffff8116810361035a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461035a576104f96104e56104dc36610465565b92919091611736565b6040519182916020835260208301906104a4565b0390f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a5761059e61043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600360205260405f206122f5565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761064357604052565b610614565b606081019081106001600160401b0382111761064357604052565b60a081019081106001600160401b0382111761064357604052565b90601f801991011681019081106001600160401b0382111761064357604052565b604051906106ac82610663565b565b604051906106ac82610628565b6001600160401b03811161064357601f01601f191660200190565b81601f8201121561035a578035906106ed826106bb565b926106fb604051948561067e565b8284526020838301011161035a57815f926020809301838601378301015290565b90608060031983011261035a57600435916024356107398161042a565b9160443565ffffffffffff8116810361035a5791606435906001600160401b03821161035a5761076b916004016106d6565b90565b3461035a5760206107ac6107a76107843661071c565b939190925f526005865260405f209060018060a01b03165f5260205260405f2090565b61242d565b604051908152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356001600160601b038116810361035a5760243590610828612505565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610979575f9161094a575b5015610938576001600160601b03166bffffffffffffffffffffffff193360601b161790806108b2835f52600260205260405f2090565b54146109265761090b817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c926108f0855f52600260205260405f2090565b556108fb8185612534565b6040519081529081906020820190565b0390a261092460015f805160206135c283398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b61096c915060203d602011610972575b610964818361067e565b8101906117e8565b5f61087b565b503d61095a565b6117fc565b3461035a57602036600319011261035a576004355f525f805160206135a28339815191526020526020600160405f200154604051908152f35b3461035a576104f96104e56109cb36610465565b92919091611904565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a57610924602435600435610a3b8261042a565b805f525f805160206135a2833981519152602052610a5f600160405f2001546120e1565b61280f565b3461035a57604036600319011261035a57602435610a818161042a565b336001600160a01b03821603610a9d5761092490600435612845565b60405163334bd91960e11b8152600490fd5b3461035a57602036600319011261035a57600435610acc8161042a565b610ad4612505565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610b8a57506001546001600160a01b039182169181168214610926576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206135c283398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461035a57602036600319011261035a576004355f52600360205260206107ac60405f206128d7565b3461035a57604036600319011261035a5760206107ac610c18602435610bf68161042a565b6004355f526005845260405f209060018060a01b03165f5260205260405f2090565b6128d7565b9181601f8401121561035a578235916001600160401b03831161035a576020838186019501011161035a57565b3461035a57602036600319011261035a576001600160401b0360043581811161035a57610c7b903690600401610c1d565b5f805160206135e2833981519152549260ff8460401c1615931680159081610d7a575b6001149081610d70575b159081610d67575b50610d55575f805160206135e2833981519152805467ffffffffffffffff19166001179055610ce39183610d3157612950565b610ce957005b5f805160206135e2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206135e2833981519152805460ff60401b1916600160401b179055612950565b60405163f92ee8a960e01b8152600490fd5b9050155f610cb0565b303b159150610ca8565b849150610c9e565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576020604051614e208152f35b606060031982011261035a576004359160243565ffffffffffff8116810361035a5791604435906001600160401b03821161035a5761076b916004016106d6565b3461035a5760206107ac610e3636610de2565b915f526003845260405f2061242d565b3461035a575f36600319011261035a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461035a575f36600319011261035a576001546040516001600160a01b039091168152602090f35b3461035a5760206107ac610f3836610de2565b915f526004845260405f2061242d565b3461035a57604036600319011261035a57602060ff610f9a602435610f6c8161042a565b6004355f525f805160206135a2833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461035a57606036600319011261035a57602435610fc38161042a565b60443565ffffffffffff8116810361035a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106025761102f6105e5926004355f52600560205260405f209060018060a01b03165f5260205260405f2090565b6122f5565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356110958161042a565b6024356001600160401b03811161035a575f916110b783923690600401610c1d565b90816040519283928337810184815203915af46111046110d5611b60565b916110f66040519384921515602084015260408084015260608301906104a4565b03601f19810183528261067e565b805190602001fd5b3461035a575f36600319011261035a5760206040515f8152f35b3461035a57606036600319011261035a576024356004356111468261042a565b6044359161115261208a565b5f8281526005602090815260408083206001600160a01b0385168452909152902061117c906128d7565b838114610926577f739a5a3ec0ff71e2386d0013deac5f44e0935a98def2e2a5ddf9a709518c8294916111ef61123c92855f52600460205260405f20906111e9886111e46111c942612d8e565b936111df610c188c5f52600460205260405f2090565b611bb6565b611bd1565b91612176565b5050611220856103e68361120b885f52600560205260405f2090565b9060018060a01b03165f5260205260405f2090565b50506040519485526001600160a01b0316939081906020820190565b0390a3005b606090600319011261035a576004356112598161042a565b906024359060443565ffffffffffff8116810361035a5790565b3461035a576104f96104e561128736611241565b91611bde565b3461035a575f36600319011261035a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57602036600319011261035a576004355f52600460205260206107ac60405f206128d7565b3461035a57602036600319011261035a576004355f526002602052602060405f2054604051908152f35b3461035a57604036600319011261035a5761092460243560043561138a8261042a565b805f525f805160206135a28339815191526020526113ae600160405f2001546120e1565b612845565b3461035a576104f96104e56113c736611241565b91611c28565b3461035a5760206107ac6113e03661071c565b92919091611d24565b3461035a5760a036600319011261035a576024356004356114098261042a565b60443591611415610450565b90608435906001600160401b03821161035a57611437600492369084016106d6565b61143f612505565b5f5460209061146490611458906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa928315610979575f936115a3575b506001600160a01b039283163303611591576001546001600160a01b0316838116611506575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361092460015f805160206135c283398151915255565b90936040519461153d8661152f602082019363724ab0f760e11b8552858c898d60248701611eae565b03601f19810188528761067e565b62042e305a1061157f575f6114ed938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f150936114ac565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6115c691935060203d6020116115cd575b6115be818361067e565b810190611872565b915f611486565b503d6115b4565b3461035a575f36600319011261035a5760206040517f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846258152f35b3461035a57604036600319011261035a5761162761043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600460205260405f206122f5565b3461035a575f36600319011261035a575f546040516001600160a01b039091168152602090f35b3461035a57604036600319011261035a5760206107ac6024356116b78161042a565b600435611f04565b3461035a575f36600319011261035a5760206040516203d0908152f35b3461035a575f36600319011261035a57602060405160018152f35b5190811515820361035a57565b519063ffffffff8216820361035a57565b919082604091031261035a5761076b602061172f846116f7565b9301611704565b906117869165ffffffffffff6117959496956060976040519463130f67dd60e31b6020870152602486015260018060a01b031660448501521660648301526064825261178182610663565b612238565b60208082518301019101611715565b9061179d5750565b90915063ffffffff604051911660208201526020815261076b81610628565b5f9081526005602090815260408083206001600160a01b0390941683529290522061076b92919061242d565b9081602091031261035a5761076b906116f7565b6040513d5f823e3d90fd5b81601f8201121561035a5780519061181e826106bb565b9261182c604051948561067e565b8284526020838301011161035a57815f9260208093018386015e8301015290565b9060208282031261035a5781516001600160401b03811161035a5761076b9201611807565b9081602091031261035a575161076b8161042a565b9061076b91602081526118a6825160a0602084015260c08301906104a4565b9060a060806118f46118e16118cd602088015196601f1997888883030160408901526104a4565b6040880151878783030160608801526104a4565b60608701518686830301848701526104a4565b94015192828503019101526104a4565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491935f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa948515610979575f95611b18575b5060405163fbfa77cf60e01b8152602081600481888d165afa908115610979576119ea995f9285928491611af9575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa978815610979575f98611acf575b509081611a3b82611a3381611a419689611c28565b958388611736565b94611bde565b90835115801590611ac5575b8015611abb575b8015611ab1575b8015611aa7575b611a6f5750505050909150565b6110f6955061076b9496611a8161069f565b948552602085015260408401526060830152608082015260405192839160208301611887565b5081511515611a62565b5082511515611a5b565b5080511515611a54565b5086511515611a4d565b611a4192919850611af1903d805f833e611ae9818361067e565b81019061184d565b979091611a1e565b611b12915060203d6020116115cd576115be818361067e565b5f6119ad565b611b2d9195503d805f833e611ae9818361067e565b935f61197e565b9061076b92915f52600360205260405f2061242d565b9061076b92915f52600460205260405f2061242d565b3d15611b8a573d90611b71826106bb565b91611b7f604051938461067e565b82523d5f602084013e565b606090565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211611bb157565b611b8f565b91908203918211611bb157565b9060018201809211611bb157565b91908201809211611bb157565b60405163ed4d89e560e01b6020820152602481019290925265ffffffffffff909216604482015260609291611795916117869161178182606481015b03601f19810184528361067e565b604051630cbd53f560e11b6020820152602481019290925265ffffffffffff90921660448201526060929161179591611786916117818260648101611c1a565b60405190611c7582610628565b60606020838281520152565b9060208282031261035a5781516001600160401b039283821161035a57019060408282031261035a5760405192611cb784610628565b825181811161035a5782611ccc918501611807565b8452602083015190811161035a57611ce49201611807565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261076b929101906104a4565b92611d3490929192828486612bb5565b929093611d3f611c68565b93805180611e92575b50508415938415611dfc575b8415611d6b575b50505050611d665790565b505f90565b602080949550611d96910151604051958694859463530e1d4360e01b865260601c9060048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611ddd575b50155f808080611d5b565b611df6915060203d60201161097257610964818361067e565b5f611dd2565b5f549094506001600160a01b0316602084865192611e2f604051948593849363530e1d4360e01b85528960048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611e73575b501593611d54565b611e8c915060203d60201161097257610964818361067e565b5f611e6b565b611ea6929550602080918301019101611c81565b925f80611d48565b919360a09361076b969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906104a4565b8115611ef0570490565b634e487b7160e01b5f52601260045260245ffd5b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa908115610979575f91612011575b5015918215611f8d575b50509050611f875761076b91612ccb565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa918215610979575f92611ff4575b505015805f80611f76565b61200a9250803d1061097257610964818361067e565b5f80611fe9565b6120289150843d861161097257610964818361067e565b5f611f6c565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b541615610b8a5750565b335f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846259060ff90612080565b5f8181525f805160206135a283398151915260209081526040808320338452909152902060ff90612080565b634e487b7160e01b5f52603260045260245ffd5b8054821015612136575f5260205f2001905f90565b61210d565b90815491600160401b831015610643578261215e9160016106ac95018155612121565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612208575b508461219384612dc0565b509490928454936121a3836128d7565b96816121f3575b50156121d0575050505f198101908111611bb15761215e85916121cc93612121565b9190565b6121cc9492936121ec926001600160d01b039091169190613486565b505061213b565b65ffffffffffff83811691161490505f6121aa565b600160401b811015610643578060016122249201845583612121565b8154905f199060031b1b191690555f612188565b5f9190829160405161226d816110f66020820194639f86fd8560e01b86523060248401526040604484015260648301906104a4565b51915afa5061227a611b60565b8051810160408282031261035a57612294602083016116f7565b916040810151916001600160401b03831161035a576122ba926020809201920101611807565b90156122c35790565b805190811561035a57602001fd5b906040516122de81610628565b915465ffffffffffff8116835260301c6020830152565b91908254905f82916005841161239d575b612311935085612f24565b9081156123915761238a61238161237b61237161234361233e61233388611ba3565b895f5260205f200190565b6122d1565b96600161236a602061235b8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612121565b90549060031b1c90565b93611ba3565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926123a881612df9565b8103908111611bb15761231193865f526123dc6123d18360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff851610156123f2575091612306565b9291506123fe90611bc3565b90612306565b9081602091031261035a5761076b90611704565b90600163ffffffff80931601918211611bb157565b918051156124fb578060208061244893518301019101612404565b916124538382613056565b92612464845165ffffffffffff1690565b9065ffffffffffff80851692168281146124ef578211918261249a575b50506124915761076b9250612f86565b50506020015190565b9091506124a78354611ba3565b63ffffffff8316149182156124c0575b50505f80612481565b6124e79192506124db6124d56123d192612418565b85613056565b5165ffffffffffff1690565b115f806124b7565b50505050506020015190565b5061076b91612f86565b5f805160206135c283398151915260028154146125225760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161254b82612dc0565b9193905083156125a95761256b916001600160d01b031690600101612121565b90549060031b1c5b8261259f575b5050612583575050565b61259b915f52600360205260405f206103ef42612d8e565b5050565b119050815f612579565b50505f612573565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206135a28339815191529060ff16611f87575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206135a28339815191529060ff905b541661272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206135a28339815191529060ff906126c7565b6001600160a01b0381165f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b5584625905f805160206135a28339815191529060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b038716855290915290912060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b8054806128fc57505f5b6001600160d01b03811615611f875760016123719201612121565b5f19908082810111611bb157825f5260205f2001015460301c6128e1565b91909160408184031261035a5780356129328161042a565b9260208201356001600160401b03811161035a5761076b92016106d6565b61295c9181019061291a565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610979575f91612a6f575b5015612a5d576129f16040916129ec612a37946129d16130be565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61323e565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612a4d575b5001516001600160a01b031690565b908116612a415750565b612a4a9061265c565b50565b612a56906125b1565b505f612a28565b6040516362df054560e01b8152600490fd5b612a88915060203d60201161097257610964818361067e565b5f6129b6565b6040519060a082018281106001600160401b038211176106435760405281608060609182815282602082015282604082015282808201520152565b9060208282031261035a5781516001600160401b039283821161035a57019060a08282031261035a57612afa61069f565b92825181811161035a5782612b10918501611807565b8452602083015181811161035a5782612b2a918501611807565b6020850152604083015181811161035a5782612b47918501611807565b6040850152606083015181811161035a5782612b64918501611807565b6060850152608083015190811161035a57612b7f9201611807565b608082015290565b9081602091031261035a575190565b60409065ffffffffffff61076b949316815281602082015201906104a4565b91939293612bc1612a8e565b94805180612caf575b5050612bdb60608601518285611b4a565b9182612bed57505050509051905f9190565b612c01612c3b9183608089015191876117bc565b916020612c1a6114586114585f5460018060a01b031690565b8189015190604051808096819463810da75d60e01b83528760048401612b96565b03915afa801561097957612c7795612c71935f92612c7c575b50612c65919260408a015191611b34565b90818082109118021890565b9061339e565b915190565b612c659250612ca29060203d602011612ca8575b612c9a818361067e565b810190612b87565b91612c54565b503d612c90565b612cc3929650602080918301019101612ac9565b935f80612bca565b612ce0610c18825f52600460205260405f2090565b9081612ced575050505f90565b612d08610c1860049461120b845f52600560205260405f2090565b5f5460405163bd49c35f60e01b81529491929160209186919082906001600160a01b03165afa9081156109795761076b945f92612d65575b50610c18612d56915f52600360205260405f2090565b9081808210911802189061339e565b612d56919250612d86610c189160203d602011612ca857612c9a818361067e565b929150612d40565b65ffffffffffff90818111612da1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612dd15750505f905f905f90565b5f19918183810111611bb1575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561076b57600181600160801b811015612f12575b612eba612eb0612ea6612e9c612e92612e88612ec697600488600160401b612ec19a1015612f05575b640100000000811015612ef8575b62010000811015612eeb575b610100811015612edf575b6010811015612ed3575b1015612ecb575b60030260011c612e81818b611ee6565b0160011c90565b612e81818a611ee6565b612e818189611ee6565b612e818188611ee6565b612e818187611ee6565b612e818186611ee6565b8093611ee6565b821190565b900390565b60011b612e71565b811c9160021b91612e6a565b60081c91811b91612e60565b60101c9160081b91612e55565b60201c9160101b91612e49565b60401c9160201b91612e3b565b50600160401b9050608082901c612e12565b91905b838210612f345750505090565b909192808316906001818518811c8301809311611bb157855f5265ffffffffffff808460205f20015416908516105f14612f73575050925b9190612f27565b909493508101809111611bb15791612f6c565b908154905f829160058411612ff0575b612fa1935084612f24565b80612fc957505f905b6001600160d01b03821615611f875761076b9160016123719201612121565b612fe3612fd8612fea92611ba3565b835f5260205f200190565b5460301c90565b90612faa565b9192612ffb81612df9565b8103908111611bb157612fa193855f5265ffffffffffff808360205f20015416908516105f1461302c575091612f96565b92915061303890611bc3565b90612f96565b6040519061304b82610628565b5f6020838281520152565b9061307f6130796130a09261306961303e565b5061307261303e565b5084612121565b506122d1565b91600165ffffffffffff845116936020828060d01b03910151169101612121565b905490604051926130b084610628565b835260031b1c602082015290565b6130c6613563565b6130ce613563565b60015f805160206135c283398151915255565b604051906130ee82610648565b5f6040838281528260208201520152565b81601f8201121561035a578051916020916001600160401b038411610643578360051b90604051946131338584018761067e565b8552838086019282010192831161035a578301905b828210613156575050505090565b83809183516131648161042a565b815201910190613148565b9060208282031261035a5781516001600160401b039283821161035a5701908181039260a0841261035a576060604051946131a986610648565b1261035a576040516131ba81610648565b83516131c58161042a565b815260208401516131d58161042a565b602082015260408401516131e88161042a565b60408201528452606083015181811161035a57826132079185016130ff565b6020850152608083015190811161035a5761322292016130ff565b604082015290565b80518210156121365760209160051b010190565b61325a9061324a6130e1565b506020808251830101910161316f565b8051519091906001600160a01b03161580613384575b613372579060208101905f5b825180518210156132f657611458613297836132a49361322a565b516001600160a01b031690565b156132e4576132c66132c26132bd61329784875161322a565b612732565b1590565b6132d25760010161327c565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015613369576114586132978361331d9361322a565b156133585761333b6132c261333661329784875161322a565b6127a0565b61334757600101613302565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580613270575060408201515115613270565b91818302915f198185099383808610950394808603951461341e57848311156134115790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118613591565b50509061076b9250611ee6565b8054600160401b8110156106435761344891600182018155612121565b61347357815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156135395761349d6134a891611ba3565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411613527578793036134ee57506134e792509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506135229161350e6135006106ae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261342b565b6134e7565b604051632520601d60e01b8152600490fd5b509061355e9161354a6135006106ae565b6001600160d01b038516602083015261342b565b5f9190565b60ff5f805160206135e28339815191525460401c161561357f57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220634e3b6b986f1093753acb2fce82d90613d9763273e8cb9fc5d156adf1a11ace64736f6c63430008190033","sourceMap":"3228:4636:94:-:0;;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:95;;332:21;;8837:64:26;3228:4636:94;;;;;;;;;7896:76:26;;3228:4636:94;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:82;;;-1:-1:-1;525:17:82;;-1:-1:-1;552:12:82;;-1:-1:-1;2360:34:89;;2404:28;;-1:-1:-1;2404:28:89;;2442:57;;-1:-1:-1;2442:57:89;;2509:61;;-1:-1:-1;2509:61:89;;3714:41:94;;;;3765:24;;;;3799:40;;;;3228:4636;;;;;;;;332:21:95;3228:4636:94;;;;;;;;;;;;;;;525:17:82;3228:4636:94;;;;;552:12:82;3228:4636:94;;;;;2360:34:89;3228:4636:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;3228:4636:94;;;;;;;;;;;;;8087:29:26;;3228:4636:94;;8087:29:26;7981:146;;;;;7896:76;3228:4636:94;;-1:-1:-1;;;7938:23:26;;;;;3228:4636:94;-1:-1:-1;3228:4636:94;;;;;;-1:-1:-1;3228:4636:94;;;;;-1:-1:-1;3228:4636:94;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a71461030457806302145348146102ff57806307f9d5fd146102fa578063103f2907146102f5578063128e5d82146102f0578063197aa7ea146102eb5780631a7a7044146102e65780631a80e500146102e157806323f752d5146102dc578063248a9ca3146102d757806325dc9708146102d25780632dd31000146102cd5780632f2ff15d146102c857806336568abe146102c35780633dfd3873146102be5780633eb22c0f146102b957806342c53e33146102b4578063439fab91146102af57806345e78fcb146102aa578063557cab44146102a55780635d32a1c9146102a05780636679191e1461029b57806379d89614146102965780637d24bb27146102915780637f5a7c7b1461028c5780638b3f10b01461028757806391d1485414610282578063987b3ee81461027d5780639b656b22146102785780639f86fd8514610273578063a217fddf1461026e578063a33bc28714610269578063b549ef1f14610264578063bb24fe8a1461025f578063c0cd7c3e1461025a578063c43dc03f14610255578063d15b740e14610250578063d547741f1461024b578063da749d2b14610246578063e02f693714610241578063e49561ee1461023c578063e78eb6ae14610237578063ed4d89e514610232578063fbfa77cf1461022d578063fd4d447c14610228578063ff54740f146102235763ffa1ad741461021e575f80fd5b6116dc565b6116bf565b611695565b61166e565b61160e565b6115d4565b6113e9565b6113cd565b6113b3565b611367565b61133d565b611314565b6112d0565b61128d565b611273565b611126565b61110c565b611078565b611034565b610fa6565b610f48565b610f25565b610efd565b610ec4565b610e80565b610e46565b610e23565b610dc6565b610d82565b610c4a565b610bd1565b610ba8565b610aaf565b610a64565b610a18565b6109d4565b6109b7565b61097e565b6107f8565b6107b4565b61076e565b610585565b610541565b6104fd565b6104c8565b61035e565b3461035a57602036600319011261035a5760043563ffffffff60e01b811680910361035a57602090637965db0b60e01b8114908115610349575b506040519015158152f35b6301ffc9a760e01b1490505f61033e565b5f80fd5b3461035a5760408060031936011261035a57600435906024359061038061202e565b825f526002602052805f2054821161041a57825f526003602052816103a6825f206128d7565b1461040a5781610405916103f57e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f946103e6875f52600360205260405f2090565b6103ef42612d8e565b90612176565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b6001600160a01b0381160361035a57565b6024359065ffffffffffff8216820361035a57565b6064359065ffffffffffff8216820361035a57565b608090600319011261035a5760043561047d8161042a565b906024359060443561048e8161042a565b9060643565ffffffffffff8116810361035a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461035a576104f96104e56104dc36610465565b92919091611736565b6040519182916020835260208301906104a4565b0390f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a5761059e61043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600360205260405f206122f5565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761064357604052565b610614565b606081019081106001600160401b0382111761064357604052565b60a081019081106001600160401b0382111761064357604052565b90601f801991011681019081106001600160401b0382111761064357604052565b604051906106ac82610663565b565b604051906106ac82610628565b6001600160401b03811161064357601f01601f191660200190565b81601f8201121561035a578035906106ed826106bb565b926106fb604051948561067e565b8284526020838301011161035a57815f926020809301838601378301015290565b90608060031983011261035a57600435916024356107398161042a565b9160443565ffffffffffff8116810361035a5791606435906001600160401b03821161035a5761076b916004016106d6565b90565b3461035a5760206107ac6107a76107843661071c565b939190925f526005865260405f209060018060a01b03165f5260205260405f2090565b61242d565b604051908152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356001600160601b038116810361035a5760243590610828612505565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610979575f9161094a575b5015610938576001600160601b03166bffffffffffffffffffffffff193360601b161790806108b2835f52600260205260405f2090565b54146109265761090b817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c926108f0855f52600260205260405f2090565b556108fb8185612534565b6040519081529081906020820190565b0390a261092460015f805160206135c283398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b61096c915060203d602011610972575b610964818361067e565b8101906117e8565b5f61087b565b503d61095a565b6117fc565b3461035a57602036600319011261035a576004355f525f805160206135a28339815191526020526020600160405f200154604051908152f35b3461035a576104f96104e56109cb36610465565b92919091611904565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a57610924602435600435610a3b8261042a565b805f525f805160206135a2833981519152602052610a5f600160405f2001546120e1565b61280f565b3461035a57604036600319011261035a57602435610a818161042a565b336001600160a01b03821603610a9d5761092490600435612845565b60405163334bd91960e11b8152600490fd5b3461035a57602036600319011261035a57600435610acc8161042a565b610ad4612505565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff1615610b8a57506001546001600160a01b039182169181168214610926576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f805160206135c283398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461035a57602036600319011261035a576004355f52600360205260206107ac60405f206128d7565b3461035a57604036600319011261035a5760206107ac610c18602435610bf68161042a565b6004355f526005845260405f209060018060a01b03165f5260205260405f2090565b6128d7565b9181601f8401121561035a578235916001600160401b03831161035a576020838186019501011161035a57565b3461035a57602036600319011261035a576001600160401b0360043581811161035a57610c7b903690600401610c1d565b5f805160206135e2833981519152549260ff8460401c1615931680159081610d7a575b6001149081610d70575b159081610d67575b50610d55575f805160206135e2833981519152805467ffffffffffffffff19166001179055610ce39183610d3157612950565b610ce957005b5f805160206135e2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f805160206135e2833981519152805460ff60401b1916600160401b179055612950565b60405163f92ee8a960e01b8152600490fd5b9050155f610cb0565b303b159150610ca8565b849150610c9e565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a576020604051614e208152f35b606060031982011261035a576004359160243565ffffffffffff8116810361035a5791604435906001600160401b03821161035a5761076b916004016106d6565b3461035a5760206107ac610e3636610de2565b915f526003845260405f2061242d565b3461035a575f36600319011261035a5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a575f36600319011261035a5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b3461035a575f36600319011261035a576001546040516001600160a01b039091168152602090f35b3461035a5760206107ac610f3836610de2565b915f526004845260405f2061242d565b3461035a57604036600319011261035a57602060ff610f9a602435610f6c8161042a565b6004355f525f805160206135a2833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461035a57606036600319011261035a57602435610fc38161042a565b60443565ffffffffffff8116810361035a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036106025761102f6105e5926004355f52600560205260405f209060018060a01b03165f5260205260405f2090565b6122f5565b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57604036600319011261035a576004356110958161042a565b6024356001600160401b03811161035a575f916110b783923690600401610c1d565b90816040519283928337810184815203915af46111046110d5611b60565b916110f66040519384921515602084015260408084015260608301906104a4565b03601f19810183528261067e565b805190602001fd5b3461035a575f36600319011261035a5760206040515f8152f35b3461035a57606036600319011261035a576024356004356111468261042a565b6044359161115261208a565b5f8281526005602090815260408083206001600160a01b0385168452909152902061117c906128d7565b838114610926577f739a5a3ec0ff71e2386d0013deac5f44e0935a98def2e2a5ddf9a709518c8294916111ef61123c92855f52600460205260405f20906111e9886111e46111c942612d8e565b936111df610c188c5f52600460205260405f2090565b611bb6565b611bd1565b91612176565b5050611220856103e68361120b885f52600560205260405f2090565b9060018060a01b03165f5260205260405f2090565b50506040519485526001600160a01b0316939081906020820190565b0390a3005b606090600319011261035a576004356112598161042a565b906024359060443565ffffffffffff8116810361035a5790565b3461035a576104f96104e561128736611241565b91611bde565b3461035a575f36600319011261035a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461035a575f36600319011261035a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461035a57602036600319011261035a576004355f52600460205260206107ac60405f206128d7565b3461035a57602036600319011261035a576004355f526002602052602060405f2054604051908152f35b3461035a57604036600319011261035a5761092460243560043561138a8261042a565b805f525f805160206135a28339815191526020526113ae600160405f2001546120e1565b612845565b3461035a576104f96104e56113c736611241565b91611c28565b3461035a5760206107ac6113e03661071c565b92919091611d24565b3461035a5760a036600319011261035a576024356004356114098261042a565b60443591611415610450565b90608435906001600160401b03821161035a57611437600492369084016106d6565b61143f612505565b5f5460209061146490611458906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa928315610979575f936115a3575b506001600160a01b039283163303611591576001546001600160a01b0316838116611506575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361092460015f805160206135c283398151915255565b90936040519461153d8661152f602082019363724ab0f760e11b8552858c898d60248701611eae565b03601f19810188528761067e565b62042e305a1061157f575f6114ed938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f150936114ac565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6115c691935060203d6020116115cd575b6115be818361067e565b810190611872565b915f611486565b503d6115b4565b3461035a575f36600319011261035a5760206040517f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846258152f35b3461035a57604036600319011261035a5761162761043b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610602576105e5906004355f52600460205260405f206122f5565b3461035a575f36600319011261035a575f546040516001600160a01b039091168152602090f35b3461035a57604036600319011261035a5760206107ac6024356116b78161042a565b600435611f04565b3461035a575f36600319011261035a5760206040516203d0908152f35b3461035a575f36600319011261035a57602060405160018152f35b5190811515820361035a57565b519063ffffffff8216820361035a57565b919082604091031261035a5761076b602061172f846116f7565b9301611704565b906117869165ffffffffffff6117959496956060976040519463130f67dd60e31b6020870152602486015260018060a01b031660448501521660648301526064825261178182610663565b612238565b60208082518301019101611715565b9061179d5750565b90915063ffffffff604051911660208201526020815261076b81610628565b5f9081526005602090815260408083206001600160a01b0390941683529290522061076b92919061242d565b9081602091031261035a5761076b906116f7565b6040513d5f823e3d90fd5b81601f8201121561035a5780519061181e826106bb565b9261182c604051948561067e565b8284526020838301011161035a57815f9260208093018386015e8301015290565b9060208282031261035a5781516001600160401b03811161035a5761076b9201611807565b9081602091031261035a575161076b8161042a565b9061076b91602081526118a6825160a0602084015260c08301906104a4565b9060a060806118f46118e16118cd602088015196601f1997888883030160408901526104a4565b6040880151878783030160608801526104a4565b60608701518686830301848701526104a4565b94015192828503019101526104a4565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052848116604483015265ffffffffffff8616606483015295606095909491935f856084817f00000000000000000000000000000000000000000000000000000000000000008c165afa948515610979575f95611b18575b5060405163fbfa77cf60e01b8152602081600481888d165afa908115610979576119ea995f9285928491611af9575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff909216602483015290998a9190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa978815610979575f98611acf575b509081611a3b82611a3381611a419689611c28565b958388611736565b94611bde565b90835115801590611ac5575b8015611abb575b8015611ab1575b8015611aa7575b611a6f5750505050909150565b6110f6955061076b9496611a8161069f565b948552602085015260408401526060830152608082015260405192839160208301611887565b5081511515611a62565b5082511515611a5b565b5080511515611a54565b5086511515611a4d565b611a4192919850611af1903d805f833e611ae9818361067e565b81019061184d565b979091611a1e565b611b12915060203d6020116115cd576115be818361067e565b5f6119ad565b611b2d9195503d805f833e611ae9818361067e565b935f61197e565b9061076b92915f52600360205260405f2061242d565b9061076b92915f52600460205260405f2061242d565b3d15611b8a573d90611b71826106bb565b91611b7f604051938461067e565b82523d5f602084013e565b606090565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211611bb157565b611b8f565b91908203918211611bb157565b9060018201809211611bb157565b91908201809211611bb157565b60405163ed4d89e560e01b6020820152602481019290925265ffffffffffff909216604482015260609291611795916117869161178182606481015b03601f19810184528361067e565b604051630cbd53f560e11b6020820152602481019290925265ffffffffffff90921660448201526060929161179591611786916117818260648101611c1a565b60405190611c7582610628565b60606020838281520152565b9060208282031261035a5781516001600160401b039283821161035a57019060408282031261035a5760405192611cb784610628565b825181811161035a5782611ccc918501611807565b8452602083015190811161035a57611ce49201611807565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261076b929101906104a4565b92611d3490929192828486612bb5565b929093611d3f611c68565b93805180611e92575b50508415938415611dfc575b8415611d6b575b50505050611d665790565b505f90565b602080949550611d96910151604051958694859463530e1d4360e01b865260601c9060048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611ddd575b50155f808080611d5b565b611df6915060203d60201161097257610964818361067e565b5f611dd2565b5f549094506001600160a01b0316602084865192611e2f604051948593849363530e1d4360e01b85528960048601611cec565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610979575f91611e73575b501593611d54565b611e8c915060203d60201161097257610964818361067e565b5f611e6b565b611ea6929550602080918301019101611c81565b925f80611d48565b919360a09361076b969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906104a4565b8115611ef0570490565b634e487b7160e01b5f52601260045260245ffd5b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa908115610979575f91612011575b5015918215611f8d575b50509050611f875761076b91612ccb565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa918215610979575f92611ff4575b505015805f80611f76565b61200a9250803d1061097257610964818361067e565b5f80611fe9565b6120289150843d861161097257610964818361067e565b5f611f6c565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b541615610b8a5750565b335f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b55846259060ff90612080565b5f8181525f805160206135a283398151915260209081526040808320338452909152902060ff90612080565b634e487b7160e01b5f52603260045260245ffd5b8054821015612136575f5260205f2001905f90565b61210d565b90815491600160401b831015610643578261215e9160016106ac95018155612121565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612208575b508461219384612dc0565b509490928454936121a3836128d7565b96816121f3575b50156121d0575050505f198101908111611bb15761215e85916121cc93612121565b9190565b6121cc9492936121ec926001600160d01b039091169190613486565b505061213b565b65ffffffffffff83811691161490505f6121aa565b600160401b811015610643578060016122249201845583612121565b8154905f199060031b1b191690555f612188565b5f9190829160405161226d816110f66020820194639f86fd8560e01b86523060248401526040604484015260648301906104a4565b51915afa5061227a611b60565b8051810160408282031261035a57612294602083016116f7565b916040810151916001600160401b03831161035a576122ba926020809201920101611807565b90156122c35790565b805190811561035a57602001fd5b906040516122de81610628565b915465ffffffffffff8116835260301c6020830152565b91908254905f82916005841161239d575b612311935085612f24565b9081156123915761238a61238161237b61237161234361233e61233388611ba3565b895f5260205f200190565b6122d1565b96600161236a602061235b8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612121565b90549060031b1c90565b93611ba3565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926123a881612df9565b8103908111611bb15761231193865f526123dc6123d18360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff851610156123f2575091612306565b9291506123fe90611bc3565b90612306565b9081602091031261035a5761076b90611704565b90600163ffffffff80931601918211611bb157565b918051156124fb578060208061244893518301019101612404565b916124538382613056565b92612464845165ffffffffffff1690565b9065ffffffffffff80851692168281146124ef578211918261249a575b50506124915761076b9250612f86565b50506020015190565b9091506124a78354611ba3565b63ffffffff8316149182156124c0575b50505f80612481565b6124e79192506124db6124d56123d192612418565b85613056565b5165ffffffffffff1690565b115f806124b7565b50505050506020015190565b5061076b91612f86565b5f805160206135c283398151915260028154146125225760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f208161254b82612dc0565b9193905083156125a95761256b916001600160d01b031690600101612121565b90549060031b1c5b8261259f575b5050612583575050565b61259b915f52600360205260405f206103ef42612d8e565b5050565b119050815f612579565b50505f612573565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206135a28339815191529060ff16611f87575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f805160206135a28339815191529060ff905b541661272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f805160206135a28339815191529060ff906126c7565b6001600160a01b0381165f9081527f8f2dae99798887da307a4daa2c2d11f840b0cb9a6a67822660c531e9ad14dd00602052604090207f1312a1cf530e56add9be4fd84db9051dcc7635952f09f735f9a29405b5584625905f805160206135a28339815191529060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b038716855290915290912060ff906126c7565b5f8181525f805160206135a2833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561272b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b8054806128fc57505f5b6001600160d01b03811615611f875760016123719201612121565b5f19908082810111611bb157825f5260205f2001015460301c6128e1565b91909160408184031261035a5780356129328161042a565b9260208201356001600160401b03811161035a5761076b92016106d6565b61295c9181019061291a565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610979575f91612a6f575b5015612a5d576129f16040916129ec612a37946129d16130be565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61323e565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612a4d575b5001516001600160a01b031690565b908116612a415750565b612a4a9061265c565b50565b612a56906125b1565b505f612a28565b6040516362df054560e01b8152600490fd5b612a88915060203d60201161097257610964818361067e565b5f6129b6565b6040519060a082018281106001600160401b038211176106435760405281608060609182815282602082015282604082015282808201520152565b9060208282031261035a5781516001600160401b039283821161035a57019060a08282031261035a57612afa61069f565b92825181811161035a5782612b10918501611807565b8452602083015181811161035a5782612b2a918501611807565b6020850152604083015181811161035a5782612b47918501611807565b6040850152606083015181811161035a5782612b64918501611807565b6060850152608083015190811161035a57612b7f9201611807565b608082015290565b9081602091031261035a575190565b60409065ffffffffffff61076b949316815281602082015201906104a4565b91939293612bc1612a8e565b94805180612caf575b5050612bdb60608601518285611b4a565b9182612bed57505050509051905f9190565b612c01612c3b9183608089015191876117bc565b916020612c1a6114586114585f5460018060a01b031690565b8189015190604051808096819463810da75d60e01b83528760048401612b96565b03915afa801561097957612c7795612c71935f92612c7c575b50612c65919260408a015191611b34565b90818082109118021890565b9061339e565b915190565b612c659250612ca29060203d602011612ca8575b612c9a818361067e565b810190612b87565b91612c54565b503d612c90565b612cc3929650602080918301019101612ac9565b935f80612bca565b612ce0610c18825f52600460205260405f2090565b9081612ced575050505f90565b612d08610c1860049461120b845f52600560205260405f2090565b5f5460405163bd49c35f60e01b81529491929160209186919082906001600160a01b03165afa9081156109795761076b945f92612d65575b50610c18612d56915f52600360205260405f2090565b9081808210911802189061339e565b612d56919250612d86610c189160203d602011612ca857612c9a818361067e565b929150612d40565b65ffffffffffff90818111612da1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480612dd15750505f905f905f90565b5f19918183810111611bb1575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561076b57600181600160801b811015612f12575b612eba612eb0612ea6612e9c612e92612e88612ec697600488600160401b612ec19a1015612f05575b640100000000811015612ef8575b62010000811015612eeb575b610100811015612edf575b6010811015612ed3575b1015612ecb575b60030260011c612e81818b611ee6565b0160011c90565b612e81818a611ee6565b612e818189611ee6565b612e818188611ee6565b612e818187611ee6565b612e818186611ee6565b8093611ee6565b821190565b900390565b60011b612e71565b811c9160021b91612e6a565b60081c91811b91612e60565b60101c9160081b91612e55565b60201c9160101b91612e49565b60401c9160201b91612e3b565b50600160401b9050608082901c612e12565b91905b838210612f345750505090565b909192808316906001818518811c8301809311611bb157855f5265ffffffffffff808460205f20015416908516105f14612f73575050925b9190612f27565b909493508101809111611bb15791612f6c565b908154905f829160058411612ff0575b612fa1935084612f24565b80612fc957505f905b6001600160d01b03821615611f875761076b9160016123719201612121565b612fe3612fd8612fea92611ba3565b835f5260205f200190565b5460301c90565b90612faa565b9192612ffb81612df9565b8103908111611bb157612fa193855f5265ffffffffffff808360205f20015416908516105f1461302c575091612f96565b92915061303890611bc3565b90612f96565b6040519061304b82610628565b5f6020838281520152565b9061307f6130796130a09261306961303e565b5061307261303e565b5084612121565b506122d1565b91600165ffffffffffff845116936020828060d01b03910151169101612121565b905490604051926130b084610628565b835260031b1c602082015290565b6130c6613563565b6130ce613563565b60015f805160206135c283398151915255565b604051906130ee82610648565b5f6040838281528260208201520152565b81601f8201121561035a578051916020916001600160401b038411610643578360051b90604051946131338584018761067e565b8552838086019282010192831161035a578301905b828210613156575050505090565b83809183516131648161042a565b815201910190613148565b9060208282031261035a5781516001600160401b039283821161035a5701908181039260a0841261035a576060604051946131a986610648565b1261035a576040516131ba81610648565b83516131c58161042a565b815260208401516131d58161042a565b602082015260408401516131e88161042a565b60408201528452606083015181811161035a57826132079185016130ff565b6020850152608083015190811161035a5761322292016130ff565b604082015290565b80518210156121365760209160051b010190565b61325a9061324a6130e1565b506020808251830101910161316f565b8051519091906001600160a01b03161580613384575b613372579060208101905f5b825180518210156132f657611458613297836132a49361322a565b516001600160a01b031690565b156132e4576132c66132c26132bd61329784875161322a565b612732565b1590565b6132d25760010161327c565b604051635140fefd60e11b8152600490fd5b6040516323cda06760e01b8152600490fd5b506040925050818101905f5b82518051821015613369576114586132978361331d9361322a565b156133585761333b6132c261333661329784875161322a565b6127a0565b61334757600101613302565b8351635140fefd60e11b8152600490fd5b83516323cda06760e01b8152600490fd5b50509150505190565b6040516303501f5960e11b8152600490fd5b506020820151511580613270575060408201515115613270565b91818302915f198185099383808610950394808603951461341e57848311156134115790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118613591565b50509061076b9250611ee6565b8054600160401b8110156106435761344891600182018155612121565b61347357815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156135395761349d6134a891611ba3565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411613527578793036134ee57506134e792509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506135229161350e6135006106ae565b65ffffffffffff9093168352565b6001600160d01b038616602083015261342b565b6134e7565b604051632520601d60e01b8152600490fd5b509061355e9161354a6135006106ae565b6001600160d01b038516602083015261342b565b5f9190565b60ff5f805160206135e28339815191525460401c161561357f57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220634e3b6b986f1093753acb2fce82d90613d9763273e8cb9fc5d156adf1a11ace64736f6c63430008190033","sourceMap":"3228:4636:94:-: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;:::-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;3228:4636:94;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;3228:4636:94;-1:-1:-1;3228:4636:94;;;;;;;;;;;;;;;;;;;;3202:4:23;;;:::i;:::-;3228:4636:94;-1:-1:-1;3228:4636:94;3610:15:91;3228:4636:94;;;-1:-1:-1;3228:4636:94;;3601:36:91;;3597:98;;3228:4636:94;-1:-1:-1;3228:4636:94;2233:13:91;3228:4636:94;;;2233:34:91;3228:4636:94;-1:-1:-1;3228:4636:94;2233:34:91;:::i;:::-;3709;3705:84;;3799:25;3871:35;3799:25;:56;3871:35;3799:25;;;3228:4636:94;;2233:13:91;3228:4636:94;;;;;;;3799:25:91;819:34:75;837:15;819:34;:::i;:::-;3799:56:91;;:::i;:::-;-1:-1:-1;;3228:4636:94;;;;;;;;;;;;3871:35:91;;;;3228:4636:94;3705:84:91;3228:4636:94;-1:-1:-1;;;3766:12:91;;3228:4636:94;;3766:12:91;3597:98;3228:4636:94;-1:-1:-1;;;3660:24:91;;3228:4636:94;;3660:24:91;3228:4636:94;-1:-1:-1;;;;;3228:4636:94;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;3228:4636:94;;;;;;;;-1:-1:-1;;3228:4636:94;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;1537:38:89;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;1632:54:89;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;3228:4636:94;435:10:95;:19;431:71;;4041:64:94;3228:4636;;;-1:-1:-1;3228:4636:94;4041:13;3228:4636;;;-1:-1:-1;3228:4636:94;4041:64;:::i;:::-;3228:4636;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;431:71:95;3228:4636:94;;-1:-1:-1;;;477:14:95;;3228:4636:94;;477:14:95;3228:4636:94;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;3228:4636:94;;;;;;-1:-1:-1;;3228:4636:94;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;3228:4636:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;3090:79:91;:44;3228:4636:94;;;:::i;:::-;;;;;-1:-1:-1;3228:4636:94;3090:22:91;3228:4636:94;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;;;;;;;3090:44:91;:79;:::i;:::-;3228:4636:94;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;1743:56:89;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;3361:103:30;;;:::i;:::-;3228:4636:94;;-1:-1:-1;;;4285:48:89;;4322:10;3228:4636:94;4285:48:89;;3228:4636:94;;;;;-1:-1:-1;;;;;4295:16:89;3228:4636:94;4285:48:89;;;;;;;-1:-1:-1;4285:48:89;;;3228:4636:94;4284:49:89;;4280:99;;-1:-1:-1;;;;;3228:4636:94;-1:-1:-1;;4322:10:89;297:2:101;3228:4636:94;;267:46:101;4459:27:89;;;;3228:4636:94;;4459:15:89;3228:4636:94;;;;;;;4459:27:89;3228:4636:94;4459:37:89;4455:87;;4654:38;4552:27;4654:38;4552:27;;;3228:4636:94;;4459:15:89;3228:4636:94;;;;;;;4552:27:89;3228:4636:94;4631:6:89;;;;:::i;:::-;3228:4636:94;;;;;;;;;;;;;4654:38:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3228:4636:94;3860:283:30;3426:1;3228:4636:94;4455:87:89;3228:4636:94;;-1:-1:-1;;;4519:12:89;;3228:4636:94;;4519:12:89;4280:99;3228:4636:94;;-1:-1:-1;;;4356:12:89;;3228:4636:94;;4356:12:89;4285:48;;;;3228:4636:94;4285:48:89;3228:4636:94;4285:48:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;3228:4636:94:-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;-1:-1:-1;3228:4636:94;-1:-1:-1;;;;;;;;;;;3228:4636:94;;;4919:24:23;3228:4636:94;-1:-1:-1;3228:4636:94;4919:24:23;3228:4636:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;322:32:82;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;5350:25:23;3228:4636:94;;;;;;;:::i;:::-;;-1:-1:-1;3228:4636:94;-1:-1:-1;;;;;;;;;;;3228:4636:94;;3202:4:23;4919:24;3228:4636:94;-1:-1:-1;3228:4636:94;4919:24:23;3228:4636:94;3202:4:23;:::i;:::-;5350:25;:::i;3228:4636:94:-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;3228:4636:94;;6441:34:23;6437:102;;6549:37;3228:4636:94;;;6549:37:23;:::i;6437:102::-;3228:4636:94;;-1:-1:-1;;;6498:30:23;;3228:4636:94;;6498:30:23;3228:4636:94;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;3228:4636:94;;;;;;;;;;1356:26:89;;3228:4636:94;;4468:23:23;4464:108;;-1:-1:-1;4861:4:89;3228:4636:94;-1:-1:-1;;;;;3228:4636:94;;;;;;4861:13:89;;4857:63;;-1:-1:-1;;;;;;3228:4636:94;;;4861:4:89;3228:4636:94;4958:14:89;-1:-1:-1;;4958:14:89;4861:4;-1:-1:-1;;;;;;;;;;;3228:4636:94;;4464:108:23;3228:4636:94;;;;4514:47:23;;;;;;966:10:28;3228:4636:94;4514:47:23;;3228:4636:94;;;;;4514:47:23;3228:4636:94;;;;;;-1:-1:-1;;3228:4636:94;;;;;;-1:-1:-1;3228:4636:94;2233:13:91;3228:4636:94;;;2233:34:91;3228:4636:94;-1:-1:-1;3228:4636:94;2233:34:91;:::i;3228:4636:94:-;;;;;;-1:-1:-1;;3228:4636:94;;;;;3358:53:91;:44;3228:4636:94;;;;;:::i;:::-;;;-1:-1:-1;3228:4636:94;3358:22:91;3228:4636:94;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;;;;;;;3358:44:91;:53;:::i;3228:4636:94:-;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;3228:4636:94;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;3228:4636:94;;;;;;;4301:16:26;3228:4636:94;;4726:16:26;;:34;;;;3228:4636:94;4805:1:26;4790:16;:50;;;;3228:4636:94;4855:13:26;:30;;;;3228:4636:94;4851:91:26;;;-1:-1:-1;;;;;;;;;;;3228:4636:94;;-1:-1:-1;;3228:4636:94;;;;;718:4:82;;4951:18:26;4979:67;;718:4:82;:::i;:::-;5066:101:26;;3228:4636:94;5066:101:26;-1:-1:-1;;;;;;;;;;;3228:4636:94;;-1:-1:-1;;;;3228:4636:94;;;;;-1:-1:-1;3228:4636:94;;5142:14:26;;3228:4636:94;;5142:14:26;3228:4636:94;4979:67:26;-1:-1:-1;;;;;;;;;;;3228:4636:94;;-1:-1:-1;;;;3228:4636:94;-1:-1:-1;;;3228:4636:94;;;718:4:82;:::i;4851:91:26:-;3228:4636:94;;-1:-1:-1;;;4908:23:26;;3228:4636:94;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;3228:4636:94;;;;;;-1:-1:-1;;3228:4636:94;;;;;;3406:36;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;1253:6:89;3228:4636:94;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;:::i;:::-;;;;;1997:60:91;3228:4636:94;;;:::i;:::-;;-1:-1:-1;3228:4636:94;1997:13:91;3228:4636:94;;;-1:-1:-1;3228:4636:94;1997:60:91;:::i;3228:4636:94:-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;1356:26:89;3228:4636:94;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;3355:45;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;810:35:91;3228:4636:94;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;2512:74:91;3228:4636:94;;;:::i;:::-;;-1:-1:-1;3228:4636:94;;;;;-1:-1:-1;3228:4636:94;2512:74:91;:::i;3228:4636:94:-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;3901:31:23;3228:4636:94;;;;;:::i;:::-;;;-1:-1:-1;3228:4636:94;-1:-1:-1;;;;;;;;;;;3228:4636:94;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;;;;;;;3901:31:23;3228:4636:94;;;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;:::i;:::-;;;;;;;;;;449:5:95;-1:-1:-1;;;;;3228:4636:94;435:10:95;:19;431:71;;4852:44:94;:83;3228:4636;;;-1:-1:-1;3228:4636:94;4852:22;3228:4636;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;;;;;;;4852:44;:83;:::i;3228:4636::-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;3448:45;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3228:4636:94;;;;-1:-1:-1;3228:4636:94;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;3228:4636:94;;;;;;;;;;477:31:88;;3228:4636:94;;;;;;;;;;;:::i;:::-;477:31:88;3228:4636:94;;477:31:88;;;;;;:::i;:::-;518:79;;;3228:4636:94;518:79:88;;3228:4636:94;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;;;:::i;:::-;;;3202:4:23;;;:::i;:::-;-1:-1:-1;3228:4636:94;;;3358:22:91;3228:4636:94;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;3358:53:91;;;:::i;:::-;4249:32;;;4245:82;;4596:54;3228:4636:94;4337:158:91;4596:54;3228:4636:94;;-1:-1:-1;3228:4636:94;;;;;-1:-1:-1;3228:4636:94;837:15:75;4413:72:91;837:15:75;4413:63:91;819:34:75;837:15;819:34;:::i;:::-;2776:39:91;:48;:39;;3228:4636:94;;;;;;;;;;2776:48:91;4413:63;:::i;:::-;:72;:::i;:::-;4337:158;;:::i;:::-;4505:34;;:75;:34;:44;:34;;;3228:4636:94;;3358:22:91;3228:4636:94;;;;;;;4505:34:91;3228:4636:94;;;;;;;;;;;;;;;;4505:75:91;-1:-1:-1;;3228:4636:94;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;4596:54:91;;;;3228:4636:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;-1:-1:-1;;;;;404:28:82;3228:4636:94;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;1439:41:89;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;-1:-1:-1;3228:4636:94;;;;;2776:48:91;3228:4636:94;-1:-1:-1;3228:4636:94;2776:48:91;:::i;3228:4636:94:-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;-1:-1:-1;3228:4636:94;2009:67:89;3228:4636:94;;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;5767:26:23;3228:4636:94;;;;;;;:::i;:::-;;-1:-1:-1;3228:4636:94;-1:-1:-1;;;;;;;;;;;3228:4636:94;;3202:4:23;4919:24;3228:4636:94;-1:-1:-1;3228:4636:94;4919:24:23;3228:4636:94;3202:4:23;:::i;:::-;5767:26;:::i;3228:4636:94:-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;3228:4636:94;;;5246:21:89;;:13;;-1:-1:-1;;;;;3228:4636:94;5246:13:89;3228:4636:94;;-1:-1:-1;;;;;3228:4636:94;;;5246:21:89;3228:4636:94;;-1:-1:-1;;;5246:23:89;;3228:4636:94;;;;;5246:23:89;;;;;;;-1:-1:-1;5246:23:89;;;3228:4636:94;-1:-1:-1;;;;;;3228:4636:94;;;5232:10:89;:37;5228:87;;5341:4;3228:4636:94;-1:-1:-1;;;;;3228:4636:94;;;;5355:469:89;;3228:4636:94;-1:-1:-1;;3228:4636:94;;;;;;;;;;;;;;;;5839:55:89;;3228:4636:94;;;;5839:55:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3228:4636:94;3860:283:30;5355:469:89;3228:4636:94;;;;5435:94:89;;;;3228:4636:94;5435:94:89;;;;;;;;;;;;3228:4636:94;5435:94:89;;;:::i;:::-;;3228:4636:94;;5435:94:89;;;;;;:::i;:::-;3228:4636:94;5548:9:89;:51;5544:118;;-1:-1:-1;5839:55:89;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;3228:4636:94;;-1:-1:-1;;;5626:21:89;;3228:4636:94;;5626:21:89;5228:87;3228:4636:94;;-1:-1:-1;;;5292:12:89;;3228:4636:94;;5292:12:89;5246:23;;;;;3228:4636:94;5246:23:89;3228:4636:94;5246:23:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3228:4636:94;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;971:45:91;3228:4636:94;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;3228:4636:94;435:10:95;:19;431:71;;5753:78:94;3228:4636;;;-1:-1:-1;3228:4636:94;;;;;-1:-1:-1;3228:4636:94;5753:78;:::i;3228:4636::-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;1150:7:89;3228:4636:94;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;2700:1:89;3228:4636:94;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;4948:596::-;;5195:233;4948:596;3228:4636;5171:295;4948:596;;;3228:4636;;;;5263:151;;;;;;;;;;;3228:4636;;;;;;;;;;;;;;;;;5263:151;;;;;:::i;:::-;5195:233;:::i;:::-;5263:151;3228:4636;;;5171:295;;;;;;:::i;:::-;5477:61;;;4948:596;:::o;5477:61::-;3228:4636;;;;;;;;5263:151;5510:17;;3228:4636;5263:151;5510:17;;;;;:::i;2897:279:91:-;-1:-1:-1;3228:4636:94;;;3090:22:91;3228:4636:94;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;3090:79:91;;2897:279;;3090:79;:::i;3228:4636:94:-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;6420:1442::-;3228:4636;;-1:-1:-1;;;6637:99:94;;-1:-1:-1;;;;;3228:4636:94;;;6637:99;;;3228:4636;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3228:4636:94;;;6656:20;3228:4636;;6637:99;;;;;;;;;;;6420:1442;-1:-1:-1;3228:4636:94;;-1:-1:-1;;;6830:32:94;;;3228:4636;6637:99;3228:4636;;;;6830:32;;;;;;;6790:84;6830:32;6637:99;6830:32;;;;;;;6420:1442;-1:-1:-1;3228:4636:94;;-1:-1:-1;;;6790:84:94;;-1:-1:-1;;;;;3228:4636:94;;;6637:99;6790:84;;3228:4636;;;;;;;;;;;;;-1:-1:-1;3228:4636:94;;;;;;;;;6790:84;;6801:11;;3228:4636;6790:84;;;;;;;6637:99;6790:84;;;6420:1442;6918:50;;;7020:69;6918:50;;;7146:64;6918:50;;;:::i;:::-;7020:69;;;;:::i;:::-;7146:64;;:::i;:::-;3228:4636;;;7238:21;;;:52;;;6420:1442;7238:85;;;;6420:1442;7238:143;;;;6420:1442;7238:190;;;;6420:1442;7221:635;;6420:1442;;;;;;;:::o;7221:635::-;7460:385;3228:4636;;7460:385;3228:4636;;;;:::i;:::-;;;;6830:32;7488:343;;3228:4636;;7488:343;;3228:4636;;7488:343;;3228:4636;7488:343;;;3228:4636;;;7460:385;;;6830:32;7460:385;;;:::i;7238:190::-;3228:4636;;;7385:43;;7238:190;;:143;3228:4636;;;7343:38;;7238:143;;:85;3228:4636;;;7294:29;;7238:85;;:52;3228:4636;;;7263:27;;7238:52;;6790:84;7146:64;6790:84;;;;;;;;6637:99;6790:84;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;6830:32;;;;;;;;;;;;;;:::i;:::-;;;;6637:99;;;;;;;;;;;;;;:::i;:::-;;;;;1869:195:91;;1997:60;1869:195;;-1:-1:-1;3228:4636:94;1997:13:91;3228:4636:94;;;-1:-1:-1;3228:4636:94;1997:60:91;:::i;2340:253::-;;2512:74;2340:253;;-1:-1:-1;3228:4636:94;2512:27:91;3228:4636:94;;;-1:-1:-1;3228:4636:94;2512:74:91;:::i;3228:4636:94:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;3228:4636:94;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;:::o;:::-;;8889:1:99;3228:4636:94;;;;;;;:::o;:::-;;;;;;;;;;:::o;5844:570::-;3228:4636;;-1:-1:-1;;;6138:146:94;;;;;;;3228:4636;;;;;;;;;;;;;;5844:570;6046:290;;6070:228;;6138:146;3228:4636;;;;6138:146;;3228:4636;;6138:146;;;;;;:::i;4118:504::-;3228:4636;;-1:-1:-1;;;4398:94:94;;;;;;;3228:4636;;;;;;;;;;;;;;4118:504;4306:238;;4330:176;;4398:94;3228:4636;;;;4398:94;3228:4636;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2764:920:89:-;;2978:48;2764:920;;;;2978:48;;;;:::i;:::-;3036:36;;;3228:4636:94;;:::i;:::-;;;;3086:20:89;3082:107;;2764:920;3216:11;;;;:193;;;;;2764:920;3216:394;;;;2764:920;3199:455;;;;;;2764:920;:::o;3199:455::-;3635:8;-1:-1:-1;3635:8:89;:::o;3216:394::-;3553:39;;;;;3430:180;3553:39;;;3228:4636:94;;;;;;;;;;3430:180:89;;467:2:101;3228:4636:94;3430:180:89;;;;;:::i;:::-;;3228:4636:94;3444:31:89;-1:-1:-1;;;;;3228:4636:94;3430:180:89;;;;;;;-1:-1:-1;3430:180:89;;;3216:394;3429:181;;3216:394;;;;;;3430:180;;;;3553:39;3430:180;3553:39;3430:180;;;;;;;:::i;:::-;;;;3216:193;-1:-1:-1;3228:4636:94;;;-1:-1:-1;;;;;;3228:4636:94;3248:161:89;3354:37;;;3228:4636:94;3248:161:89;3228:4636:94;;;;;;;;;;3248:161:89;;;;;;;:::i;:::-;;3228:4636:94;3262:29:89;-1:-1:-1;;;;;3228:4636:94;3248:161:89;;;;;;;-1:-1:-1;3248:161:89;;;3216:193;3247:162;;3216:193;;;3248:161;;;;;;;;;;;;;;:::i;:::-;;;;3082:107;3139:39;;;;;;;;;;;;;:::i;:::-;3082:107;;;;;3228:4636:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;3740:389:89;3918:5;3228:4636:94;;;-1:-1:-1;;;3853:71:89;;;-1:-1:-1;;;;;3228:4636:94;;;3853:71:89;;;3228:4636:94;;;;;;;;3740:389:89;;3228:4636:94;3853:71:89;;3228:4636:94;;3853:71:89;3228:4636:94;;;3867:29:89;3228:4636:94;;3853:71:89;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;3228:4636:94;;;3852:181:89;;3740:389;3835:242;;;;;;4094:28;;;:::i;3835:242::-;4058:8;;3918:5;4058:8;:::o;3852:181::-;3228:4636:94;;3945:88:89;;;-1:-1:-1;;;;;3228:4636:94;;3853:71:89;3945:88;;3228:4636:94;467:2:101;3228:4636:94;;;;;;;;-1:-1:-1;3228:4636:94;;;;;;;;3959:31:89;3228:4636:94;3945:88:89;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;3945:88;;;;;;-1:-1:-1;3945:88:89;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;4148:103:23;966:10:28;-1:-1:-1;3228:4636:94;;;;;;;;;810:35:91;;3228:4636:94;;3901:31:23;3228:4636:94;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;3228:4636:94;;;;;;;;;971:45:91;;3228:4636:94;;3901:31:23;3228:4636:94;4148:103:23;-1:-1:-1;3228:4636:94;;;-1:-1:-1;;;;;;;;;;;3228:4636:94;;;;;;;;966:10:28;3228:4636:94;;;;;;;;;3901:31:23;3228:4636:94;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3228:4636:94;;-1:-1:-1;3228:4636:94;;;-1:-1:-1;3228:4636:94;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;;3228:4636:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:99;;;;;6360:12;;;3228:4636:94;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;3228:4636:94;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;6644:21:99;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;3228:4636:94;;8310:38:73;;-1:-1:-1;;;;;3228:4636:94;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;3228:4636:94;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;3228:4636:94;;;;;;6360:12:99;3228:4636:94;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:99;;;525:595:95;-1:-1:-1;525:595:95;;;;3228:4636:94;;716:88:95;;3228:4636:94;716:88:95;;;;;;;;;783:4;716:88;;;3228:4636:94;;;;;;;;;;;:::i;716:88:95:-;698:107;;;;;;;:::i;:::-;3228:4636:94;;857:45:95;;3228:4636:94;;;;;;;;716:88:95;857:45;;3228:4636:94;:::i;:::-;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;857:45:95;716:88;857:45;;;3228:4636:94;;;;:::i;:::-;916:8:95;;912:175;;525:595;:::o;912:175::-;3228:4636:94;;944:22:95;;;940:36;;716:88;990:87;;3228:4636:94;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:99:-;;;3228:4636:94;;8620:15:99;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;3228:4636:94;9219:31:99;3228:4636:94;9130:48:99;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;3228:4636:94;:::i;:::-;;9176:1:99;3228:4636:94;9232:17:99;3228:4636:94;;;;;;;;9232:17:99;;3228:4636:94;-1:-1:-1;;;;;3228:4636:94;;;;9219:12:99;;:31;:::i;:::-;3228:4636:94;;;;;;;;;9259:7:99;;:::i;:::-;3228:4636:94;;;;9252:15:99;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:99;;-1:-1:-1;8578:11:99;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;3228:4636:94;;;;;;;8939:60:99;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;3228:4636:94;;;;;;8759:49:99;3228:4636:94;;;;8753:55:99;3228:4636:94;;;8753:55:99;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;3228:4636:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;3228:4636:94;;7686:17:99;7682:83;;3228:4636:94;7789:27:99;3228:4636:94;7789:27:99;3228:4636:94;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;3228:4636:94;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;3228:4636:94;8075:24:99;:::o;7975:84::-;3228:4636:94;;;8009:16:99;3228:4636:94;;8009:16:99;:::i;:::-;3228:4636:94;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;3228:4636:94;;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;3228:4636:94;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;3228:4636:94;;3670:20:30;3666:88;;1991:1;3228:4636:94;;3470:384:30:o;3666:88::-;3228:4636:94;;-1:-1:-1;;;3713:30:30;;;;;6196:308:91;;3228:4636:94;-1:-1:-1;3228:4636:94;6327:13:91;3228:4636:94;;;-1:-1:-1;3228:4636:94;11124:30:99;;;;:::i;:::-;11173;;;-1:-1:-1;11173:30:99;;;;11182:17;;-1:-1:-1;;;;;3228:4636:94;;11182:12:99;;:17;:::i;:::-;3228:4636:94;;;6327:13:91;3228:4636:94;;11173:30:99;6385::91;;;11173::99;6381:117:91;;;;6196:308;;:::o;6381:117::-;6431:56;3228:4636:94;-1:-1:-1;3228:4636:94;6327:13:91;3228:4636:94;;;-1:-1:-1;3228:4636:94;819:34:75;837:15;819:34;:::i;6431:56:91:-;6196:308;;:::o;6385:30::-;6395:20;;-1:-1:-1;6385:30:91;;;;11173::99;;;-1:-1:-1;11173:30:99;;7270:387:23;-1:-1:-1;;;;;3228:4636:94;;-1:-1:-1;3228:4636:94;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;3228:4636:94;;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;-1:-1:-1;;3228:4636:94;7509:4:23;3228:4636:94;;;966:10:28;;-1:-1:-1;;;;;3228:4636:94;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7270:387::-;-1:-1:-1;;;;;3228:4636:94;;-1:-1:-1;3228:4636:94;;;;;;;;;1356:26:89;;-1:-1:-1;;;;;;;;;;;2887:71:23;3228:4636:94;;3901:31:23;3228:4636:94;;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;-1:-1:-1;;3228:4636:94;7509:4:23;3228:4636:94;;;966:10:28;;-1:-1:-1;;;;;3228:4636:94;;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;;;;;3228:4636:94;;-1:-1:-1;3228:4636:94;;;;;;;;;810:35:91;;-1:-1:-1;;;;;;;;;;;2887:71:23;3228:4636:94;;3901:31:23;3228:4636:94;7270:387:23;-1:-1:-1;;;;;3228:4636:94;;-1:-1:-1;3228:4636:94;;;;;;;;;971:45:91;;-1:-1:-1;;;;;;;;;;;2887:71:23;3228:4636:94;;3901:31:23;3228:4636:94;7270:387:23;-1:-1:-1;3228:4636:94;;;-1:-1:-1;;;;;;;;;;;3228:4636:94;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;3901:31:23;3228:4636:94;7892:388:23;-1:-1:-1;3228:4636:94;;;-1:-1:-1;;;;;;;;;;;3228:4636:94;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;;;-1:-1:-1;3228:4636:94;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;966:10:28;;-1:-1:-1;;;;;3228:4636:94;;8155:40:23;-1:-1:-1;;8155:40:23;3228:4636:94;8209:11:23;:::o;10580:184:99:-;3228:4636:94;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;3228:4636:94;;10726:7:99;3228:4636:94;;10736:12:99;:17;:12;;:17;:::i;10446:63:73:-;3228:4636:94;;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;;-1:-1:-1;13267:109:99;;;3228:4636:94;;;10446:63:73;;3228:4636:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;:::i;5907:716:89:-;6030:34;5907:716;6030:34;;;;:::i;:::-;3228:4636:94;;-1:-1:-1;;;6080:41:89;;-1:-1:-1;;;;;3228:4636:94;;;6080:41:89;;;3228:4636:94;;;;;6080:41:89;3228:4636:94;;;6090:13:89;3228:4636:94;;6080:41:89;;;;;;;-1:-1:-1;6080:41:89;;;5907:716;6079:42;;6075:90;;6266:27;3228:4636:94;2684:111:30;6210:14:89;3228:4636:94;2684:111:30;;;:::i;:::-;3228:4636:94;;;;;;-1:-1:-1;;;;;3228:4636:94;;-1:-1:-1;3228:4636:94;;;-1:-1:-1;3228:4636:94;;6210:14:89;6266:27;:::i;:::-;6080:41;6311:15;;3228:4636:94;;;;-1:-1:-1;;;;;;3228:4636:94;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;6337:143:89;;5907:716;-1:-1:-1;6493:28:89;3228:4636:94;-1:-1:-1;;;;;3228:4636:94;;;;;;;6489:128:89;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;3228:4636:94;;-1:-1:-1;;;6144:10:89;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;3228:4636:94;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;4663:1079:91:-;;;;;3228:4636:94;;:::i;:::-;;;;4903:16:91;4899:92;;4663:1079;5105:42;;5053:95;5105:42;;;;5053:95;;;:::i;:::-;5165:570;:34;;;5218:21;;;;;;5165:570;-1:-1:-1;5158:577:91;4663:1079;:::o;5165:570::-;5273:95;5431:67;5330:37;;;;;;5273:95;;;:::i;:::-;3228:4636:94;5470:27:91;5431;:13;3228:4636:94;-1:-1:-1;3228:4636:94;;;;;;;;;5431:27:91;5470;;;;3228:4636:94;;;;;;;;;;;5431:67:91;;;;;;;:::i;:::-;;;;;;;;;5273:409;5431:67;5397:216;5431:67;-1:-1:-1;5431:67:91;;;5165:570;5562:28;5524:67;5562:28;;3228:4636:94;5562:28:91;;;5524:67;;:::i;:::-;5397:216;3463:5:70;;;;3066;;3228:4636:94;3060:42:70;3371:111;;5397:216:91;5273:409;;:::i;:::-;5700:21;;4663:1079;:::o;5431:67::-;5524;5431;;;;5470:27;5431:67;5470:27;5431:67;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;4899:92;4949:31;;;;;;;;;;;;;:::i;:::-;4899:92;;;;;5748:442;2776:48;:39;;3228:4636:94;;;;;;;;;;2776:48:91;5946:237;:32;;;:237;;;-1:-1:-1;5748:442:91;:::o;5946:237::-;3358:53;:44;2776:27;3358:34;;;3228:4636:94;;3358:22:91;3228:4636:94;;;;;;;3358:53:91;-1:-1:-1;3228:4636:94;;;-1:-1:-1;;;6086:27:91;;3228:4636:94;;;;6086:27:91;;3228:4636:94;;;;;-1:-1:-1;;;;;3228:4636:94;6086:27:91;;;;;;;6009:174;6086:27;-1:-1:-1;6086:27:91;;;5946:237;2233:25;;:34;:25;3228:4636:94;;2233:13:91;3228:4636:94;;;;;;;2233:34:91;3463:5:70;;;;;3066;;3228:4636:94;3060:42:70;6009:174:91;;:::i;6086:27::-;2233:34;6086:27;;;;2233:25;6086:27;;;;;;;;;;;:::i;:::-;;;;;;14296:213:71;3228:4636:94;14374:24:71;;;;14370:103;;3228:4636:94;14296:213:71;:::o;14370:103::-;3228:4636:94;;;;14421:41:71;;;;;;14452:2;14421:41;;;3228:4636:94;;;;;14421:41:71;10695:389:73;3228:4636:94;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;3228:4636:94;;;;;;;;;;10833:17:73;13267:109:99;;10833:17:73;13267:109:99;;;3228:4636:94;11014:1:73;3228:4636:94;;;;;;;11030:37:73;:::o;18080:5181:70:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;3228:4636:94;18246:1:70;3228:4636:94;22284:6:70;;;;:::i;:::-;3228:4636:94;;;;;22278:18:70;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;;;3228:4636:94;23216:28:70;3228:4636:94;;18080:5181:70;:::o;19887:61::-;18246:1;3228:4636:94;19887:61:70;;19787:87;3228:4636:94;;;;;19787:87:70;;;19687;3228:4636:94;;;;;19687:87:70;;;19585:89;3228:4636:94;;;;;19585:89:70;;;19482:90;3228:4636:94;;;;;19482:90:70;;;19379;3228:4636:94;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;3228:4636:94;-1:-1:-1;3228:4636:94;;;;19274:92:70;;12497:447:99;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:70;;;;;;3228:4636:94;;3731:5:70;;;3228:4636:94;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;3228:4636:94;13267:109:99;;;-1:-1:-1;13267:109:99;;3228:4636:94;;;;;-1:-1:-1;12771:136:99;3228:4636:94;;;12830:10:99;;12771:136;;12687:230;;;;12771:136;3228:4636:94;;;;;;;;;;;12771:136:99;;;6999:207;;3228:4636:94;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;3228:4636:94;;7168:7:99;3228:4636:94;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:99;;;;;;13089:293;;10135:41:73;3228:4636:94;;;;;10135:48:73;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;3228:4636:94;;;;;;;10049:53:73;13267:109:99;;-1:-1:-1;13267:109:99;3228:4636:94;13267:109:99;;;-1:-1:-1;13267:109:99;;3228:4636:94;;;;;9870:48:73;9866:149;3228:4636:94;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;3228:4636:94;;;;;;;:::i;:::-;-1:-1:-1;3228:4636:94;;;;;;;:::o;11486:272:99:-;;3228:4636:94;11452:22:73;11718:31:99;11486:272;3228:4636:94;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;3228:4636:94;;:::i;:::-;;11718:12:99;3228:4636:94;;;;;11731:17:99;3228:4636:94;;;;;11731:17:99;;3228:4636:94;;11718:12:99;;:31;:::i;:::-;3228:4636:94;;;;;;;;;:::i;:::-;;;;;;11731:17:99;11672:79;;3228:4636:94;11486:272:99;:::o;6893:76:26:-;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;3228:4636:94;6893:76:26:o;3228:4636:94:-;;;;;;;:::i;:::-;-1:-1:-1;3228:4636:94;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3228:4636:94;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;6510:1274:91:-;6658:30;6510:1274;3228:4636:94;;:::i;:::-;;6658:30:91;3228:4636:94;;;6658:30:91;;;;;;:::i;:::-;6716:17;;3228:4636:94;6716:17:91;;3228:4636:94;-1:-1:-1;;;;;3228:4636:94;6716:54:91;;:179;;6510:1274;6699:259;;6973:9;6658:30;6988:33;;;6716:17;7030:3;6988:33;;3228:4636:94;;6984:44:91;;;;;7053:36;;;:50;:36;;:::i;:::-;3228:4636:94;-1:-1:-1;;;;;3228:4636:94;;;7053:50:91;;7049:119;;7186:73;7187:72;7222:36;;:33;;;:36;:::i;:::-;7187:72;:::i;:::-;7186:73;;3228:4636:94;7186:73:91;7182:140;;3228:4636:94;;6973:9:91;;7182:140;3228:4636:94;;-1:-1:-1;;;7286:21:91;;;;;7049:119;3228:4636:94;;-1:-1:-1;;;7130:23:91;;;;;6984:44;-1:-1:-1;7362:42:91;;-1:-1:-1;;7362:42:91;;;;6716:17;7413:3;7362:42;;3228:4636:94;;7358:53:91;;;;;7436:45;;;:59;:45;;:::i;:59::-;;7432:128;;7578:92;7579:91;7624:45;;:42;;;:45;:::i;:::-;7579:91;:::i;7578:92::-;7574:159;;3228:4636:94;;7347:9:91;;7574:159;3228:4636:94;;-1:-1:-1;;;7697:21:91;;;;;7432:128;3228:4636:94;;-1:-1:-1;;;7522:23:91;;;;;7358:53;;;;;;7760:17;6510:1274;:::o;6699:259::-;3228:4636:94;;-1:-1:-1;;;6927:20:91;;;;;6716:179;6791:33;6658:30;6791:33;;;3228:4636:94;6791:45:91;:103;6716:179;6791:103;6840:42;;;;;3228:4636:94;6840:54:91;6716:179;;4996:4226:70;;3228:4636:94;;;;-1:-1:-1;;3228:4636:94;4996:4226:70;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;3228:4636:94;-1:-1:-1;3228:4636:94;7214:31:70;;7259:375;;;8094:1;3228:4636:94;;8075:1:70;3228:4636:94;8074:21:70;3228:4636:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7259:375:70;;;;-1:-1:-1;7259:375:70;;;6695:300;;;;;;3228:4636:94;6695:300:70;;7259:375;7700:21;3228:4636:94;4996:4226:70;:::o;6266:143::-;6330:16;;3066:5;3228:4636:94;940:4:60;3060:42:70;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;3228:4636:94:-;;;-1:-1:-1;;;3228:4636:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;3228:4636:94;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;3228:4636:94;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:99;;;;;;13089:293;;11916:28:73;3228:4636:94;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;3228:4636:94;;;;;;;;;;;;;;;;;12285:19:73;3228:4636:94;;12423:25:73;;:::o;12247:163::-;3228:4636:94;;;12343:52:73;3228:4636:94;12353:41:73;3228:4636:94;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;3228:4636:94;;12353:41:73;;;3228:4636:94;12343:52:73;:::i;:::-;12247:163;;12099:89;3228:4636:94;;-1:-1:-1;;;12143:30:73;;;;;11860:713;3228:4636:94;;12479:52:73;3228:4636:94;12489:41:73;3228:4636:94;;:::i;12489:41:73:-;-1:-1:-1;;;;;3228:4636:94;;12489:41:73;;;3228:4636:94;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o;7084:141:26:-;3228:4636:94;-1:-1:-1;;;;;;;;;;;3228:4636:94;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;3228:4636:94;;-1:-1:-1;;;7191:17:26;;;;;1776:194:60;1829:135;;;;;;;","linkReferences":{},"immutableReferences":{"60120":[{"start":2537,"length":32}],"60123":[{"start":4780,"length":32}],"61074":[{"start":2123,"length":32},{"start":4837,"length":32}],"61077":[{"start":1298,"length":32},{"start":10629,"length":32}],"61080":[{"start":1366,"length":32},{"start":7731,"length":32},{"start":7995,"length":32}],"61083":[{"start":1993,"length":32},{"start":7578,"length":32},{"start":8121,"length":32}],"63598":[{"start":3733,"length":32},{"start":6477,"length":32}],"63600":[{"start":3479,"length":32},{"start":6638,"length":32}],"63602":[{"start":4169,"length":32}],"64680":[{"start":1440,"length":32},{"start":4055,"length":32},{"start":5673,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_LIMIT_SET_ROLE()":"7d24bb27","NETWORK_REGISTRY()":"c0cd7c3e","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_NETWORK_SHARES_SET_ROLE()":"e78eb6ae","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VAULT_HINTS()":"45e78fcb","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","networkLimit(bytes32)":"3eb22c0f","networkLimitAt(bytes32,uint48,bytes)":"5d32a1c9","networkLimitHint(address,bytes32,uint48)":"da749d2b","networkLimitHintInternal(bytes32,uint48)":"197aa7ea","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","operatorNetworkShares(bytes32,address)":"42c53e33","operatorNetworkSharesAt(bytes32,address,uint48,bytes)":"1a7a7044","operatorNetworkSharesHint(address,bytes32,address,uint48)":"07f9d5fd","operatorNetworkSharesHintInternal(bytes32,address,uint48)":"987b3ee8","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","setNetworkLimit(bytes32,uint256)":"02145348","setOperatorNetworkShares(bytes32,address,uint256)":"a33bc287","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalOperatorNetworkShares(bytes32)":"c43dc03f","totalOperatorNetworkSharesAt(bytes32,uint48,bytes)":"8b3f10b0","totalOperatorNetworkSharesHint(address,bytes32,uint48)":"b549ef1f","totalOperatorNetworkSharesHintInternal(bytes32,uint48)":"ed4d89e5","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateRoleHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedsMaxNetworkLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoleHolders\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"ZeroAddressRoleHolder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"SetOperatorNetworkShares\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_SHARES_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"networkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"networkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"operatorNetworkShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"operatorNetworkSharesAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"operatorNetworkSharesHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"operatorNetworkSharesHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"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\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"setOperatorNetworkShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"totalOperatorNetworkShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"totalOperatorNetworkSharesAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"totalOperatorNetworkSharesHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"totalOperatorNetworkSharesHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetOperatorNetworkShares(bytes32,address,uint256)\":{\"params\":{\"operator\":\"address of the operator\",\"shares\":\"new operator's shares inside the subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"networkLimit(bytes32)\":{\"params\":{\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"limit of the subnetwork\"}},\"networkLimitAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the subnetwork limit at\"},\"returns\":{\"_0\":\"limit of the subnetwork at the given timestamp\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"operatorNetworkShares(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"shares of the operator for the subnetwork\"}},\"operatorNetworkSharesAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the operator's shares at\"},\"returns\":{\"_0\":\"shares of the operator for the subnetwork at the given timestamp\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"setNetworkLimit(bytes32,uint256)\":{\"details\":\"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"amount\":\"new limit of the subnetwork\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"setOperatorNetworkShares(bytes32,address,uint256)\":{\"details\":\"Only an OPERATOR_NETWORK_SHARES_SET_ROLE holder can call this function.\",\"params\":{\"operator\":\"address of the operator\",\"shares\":\"new shares of the operator for the subnetwork\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"},\"totalOperatorNetworkShares(bytes32)\":{\"params\":{\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"total shares of the operators for the subnetwork\"}},\"totalOperatorNetworkSharesAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the total operators' shares at\"},\"returns\":{\"_0\":\"total shares of the operators for the subnetwork at the given timestamp\"}}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"},\"SetNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's limit is set.\"},\"SetOperatorNetworkShares(bytes32,address,uint256)\":{\"notice\":\"Emitted when an operator's shares inside a subnetwork are set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_LIMIT_SET_ROLE()\":{\"notice\":\"Get a subnetwork limit setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_NETWORK_SHARES_SET_ROLE()\":{\"notice\":\"Get an operator-subnetwork shares setter's role.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"networkLimit(bytes32)\":{\"notice\":\"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"networkLimitAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork).\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"operatorNetworkShares(bytes32,address)\":{\"notice\":\"Get an operator's shares for a subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator).\"},\"operatorNetworkSharesAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get an operator's shares for a subnetwork at a given timestamp using a hint (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator).\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"setNetworkLimit(bytes32,uint256)\":{\"notice\":\"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"setOperatorNetworkShares(bytes32,address,uint256)\":{\"notice\":\"Set an operator's shares for a subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator).\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"totalOperatorNetworkShares(bytes32)\":{\"notice\":\"Get a sum of operators' shares for a subnetwork.\"},\"totalOperatorNetworkSharesAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a sum of operators' shares for a subnetwork at a given timestamp using a hint.\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"NetworkRestakeDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"},{"internalType":"address","name":"vaultHints","type":"address"},{"internalType":"address","name":"optInServiceHints","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":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DuplicateRoleHolder"},{"inputs":[],"type":"error","name":"ExceedsMaxNetworkLimit"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"MissingRoleHolders"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"ZeroAddressRoleHolder"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"shares","type":"uint256","indexed":false}],"type":"event","name":"SetOperatorNetworkShares","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_SHARES_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"networkLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"networkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"operatorNetworkShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"operatorNetworkSharesAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"operatorNetworkSharesHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"operatorNetworkSharesHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setOperatorNetworkShares"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"totalOperatorNetworkShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"totalOperatorNetworkSharesAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"totalOperatorNetworkSharesHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"totalOperatorNetworkSharesHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"networkLimit(bytes32)":{"params":{"subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"limit of the subnetwork"}},"networkLimitAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the subnetwork limit at"},"returns":{"_0":"limit of the subnetwork at the given timestamp"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"operatorNetworkShares(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"shares of the operator for the subnetwork"}},"operatorNetworkSharesAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the operator's shares at"},"returns":{"_0":"shares of the operator for the subnetwork at the given timestamp"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"setNetworkLimit(bytes32,uint256)":{"details":"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.","params":{"amount":"new limit of the subnetwork","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"setOperatorNetworkShares(bytes32,address,uint256)":{"details":"Only an OPERATOR_NETWORK_SHARES_SET_ROLE holder can call this function.","params":{"operator":"address of the operator","shares":"new shares of the operator for the subnetwork","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."},"totalOperatorNetworkShares(bytes32)":{"params":{"subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"total shares of the operators for the subnetwork"}},"totalOperatorNetworkSharesAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the total operators' shares at"},"returns":{"_0":"total shares of the operators for the subnetwork at the given timestamp"}}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_LIMIT_SET_ROLE()":{"notice":"Get a subnetwork limit setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_NETWORK_SHARES_SET_ROLE()":{"notice":"Get an operator-subnetwork shares setter's role."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"networkLimit(bytes32)":{"notice":"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"networkLimitAt(bytes32,uint48,bytes)":{"notice":"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork)."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"operatorNetworkShares(bytes32,address)":{"notice":"Get an operator's shares for a subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator)."},"operatorNetworkSharesAt(bytes32,address,uint48,bytes)":{"notice":"Get an operator's shares for a subnetwork at a given timestamp using a hint (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator)."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"setNetworkLimit(bytes32,uint256)":{"notice":"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"setOperatorNetworkShares(bytes32,address,uint256)":{"notice":"Set an operator's shares for a subnetwork (what percentage, which is equal to the shares divided by the total operators' shares, of the subnetwork's stake the vault curator is ready to give to the operator)."},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"totalOperatorNetworkShares(bytes32)":{"notice":"Get a sum of operators' shares for a subnetwork."},"totalOperatorNetworkSharesAt(bytes32,uint48,bytes)":{"notice":"Get a sum of operators' shares for a subnetwork at a given timestamp using a hint."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"NetworkRestakeDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":94} \ No newline at end of file diff --git a/out/DelegatorHints.sol/OperatorNetworkSpecificDelegatorHints.json b/out/DelegatorHints.sol/OperatorNetworkSpecificDelegatorHints.json index 992ffbe..1b7f020 100644 --- a/out/DelegatorHints.sol/OperatorNetworkSpecificDelegatorHints.json +++ b/out/DelegatorHints.sol/OperatorNetworkSpecificDelegatorHints.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"},{"name":"vaultHints","type":"address","internalType":"address"},{"name":"optInServiceHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"maxNetworkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"maxNetworkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"maxNetworkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"network","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","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":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidNetwork","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotOperator","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","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":"0x6101e0346101dc57601f612eb338819003918201601f19168301916001600160401b0391828411858510176101e05781606092869260409687528339810103126101dc5761004c836101f4565b926100648361005d602084016101f4565b92016101f4565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101cb578080831603610187575b5050505f60a0525f60c0525f60e052610100935f8552610120935f85526101405f8152610160915f83526101809384526101a09485526101c09586525195612caa9788610209893960805188610e71015260a0518861062b015260c05188610dee015260e0518881816103dd01528181610e2701526127ba0152518781816102d30152611fd201525186818161031701528181611841015261197001525185818161035b015281816117a801526119ee015251848181610c1b0152612833015251838181610baf0152611369015251828181610ac5015261140a01525181610cf20152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101dc5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610264578063103f29071461025f578063128e5d821461025a5780631a80e5001461025557806323f752d514610250578063248a9ca31461024b57806325dc9708146102465780632dd31000146102415780632f2ff15d1461023c57806336568abe146102375780633dfd387314610232578063437224a31461022d578063439fab911461022857806345e78fcb14610223578063557cab441461021e578063570ca735146102195780636679191e146102145780636739afca1461020f57806379d896141461020a5780637f5a7c7b1461020557806383ce03221461020057806391d14854146101fb578063991d1162146101f65780639b656b22146101f15780639f86fd85146101ec578063a217fddf146101e7578063bb24fe8a146101e2578063c0cd7c3e146101dd578063d0f1f901146101d8578063d15b740e146101d3578063d547741f146101ce578063e02f6937146101c9578063e49561ee146101c4578063fbfa77cf146101bf578063fd4d447c146101ba578063ff54740f146101b55763ffa1ad74146101b0575f80fd5b611207565b6111ea565b6111c0565b611199565b610fae565b610f59565b610f0d565b610ee3565b610e56565b610e12565b610dcf565b610db5565b610d21565b610cdd565b610ca8565b610c4a565b610c06565b610bde565b610b9a565b610b72565b610b38565b610b10565b610af4565b610ab0565b610978565b6108f2565b6106f1565b6106a6565b61065a565b610616565b6105bd565b610510565b61038a565b610346565b610302565b6102be565b346102ba5760203660031901126102ba5760043563ffffffff60e01b81168091036102ba57602090637965db0b60e01b81149081156102a9575b506040519015158152f35b6301ffc9a760e01b1490505f61029e565b5f80fd5b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba576004356001600160601b03811681036102ba57602435906103ba611a63565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa90811561050b575f916104dc575b50156104ca576001600160601b03166bffffffffffffffffffffffff193360601b16179080610444835f52600260205260405f2090565b54146104b85761049d817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610482855f52600260205260405f2090565b5561048d8185611a92565b6040519081529081906020820190565b0390a26104b660015f80516020612c3583398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6104fe915060203d602011610504575b6104f68183610854565b81019061122f565b5f61040d565b503d6104ec565b611246565b346102ba5760203660031901126102ba576004355f525f80516020612c158339815191526020526020600160405f200154604051908152f35b6001600160a01b038116036102ba57565b6064359065ffffffffffff821682036102ba57565b6024359065ffffffffffff821682036102ba57565b6044359065ffffffffffff821682036102ba57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102ba5760803660031901126102ba576106126105fe6004356105e081610549565b6044356105ec81610549565b6105f461055a565b9160243590611320565b604051918291602083526020830190610599565b0390f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba576104b660243560043561067d82610549565b805f525f80516020612c158339815191526020526106a1600160405f200154611bd4565b611d85565b346102ba5760403660031901126102ba576024356106c381610549565b336001600160a01b038216036106df576104b690600435611dbb565b60405163334bd91960e11b8152600490fd5b346102ba5760203660031901126102ba5760043561070e81610549565b610716611a63565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff16156107cc57506001546001600160a01b0391821691811682146104b8576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020612c3583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761081957604052565b6107ea565b606081019081106001600160401b0382111761081957604052565b608081019081106001600160401b0382111761081957604052565b90601f801991011681019081106001600160401b0382111761081957604052565b604051906108828261081e565b565b60405190610882826107fe565b6001600160401b03811161081957601f01601f191660200190565b81601f820112156102ba578035906108c382610891565b926108d16040519485610854565b828452602083830101116102ba57815f926020809301838601378301015290565b346102ba5760603660031901126102ba5761090b61056f565b6044356001600160401b0381116102ba576020916109306109439236906004016108ac565b906004355f526003845260405f20611e84565b604051908152f35b9181601f840112156102ba578235916001600160401b0383116102ba57602083818601950101116102ba57565b346102ba5760203660031901126102ba576001600160401b036004358181116102ba576109a990369060040161094b565b5f80516020612c55833981519152549260ff8460401c1615931680159081610aa8575b6001149081610a9e575b159081610a95575b50610a83575f80516020612c55833981519152805467ffffffffffffffff19166001179055610a119183610a5f57611f9d565b610a1757005b5f80516020612c55833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020612c55833981519152805460ff60401b1916600160401b179055611f9d565b60405163f92ee8a960e01b8152600490fd5b9050155f6109de565b303b1591506109d6565b8491506109cc565b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576020604051614e208152f35b346102ba575f3660031901126102ba576005546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b346102ba575f3660031901126102ba576004546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576001546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57602060ff610c9c602435610c6e81610549565b6004355f525f80516020612c15833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346102ba5760603660031901126102ba576106126105fe600435610ccb81610549565b610cd3610584565b906024359061154e565b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57600435610d3e81610549565b6024356001600160401b0381116102ba575f91610d608392369060040161094b565b90816040519283928337810184815203915af4610dad610d7e611647565b91610d9f604051938492151560208401526040808401526060830190610599565b03601f198101835282610854565b805190602001fd5b346102ba575f3660031901126102ba5760206040515f8152f35b346102ba575f3660031901126102ba5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57610e6f61056f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610ed15763ffffffff610ebc6040926004355f526003602052835f2061215c565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102ba5760203660031901126102ba576004355f526002602052602060405f2054604051908152f35b346102ba5760403660031901126102ba576104b6602435600435610f3082610549565b805f525f80516020612c15833981519152602052610f54600160405f200154611bd4565b611dbb565b346102ba5760803660031901126102ba57602435610f7681610549565b610f7e610584565b90606435906001600160401b0382116102ba57602092610fa56109439336906004016108ac565b91600435611732565b346102ba5760a03660031901126102ba57602435600435610fce82610549565b60443591610fda61055a565b90608435906001600160401b0382116102ba57610ffc600492369084016108ac565b611004611a63565b5f546020906110299061101d906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa92831561050b575f93611168575b506001600160a01b039283163303611156576001546001600160a01b03168381166110cb575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a36104b660015f80516020612c3583398151915255565b909360405194611102866110f4602082019363724ab0f760e11b8552858c898d602487016118bc565b03601f198101885287610854565b62042e305a10611144575f6110b2938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093611071565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61118b91935060203d602011611192575b6111838183610854565b8101906112bc565b915f61104b565b503d611179565b346102ba575f3660031901126102ba575f546040516001600160a01b039091168152602090f35b346102ba5760403660031901126102ba5760206109436024356111e281610549565b600435611939565b346102ba575f3660031901126102ba5760206040516203d0908152f35b346102ba575f3660031901126102ba57602060405160018152f35b519081151582036102ba57565b908160209103126102ba5761124390611222565b90565b6040513d5f823e3d90fd5b81601f820112156102ba5780519061126882610891565b926112766040519485610854565b828452602083830101116102ba57815f9260208093018386015e8301015290565b906020828203126102ba5781516001600160401b0381116102ba576112439201611251565b908160209103126102ba575161124381610549565b9061124391602081526112f08251606060208401526080830190610599565b9060606040611310602086015194601f1995868683030184870152610599565b9401519282850301910152610599565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052938416604482015265ffffffffffff8516606482015260609594909391925f856084817f000000000000000000000000000000000000000000000000000000000000000087165afa94851561050b575f956114ea575b5060405163fbfa77cf60e01b81526020816004818888165afa90811561050b57611406945f92859284916114cb575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff90921660248301529094859190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa92831561050b575f936114a5575b50611445929361154e565b9082511580159061149b575b8015611491575b61146157505050565b610d9f939450906112439291611475610875565b92835260208301526040820152604051928391602083016112d1565b5081511515611458565b5080511515611451565b61144593506114c5903d805f833e6114bd8183610854565b810190611297565b9261143a565b6114e4915060203d602011611192576111838183610854565b5f6113c9565b6114ff9195503d805f833e6114bd8183610854565b935f61139a565b9061124392915f52600360205260405f20611e84565b519063ffffffff821682036102ba57565b91908260409103126102ba57611243602061154784611222565b930161151c565b92915f8060609565ffffffffffff6040519460209663d0f1f90160e01b8888015260248701521660448501526044845261158784610839565b60405193846115b487820192639f86fd8560e01b8452306024840152604060448401526064830190610599565b03946115c8601f1996878101835282610854565b51915afa506115e66115d8611647565b8380825183010191016120db565b9015611639578083806115fe9351830101910161152d565b929061160957505050565b6112439293945061162d604051948592830191909163ffffffff6020820193169052565b03908101835282610854565b809150519182156102ba5701fd5b3d15611671573d9061165882610891565b916116666040519384610854565b82523d5f602084013e565b606090565b60405190611683826107fe565b60606020838281520152565b906020828203126102ba5781516001600160401b03928382116102ba5701906040828203126102ba57604051926116c5846107fe565b82518181116102ba57826116da918501611251565b845260208301519081116102ba576116f29201611251565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261124392910190610599565b9261174290929192828486612335565b92909361174d611676565b938051806118a0575b5050841593841561180a575b8415611779575b505050506117745790565b505f90565b6020809495506117a4910151604051958694859463530e1d4360e01b865260601c90600486016116fa565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561050b575f916117eb575b50155f808080611769565b611804915060203d602011610504576104f68183610854565b5f6117e0565b5f549094506001600160a01b031660208486519261183d604051948593849363530e1d4360e01b855289600486016116fa565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561050b575f91611881575b501593611762565b61189a915060203d602011610504576104f68183610854565b5f611879565b6118b492955060208091830101910161168f565b925f80611756565b919360a093611243969565ffffffffffff938552600180871b0316602085015260408401521660608201528160808201520190610599565b634e487b7160e01b5f52601160045260245ffd5b8115611912570490565b634e487b7160e01b5f52601260045260245ffd5b906001820180921161193457565b6118f4565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa90811561050b575f91611a46575b50159182156119c2575b505090506119bc576112439161245a565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa91821561050b575f92611a29575b505015805f806119ab565b611a3f9250803d10610504576104f68183610854565b5f80611a1e565b611a5d9150843d8611610504576104f68183610854565b5f6119a1565b5f80516020612c358339815191526002815414611a805760029055565b604051633ee5aeb560e01b8152600490fd5b6004546001600160a01b0316606082901c03611bc2575f52600360205260405f209065ffffffffffff91824211611ba357824216926001820191825415611b95575b611add81612a75565b509590845493835480155f14611b7657505f975b6001600160d01b0398808a1615611b7057611b0c9088612133565b50505b82611b64575b505015611b4e575050610882935090611b30611b3692611e61565b90612133565b90919082549060031b91821b915f19901b1916179055565b61088295611b5d931691612b37565b505061254f565b16821490505f80611b15565b50611b0f565b5f1990808281011161193457855f5260205f2001015460301c97611af1565b611b9e83612522565b611ad4565b6040516306dfcc6560e41b815260306004820152426024820152604490fd5b6040516386eab41b60e01b8152600490fd5b5f8181525f80516020612c158339815191526020908152604080832033845290915290205460ff16156107cc5750565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020612c158339815191529060ff166119bc575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020612c158339815191529060ff905b5416611d7e575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020612c15833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d1a565b5f8181525f80516020612c15833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d7e575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b908160209103126102ba576112439061151c565b5f1981019190821161193457565b90600163ffffffff8093160191821161193457565b91805115611f5d5780602080611e9f93518301019101611e4d565b91611eaa8382612642565b92611ebb845165ffffffffffff1690565b9065ffffffffffff8085169216828114611f515782119182611ef1575b5050611ee8576112439250612572565b50506020015190565b909150611efe8354611e61565b63ffffffff831614918215611f17575b50505f80611ed8565b611f49919250611f32611f2c611f3e92611e6f565b85612642565b5165ffffffffffff1690565b65ffffffffffff1690565b115f80611f0e565b50505050506020015190565b5061124391612572565b9190916040818403126102ba578035611f7f81610549565b9260208201356001600160401b0381116102ba5761124392016108ac565b611fa991810190611f67565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa90811561050b575f916120bc575b50156120aa5761203e6040916120396120849461201e6126aa565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61276d565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661209a575b5001516001600160a01b031690565b90811661208e5750565b61209790611caf565b50565b6120a390611c04565b505f612075565b6040516362df054560e01b8152600490fd5b6120d5915060203d602011610504576104f68183610854565b5f612003565b9190916040818403126102ba576120f181611222565b9260208201516001600160401b0381116102ba576112439201611251565b9060405161211c816107fe565b915465ffffffffffff8116835260301c6020830152565b8054821015612148575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b91908254905f829160058411612204575b612178935085612a13565b9081156121f8576121f16121e86121e26121d86121aa6121a561219a88611e61565b895f5260205f200190565b61210f565b9660016121d160206121c28b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612133565b90549060031b1c90565b93611e61565b63ffffffff1690565b6001939291565b5f925082915081908190565b919261220f816128e8565b81039081116119345761217893865f52612238611f3e8360205f200165ffffffffffff90541690565b65ffffffffffff8516101561224e57509161216d565b92915061225a90611926565b9061216d565b6040519061226d8261081e565b60606040838281528260208201520152565b906020828203126102ba5781516001600160401b03928382116102ba5701906060828203126102ba57604051926122b58461081e565b82518181116102ba57826122ca918501611251565b845260208301518181116102ba57826122e4918501611251565b602085015260408301519081116102ba576122ff9201611251565b604082015290565b908160209103126102ba575190565b60409065ffffffffffff61124394931681528160208201520190610599565b90939293612341612260565b9480518061243e575b5050600454606083901c6001600160a01b03918216148015929190612423575b505061241b575f546123b092919060209061238f9061101d906001600160a01b031681565b8187015190604051808097819463810da75d60e01b83528860048401612316565b03915afa90811561050b576123e3935f926123e8575b506123d79192604087015191611506565b90818082109118021890565b915190565b6123d7925061240e9060203d602011612414575b6124068183610854565b810190612307565b916123c6565b503d6123fc565b505090515f91565b60055481166001600160a01b03169116141590505f8061236a565b61245292965060208091830101910161227f565b935f8061234a565b6004549091606083901c6001600160a01b039283161480159290612507575b5050611774575f546004919060209061249c9061101d906001600160a01b031681565b60405163bd49c35f60e01b815293849182905afa90811561050b57611243925f926124e2575b506124d5905f52600260205260405f2090565b5490818082109118021890565b6124d59192506125009060203d602011612414576124068183610854565b91906124c2565b60055481166001600160a01b03169116141590505f80612479565b8054600160401b8110156108195761253f91600182018155612133565b8154905f199060031b1b19169055565b90815491600160401b8310156108195782611b3691600161088295018155612133565b908154905f8291600584116125dc575b61258d935084612a13565b806125b557505f905b6001600160d01b038216156119bc576112439160016121d89201612133565b6125cf6125c46125d692611e61565b835f5260205f200190565b5460301c90565b90612596565b91926125e7816128e8565b81039081116119345761258d93855f5265ffffffffffff808360205f20015416908516105f14612618575091612582565b92915061262490611926565b90612582565b60405190612637826107fe565b5f6020838281520152565b9061266b61266561268c9261265561262a565b5061265e61262a565b5084612133565b5061210f565b91600165ffffffffffff845116936020828060d01b03910151169101612133565b9054906040519261269c846107fe565b835260031b1c602082015290565b6126b2612aae565b6126ba612aae565b60015f80516020612c3583398151915255565b604051906126da8261081e565b5f6040838281528260208201520152565b8091039060a082126102ba576060604051926127068461081e565b126102ba5760809060405161271a8161081e565b815161272581610549565b8152602082015161273581610549565b6020820152604082015161274881610549565b60408201528352606081015161275d81610549565b602084015201516122ff81610549565b6127756126cd565b5061278b815191602080809483010191016126eb565b80820180516040516302910f8b60e31b8082526001600160a01b039283166004830152939491939082816024817f000000000000000000000000000000000000000000000000000000000000000089165afa90811561050b575f916128cb575b50156104ca578161282f91604087019561280b875160018060a01b031690565b6040519283526001600160a01b031660048301529092839190829081906024820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa91821561050b575f926128ae575b50501561289c5751600480546001600160a01b039283166001600160a01b03199182161790915591516005805490931691161790555190565b604051631f0853c160e21b8152600490fd5b6128c49250803d10610504576104f68183610854565b5f80612863565b6128e29150833d8511610504576104f68183610854565b5f6127eb565b600181111561124357600181600160801b811015612a01575b6129a961299f61299561298b6129816129776129b597600488600160401b6129b09a10156129f4575b6401000000008110156129e7575b620100008110156129da575b6101008110156129ce575b60108110156129c2575b10156129ba575b60030260011c612970818b611908565b0160011c90565b612970818a611908565b6129708189611908565b6129708188611908565b6129708187611908565b6129708186611908565b8093611908565b821190565b900390565b60011b612960565b811c9160021b91612959565b60081c91811b9161294f565b60101c9160081b91612944565b60201c9160101b91612938565b60401c9160201b9161292a565b50600160401b9050608082901c612901565b91905b838210612a235750505090565b909192808316906001818518811c830180931161193457855f5265ffffffffffff808460205f20015416908516105f14612a62575050925b9190612a16565b9094935081018091116119345791612a5b565b805480612a865750505f905f905f90565b5f19918183810111611934575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020612c558339815191525460401c1615612aca57565b604051631afcd79f60e31b8152600490fd5b8054600160401b81101561081957612af991600182018155612133565b612b2457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015612bea57612b4e612b5991611e61565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411612bd857879303612b9f5750612b9892509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050612bd391612bbf612bb1610884565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612adc565b612b98565b604051632520601d60e01b8152600490fd5b5090612c0f91612bfb612bb1610884565b6001600160d01b0385166020830152612adc565b5f919056fe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122067aa6510448df950d196b22488023407b46113c92aa0c31e1ef31a245fd1a75664736f6c63430008190033","sourceMap":"13600:2428:92:-:0;;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:93;;332:21;;8837:64:26;13600:2428:92;;;;;;;;;7896:76:26;;13600:2428:92;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:80;;;-1:-1:-1;525:17:80;;-1:-1:-1;552:12:80;;-1:-1:-1;2360:34:87;;2404:28;;-1:-1:-1;2404:28:87;;2442:57;;-1:-1:-1;2442:57:87;;2509:61;-1:-1:-1;2509:61:87;;1796:36:90;;-1:-1:-1;1796:36:90;;14125:41:92;;;;14176:24;;;;14210:40;;;;13600:2428;;;;;;;;332:21:93;13600:2428:92;;;;;525:17:80;13600:2428:92;;;;;552:12:80;13600:2428:92;;;;;2360:34:87;13600:2428:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;13600:2428:92;;;;;;;;;;;;;8087:29:26;;13600:2428:92;;8087:29:26;7981:146;;;;;7896:76;13600:2428:92;;-1:-1:-1;;;7938:23:26;;;;;13600:2428:92;-1:-1:-1;13600:2428:92;;;;;;-1:-1:-1;13600:2428:92;;;;;-1:-1:-1;13600:2428:92;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610264578063103f29071461025f578063128e5d821461025a5780631a80e5001461025557806323f752d514610250578063248a9ca31461024b57806325dc9708146102465780632dd31000146102415780632f2ff15d1461023c57806336568abe146102375780633dfd387314610232578063437224a31461022d578063439fab911461022857806345e78fcb14610223578063557cab441461021e578063570ca735146102195780636679191e146102145780636739afca1461020f57806379d896141461020a5780637f5a7c7b1461020557806383ce03221461020057806391d14854146101fb578063991d1162146101f65780639b656b22146101f15780639f86fd85146101ec578063a217fddf146101e7578063bb24fe8a146101e2578063c0cd7c3e146101dd578063d0f1f901146101d8578063d15b740e146101d3578063d547741f146101ce578063e02f6937146101c9578063e49561ee146101c4578063fbfa77cf146101bf578063fd4d447c146101ba578063ff54740f146101b55763ffa1ad74146101b0575f80fd5b611207565b6111ea565b6111c0565b611199565b610fae565b610f59565b610f0d565b610ee3565b610e56565b610e12565b610dcf565b610db5565b610d21565b610cdd565b610ca8565b610c4a565b610c06565b610bde565b610b9a565b610b72565b610b38565b610b10565b610af4565b610ab0565b610978565b6108f2565b6106f1565b6106a6565b61065a565b610616565b6105bd565b610510565b61038a565b610346565b610302565b6102be565b346102ba5760203660031901126102ba5760043563ffffffff60e01b81168091036102ba57602090637965db0b60e01b81149081156102a9575b506040519015158152f35b6301ffc9a760e01b1490505f61029e565b5f80fd5b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba576004356001600160601b03811681036102ba57602435906103ba611a63565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa90811561050b575f916104dc575b50156104ca576001600160601b03166bffffffffffffffffffffffff193360601b16179080610444835f52600260205260405f2090565b54146104b85761049d817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610482855f52600260205260405f2090565b5561048d8185611a92565b6040519081529081906020820190565b0390a26104b660015f80516020612c3583398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6104fe915060203d602011610504575b6104f68183610854565b81019061122f565b5f61040d565b503d6104ec565b611246565b346102ba5760203660031901126102ba576004355f525f80516020612c158339815191526020526020600160405f200154604051908152f35b6001600160a01b038116036102ba57565b6064359065ffffffffffff821682036102ba57565b6024359065ffffffffffff821682036102ba57565b6044359065ffffffffffff821682036102ba57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102ba5760803660031901126102ba576106126105fe6004356105e081610549565b6044356105ec81610549565b6105f461055a565b9160243590611320565b604051918291602083526020830190610599565b0390f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba576104b660243560043561067d82610549565b805f525f80516020612c158339815191526020526106a1600160405f200154611bd4565b611d85565b346102ba5760403660031901126102ba576024356106c381610549565b336001600160a01b038216036106df576104b690600435611dbb565b60405163334bd91960e11b8152600490fd5b346102ba5760203660031901126102ba5760043561070e81610549565b610716611a63565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff16156107cc57506001546001600160a01b0391821691811682146104b8576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020612c3583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761081957604052565b6107ea565b606081019081106001600160401b0382111761081957604052565b608081019081106001600160401b0382111761081957604052565b90601f801991011681019081106001600160401b0382111761081957604052565b604051906108828261081e565b565b60405190610882826107fe565b6001600160401b03811161081957601f01601f191660200190565b81601f820112156102ba578035906108c382610891565b926108d16040519485610854565b828452602083830101116102ba57815f926020809301838601378301015290565b346102ba5760603660031901126102ba5761090b61056f565b6044356001600160401b0381116102ba576020916109306109439236906004016108ac565b906004355f526003845260405f20611e84565b604051908152f35b9181601f840112156102ba578235916001600160401b0383116102ba57602083818601950101116102ba57565b346102ba5760203660031901126102ba576001600160401b036004358181116102ba576109a990369060040161094b565b5f80516020612c55833981519152549260ff8460401c1615931680159081610aa8575b6001149081610a9e575b159081610a95575b50610a83575f80516020612c55833981519152805467ffffffffffffffff19166001179055610a119183610a5f57611f9d565b610a1757005b5f80516020612c55833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020612c55833981519152805460ff60401b1916600160401b179055611f9d565b60405163f92ee8a960e01b8152600490fd5b9050155f6109de565b303b1591506109d6565b8491506109cc565b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576020604051614e208152f35b346102ba575f3660031901126102ba576005546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b346102ba575f3660031901126102ba576004546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576001546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57602060ff610c9c602435610c6e81610549565b6004355f525f80516020612c15833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346102ba5760603660031901126102ba576106126105fe600435610ccb81610549565b610cd3610584565b906024359061154e565b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57600435610d3e81610549565b6024356001600160401b0381116102ba575f91610d608392369060040161094b565b90816040519283928337810184815203915af4610dad610d7e611647565b91610d9f604051938492151560208401526040808401526060830190610599565b03601f198101835282610854565b805190602001fd5b346102ba575f3660031901126102ba5760206040515f8152f35b346102ba575f3660031901126102ba5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57610e6f61056f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610ed15763ffffffff610ebc6040926004355f526003602052835f2061215c565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102ba5760203660031901126102ba576004355f526002602052602060405f2054604051908152f35b346102ba5760403660031901126102ba576104b6602435600435610f3082610549565b805f525f80516020612c15833981519152602052610f54600160405f200154611bd4565b611dbb565b346102ba5760803660031901126102ba57602435610f7681610549565b610f7e610584565b90606435906001600160401b0382116102ba57602092610fa56109439336906004016108ac565b91600435611732565b346102ba5760a03660031901126102ba57602435600435610fce82610549565b60443591610fda61055a565b90608435906001600160401b0382116102ba57610ffc600492369084016108ac565b611004611a63565b5f546020906110299061101d906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa92831561050b575f93611168575b506001600160a01b039283163303611156576001546001600160a01b03168381166110cb575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a36104b660015f80516020612c3583398151915255565b909360405194611102866110f4602082019363724ab0f760e11b8552858c898d602487016118bc565b03601f198101885287610854565b62042e305a10611144575f6110b2938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093611071565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61118b91935060203d602011611192575b6111838183610854565b8101906112bc565b915f61104b565b503d611179565b346102ba575f3660031901126102ba575f546040516001600160a01b039091168152602090f35b346102ba5760403660031901126102ba5760206109436024356111e281610549565b600435611939565b346102ba575f3660031901126102ba5760206040516203d0908152f35b346102ba575f3660031901126102ba57602060405160018152f35b519081151582036102ba57565b908160209103126102ba5761124390611222565b90565b6040513d5f823e3d90fd5b81601f820112156102ba5780519061126882610891565b926112766040519485610854565b828452602083830101116102ba57815f9260208093018386015e8301015290565b906020828203126102ba5781516001600160401b0381116102ba576112439201611251565b908160209103126102ba575161124381610549565b9061124391602081526112f08251606060208401526080830190610599565b9060606040611310602086015194601f1995868683030184870152610599565b9401519282850301910152610599565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052938416604482015265ffffffffffff8516606482015260609594909391925f856084817f000000000000000000000000000000000000000000000000000000000000000087165afa94851561050b575f956114ea575b5060405163fbfa77cf60e01b81526020816004818888165afa90811561050b57611406945f92859284916114cb575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff90921660248301529094859190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa92831561050b575f936114a5575b50611445929361154e565b9082511580159061149b575b8015611491575b61146157505050565b610d9f939450906112439291611475610875565b92835260208301526040820152604051928391602083016112d1565b5081511515611458565b5080511515611451565b61144593506114c5903d805f833e6114bd8183610854565b810190611297565b9261143a565b6114e4915060203d602011611192576111838183610854565b5f6113c9565b6114ff9195503d805f833e6114bd8183610854565b935f61139a565b9061124392915f52600360205260405f20611e84565b519063ffffffff821682036102ba57565b91908260409103126102ba57611243602061154784611222565b930161151c565b92915f8060609565ffffffffffff6040519460209663d0f1f90160e01b8888015260248701521660448501526044845261158784610839565b60405193846115b487820192639f86fd8560e01b8452306024840152604060448401526064830190610599565b03946115c8601f1996878101835282610854565b51915afa506115e66115d8611647565b8380825183010191016120db565b9015611639578083806115fe9351830101910161152d565b929061160957505050565b6112439293945061162d604051948592830191909163ffffffff6020820193169052565b03908101835282610854565b809150519182156102ba5701fd5b3d15611671573d9061165882610891565b916116666040519384610854565b82523d5f602084013e565b606090565b60405190611683826107fe565b60606020838281520152565b906020828203126102ba5781516001600160401b03928382116102ba5701906040828203126102ba57604051926116c5846107fe565b82518181116102ba57826116da918501611251565b845260208301519081116102ba576116f29201611251565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261124392910190610599565b9261174290929192828486612335565b92909361174d611676565b938051806118a0575b5050841593841561180a575b8415611779575b505050506117745790565b505f90565b6020809495506117a4910151604051958694859463530e1d4360e01b865260601c90600486016116fa565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561050b575f916117eb575b50155f808080611769565b611804915060203d602011610504576104f68183610854565b5f6117e0565b5f549094506001600160a01b031660208486519261183d604051948593849363530e1d4360e01b855289600486016116fa565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561050b575f91611881575b501593611762565b61189a915060203d602011610504576104f68183610854565b5f611879565b6118b492955060208091830101910161168f565b925f80611756565b919360a093611243969565ffffffffffff938552600180871b0316602085015260408401521660608201528160808201520190610599565b634e487b7160e01b5f52601160045260245ffd5b8115611912570490565b634e487b7160e01b5f52601260045260245ffd5b906001820180921161193457565b6118f4565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa90811561050b575f91611a46575b50159182156119c2575b505090506119bc576112439161245a565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa91821561050b575f92611a29575b505015805f806119ab565b611a3f9250803d10610504576104f68183610854565b5f80611a1e565b611a5d9150843d8611610504576104f68183610854565b5f6119a1565b5f80516020612c358339815191526002815414611a805760029055565b604051633ee5aeb560e01b8152600490fd5b6004546001600160a01b0316606082901c03611bc2575f52600360205260405f209065ffffffffffff91824211611ba357824216926001820191825415611b95575b611add81612a75565b509590845493835480155f14611b7657505f975b6001600160d01b0398808a1615611b7057611b0c9088612133565b50505b82611b64575b505015611b4e575050610882935090611b30611b3692611e61565b90612133565b90919082549060031b91821b915f19901b1916179055565b61088295611b5d931691612b37565b505061254f565b16821490505f80611b15565b50611b0f565b5f1990808281011161193457855f5260205f2001015460301c97611af1565b611b9e83612522565b611ad4565b6040516306dfcc6560e41b815260306004820152426024820152604490fd5b6040516386eab41b60e01b8152600490fd5b5f8181525f80516020612c158339815191526020908152604080832033845290915290205460ff16156107cc5750565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020612c158339815191529060ff166119bc575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020612c158339815191529060ff905b5416611d7e575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020612c15833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d1a565b5f8181525f80516020612c15833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d7e575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b908160209103126102ba576112439061151c565b5f1981019190821161193457565b90600163ffffffff8093160191821161193457565b91805115611f5d5780602080611e9f93518301019101611e4d565b91611eaa8382612642565b92611ebb845165ffffffffffff1690565b9065ffffffffffff8085169216828114611f515782119182611ef1575b5050611ee8576112439250612572565b50506020015190565b909150611efe8354611e61565b63ffffffff831614918215611f17575b50505f80611ed8565b611f49919250611f32611f2c611f3e92611e6f565b85612642565b5165ffffffffffff1690565b65ffffffffffff1690565b115f80611f0e565b50505050506020015190565b5061124391612572565b9190916040818403126102ba578035611f7f81610549565b9260208201356001600160401b0381116102ba5761124392016108ac565b611fa991810190611f67565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa90811561050b575f916120bc575b50156120aa5761203e6040916120396120849461201e6126aa565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61276d565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661209a575b5001516001600160a01b031690565b90811661208e5750565b61209790611caf565b50565b6120a390611c04565b505f612075565b6040516362df054560e01b8152600490fd5b6120d5915060203d602011610504576104f68183610854565b5f612003565b9190916040818403126102ba576120f181611222565b9260208201516001600160401b0381116102ba576112439201611251565b9060405161211c816107fe565b915465ffffffffffff8116835260301c6020830152565b8054821015612148575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b91908254905f829160058411612204575b612178935085612a13565b9081156121f8576121f16121e86121e26121d86121aa6121a561219a88611e61565b895f5260205f200190565b61210f565b9660016121d160206121c28b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612133565b90549060031b1c90565b93611e61565b63ffffffff1690565b6001939291565b5f925082915081908190565b919261220f816128e8565b81039081116119345761217893865f52612238611f3e8360205f200165ffffffffffff90541690565b65ffffffffffff8516101561224e57509161216d565b92915061225a90611926565b9061216d565b6040519061226d8261081e565b60606040838281528260208201520152565b906020828203126102ba5781516001600160401b03928382116102ba5701906060828203126102ba57604051926122b58461081e565b82518181116102ba57826122ca918501611251565b845260208301518181116102ba57826122e4918501611251565b602085015260408301519081116102ba576122ff9201611251565b604082015290565b908160209103126102ba575190565b60409065ffffffffffff61124394931681528160208201520190610599565b90939293612341612260565b9480518061243e575b5050600454606083901c6001600160a01b03918216148015929190612423575b505061241b575f546123b092919060209061238f9061101d906001600160a01b031681565b8187015190604051808097819463810da75d60e01b83528860048401612316565b03915afa90811561050b576123e3935f926123e8575b506123d79192604087015191611506565b90818082109118021890565b915190565b6123d7925061240e9060203d602011612414575b6124068183610854565b810190612307565b916123c6565b503d6123fc565b505090515f91565b60055481166001600160a01b03169116141590505f8061236a565b61245292965060208091830101910161227f565b935f8061234a565b6004549091606083901c6001600160a01b039283161480159290612507575b5050611774575f546004919060209061249c9061101d906001600160a01b031681565b60405163bd49c35f60e01b815293849182905afa90811561050b57611243925f926124e2575b506124d5905f52600260205260405f2090565b5490818082109118021890565b6124d59192506125009060203d602011612414576124068183610854565b91906124c2565b60055481166001600160a01b03169116141590505f80612479565b8054600160401b8110156108195761253f91600182018155612133565b8154905f199060031b1b19169055565b90815491600160401b8310156108195782611b3691600161088295018155612133565b908154905f8291600584116125dc575b61258d935084612a13565b806125b557505f905b6001600160d01b038216156119bc576112439160016121d89201612133565b6125cf6125c46125d692611e61565b835f5260205f200190565b5460301c90565b90612596565b91926125e7816128e8565b81039081116119345761258d93855f5265ffffffffffff808360205f20015416908516105f14612618575091612582565b92915061262490611926565b90612582565b60405190612637826107fe565b5f6020838281520152565b9061266b61266561268c9261265561262a565b5061265e61262a565b5084612133565b5061210f565b91600165ffffffffffff845116936020828060d01b03910151169101612133565b9054906040519261269c846107fe565b835260031b1c602082015290565b6126b2612aae565b6126ba612aae565b60015f80516020612c3583398151915255565b604051906126da8261081e565b5f6040838281528260208201520152565b8091039060a082126102ba576060604051926127068461081e565b126102ba5760809060405161271a8161081e565b815161272581610549565b8152602082015161273581610549565b6020820152604082015161274881610549565b60408201528352606081015161275d81610549565b602084015201516122ff81610549565b6127756126cd565b5061278b815191602080809483010191016126eb565b80820180516040516302910f8b60e31b8082526001600160a01b039283166004830152939491939082816024817f000000000000000000000000000000000000000000000000000000000000000089165afa90811561050b575f916128cb575b50156104ca578161282f91604087019561280b875160018060a01b031690565b6040519283526001600160a01b031660048301529092839190829081906024820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa91821561050b575f926128ae575b50501561289c5751600480546001600160a01b039283166001600160a01b03199182161790915591516005805490931691161790555190565b604051631f0853c160e21b8152600490fd5b6128c49250803d10610504576104f68183610854565b5f80612863565b6128e29150833d8511610504576104f68183610854565b5f6127eb565b600181111561124357600181600160801b811015612a01575b6129a961299f61299561298b6129816129776129b597600488600160401b6129b09a10156129f4575b6401000000008110156129e7575b620100008110156129da575b6101008110156129ce575b60108110156129c2575b10156129ba575b60030260011c612970818b611908565b0160011c90565b612970818a611908565b6129708189611908565b6129708188611908565b6129708187611908565b6129708186611908565b8093611908565b821190565b900390565b60011b612960565b811c9160021b91612959565b60081c91811b9161294f565b60101c9160081b91612944565b60201c9160101b91612938565b60401c9160201b9161292a565b50600160401b9050608082901c612901565b91905b838210612a235750505090565b909192808316906001818518811c830180931161193457855f5265ffffffffffff808460205f20015416908516105f14612a62575050925b9190612a16565b9094935081018091116119345791612a5b565b805480612a865750505f905f905f90565b5f19918183810111611934575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020612c558339815191525460401c1615612aca57565b604051631afcd79f60e31b8152600490fd5b8054600160401b81101561081957612af991600182018155612133565b612b2457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015612bea57612b4e612b5991611e61565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411612bd857879303612b9f5750612b9892509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050612bd391612bbf612bb1610884565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612adc565b612b98565b604051632520601d60e01b8152600490fd5b5090612c0f91612bfb612bb1610884565b6001600160d01b0385166020830152612adc565b5f919056fe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122067aa6510448df950d196b22488023407b46113c92aa0c31e1ef31a245fd1a75664736f6c63430008190033","sourceMap":"13600:2428:92:-: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;:::-;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;13600:2428:92;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;13600:2428:92;-1:-1:-1;13600:2428:92;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;1537:38:87;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;1632:54:87;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;1743:56:87;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;3361:103:30;;;:::i;:::-;13600:2428:92;;-1:-1:-1;;;4285:48:87;;4322:10;13600:2428:92;4285:48:87;;13600:2428:92;;;;;-1:-1:-1;;;;;4295:16:87;13600:2428:92;4285:48:87;;;;;;;-1:-1:-1;4285:48:87;;;13600:2428:92;4284:49:87;;4280:99;;-1:-1:-1;;;;;13600:2428:92;-1:-1:-1;;4322:10:87;297:2:99;13600:2428:92;;267:46:99;4459:27:87;;;;13600:2428:92;;4459:15:87;13600:2428:92;;;;;;;4459:27:87;13600:2428:92;4459:37:87;4455:87;;4654:38;4552:27;4654:38;4552:27;;;13600:2428:92;;4459:15:87;13600:2428:92;;;;;;;4552:27:87;13600:2428:92;4631:6:87;;;;:::i;:::-;13600:2428:92;;;;;;;;;;;;;4654:38:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;13600:2428:92;3860:283:30;3426:1;13600:2428:92;4455:87:87;13600:2428:92;;-1:-1:-1;;;4519:12:87;;13600:2428:92;;4519:12:87;4280:99;13600:2428:92;;-1:-1:-1;;;4356:12:87;;13600:2428:92;;4356:12:87;4285:48;;;;13600:2428:92;4285:48:87;13600:2428:92;4285:48:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;13600:2428:92:-;;;;;;-1:-1:-1;;13600:2428:92;;;;;;-1:-1:-1;13600:2428:92;-1:-1:-1;;;;;;;;;;;13600:2428:92;;;4919:24:23;13600:2428:92;-1:-1:-1;13600:2428:92;4919:24:23;13600:2428:92;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;13600:2428:92;;;;;;;;-1:-1:-1;;13600:2428:92;;;;:::o;:::-;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;322:32:80;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;5350:25:23;13600:2428:92;;;;;;;:::i;:::-;;-1:-1:-1;13600:2428:92;-1:-1:-1;;;;;;;;;;;13600:2428:92;;3202:4:23;4919:24;13600:2428:92;-1:-1:-1;13600:2428:92;4919:24:23;13600:2428:92;3202:4:23;:::i;:::-;5350:25;:::i;13600:2428:92:-;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;13600:2428:92;;6441:34:23;6437:102;;6549:37;13600:2428:92;;;6549:37:23;:::i;6437:102::-;13600:2428:92;;-1:-1:-1;;;6498:30:23;;13600:2428:92;;6498:30:23;13600:2428:92;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;13600:2428:92;;;;;;;;;;1356:26:87;;13600:2428:92;;4468:23:23;4464:108;;-1:-1:-1;4861:4:87;13600:2428:92;-1:-1:-1;;;;;13600:2428:92;;;;;;4861:13:87;;4857:63;;-1:-1:-1;;;;;;13600:2428:92;;;4861:4:87;13600:2428:92;4958:14:87;-1:-1:-1;;4958:14:87;4861:4;-1:-1:-1;;;;;;;;;;;13600:2428:92;;4464:108:23;13600:2428:92;;;;4514:47:23;;;;;;966:10:28;13600:2428:92;4514:47:23;;13600:2428:92;;;;;4514:47:23;13600:2428:92;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;13600:2428:92;;;;;;-1:-1:-1;;13600:2428:92;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;13600:2428:92;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;13600:2428:92;;;;;;:::i;:::-;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;2045:63:90;13600:2428:92;;;;;;:::i;:::-;;;;-1:-1:-1;13600:2428:92;2045:16:90;13600:2428:92;;;-1:-1:-1;13600:2428:92;2045:63:90;:::i;:::-;13600:2428:92;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;13600:2428:92;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;13600:2428:92;;;;;;;4301:16:26;13600:2428:92;;4726:16:26;;:34;;;;13600:2428:92;4805:1:26;4790:16;:50;;;;13600:2428:92;4855:13:26;:30;;;;13600:2428:92;4851:91:26;;;-1:-1:-1;;;;;;;;;;;13600:2428:92;;-1:-1:-1;;13600:2428:92;;;;;718:4:80;;4951:18:26;4979:67;;718:4:80;:::i;:::-;5066:101:26;;13600:2428:92;5066:101:26;-1:-1:-1;;;;;;;;;;;13600:2428:92;;-1:-1:-1;;;;13600:2428:92;;;;;-1:-1:-1;13600:2428:92;;5142:14:26;;13600:2428:92;;5142:14:26;13600:2428:92;4979:67:26;-1:-1:-1;;;;;;;;;;;13600:2428:92;;-1:-1:-1;;;;13600:2428:92;-1:-1:-1;;;13600:2428:92;;;718:4:80;:::i;4851:91:26:-;13600:2428:92;;-1:-1:-1;;;4908:23:26;;13600:2428:92;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;13600:2428:92;;;;;;-1:-1:-1;;13600:2428:92;;;;;;13796:36;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;1253:6:87;13600:2428:92;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;1267:23:90;13600:2428:92;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;1356:26:87;13600:2428:92;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;13745:45;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;961:42:90;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;3901:31:23;13600:2428:92;;;;;:::i;:::-;;;-1:-1:-1;13600:2428:92;-1:-1:-1;;;;;;;;;;;13600:2428:92;;;-1:-1:-1;13600:2428:92;;;;;;;;;;;;;;;;;3901:31:23;13600:2428:92;;;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;13600:2428:92;;;;;;13838:45;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;13600:2428:92;;;;-1:-1:-1;13600:2428:92;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;13600:2428:92;;;;;;;;;;477:31:86;;13600:2428:92;;;;;;;;;;;:::i;:::-;477:31:86;13600:2428:92;;477:31:86;;;;;;:::i;:::-;518:79;;;13600:2428:92;518:79:86;;13600:2428:92;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;-1:-1:-1;;;;;404:28:80;13600:2428:92;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;1439:41:87;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;13600:2428:92;435:10:93;:19;431:71;;13600:2428:92;14455:67;13600:2428;;;;-1:-1:-1;13600:2428:92;14455:16;13600:2428;;;-1:-1:-1;13600:2428:92;14455:67;:::i;:::-;13600:2428;;;;;;;;;;;;;;;;;;;431:71:93;13600:2428:92;;-1:-1:-1;;;477:14:93;;13600:2428:92;;477:14:93;13600:2428:92;;;;;;-1:-1:-1;;13600:2428:92;;;;;;-1:-1:-1;13600:2428:92;2009:67:87;13600:2428:92;;;;-1:-1:-1;13600:2428:92;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;5767:26:23;13600:2428:92;;;;;;;:::i;:::-;;-1:-1:-1;13600:2428:92;-1:-1:-1;;;;;;;;;;;13600:2428:92;;3202:4:23;4919:24;13600:2428:92;-1:-1:-1;13600:2428:92;4919:24:23;13600:2428:92;3202:4:23;:::i;:::-;5767:26;:::i;13600:2428:92:-;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;13600:2428:92;;;5246:21:87;;:13;;-1:-1:-1;;;;;13600:2428:92;5246:13:87;13600:2428:92;;-1:-1:-1;;;;;13600:2428:92;;;5246:21:87;13600:2428:92;;-1:-1:-1;;;5246:23:87;;13600:2428:92;;;;;5246:23:87;;;;;;;-1:-1:-1;5246:23:87;;;13600:2428:92;-1:-1:-1;;;;;;13600:2428:92;;;5232:10:87;:37;5228:87;;5341:4;13600:2428:92;-1:-1:-1;;;;;13600:2428:92;;;;5355:469:87;;13600:2428:92;-1:-1:-1;;13600:2428:92;;;;;;;;;;;;;;;;5839:55:87;;13600:2428:92;;;;5839:55:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;13600:2428:92;3860:283:30;5355:469:87;13600:2428:92;;;;5435:94:87;;;;13600:2428:92;5435:94:87;;;;;;;;;;;;13600:2428:92;5435:94:87;;;:::i;:::-;;13600:2428:92;;5435:94:87;;;;;;:::i;:::-;13600:2428:92;5548:9:87;:51;5544:118;;-1:-1:-1;5839:55:87;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;13600:2428:92;;-1:-1:-1;;;5626:21:87;;13600:2428:92;;5626:21:87;5228:87;13600:2428:92;;-1:-1:-1;;;5292:12:87;;13600:2428:92;;5292:12:87;5246:23;;;;;13600:2428:92;5246:23:87;13600:2428:92;5246:23:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;13600:2428:92;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;1150:7:87;13600:2428:92;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;2700:1:87;13600:2428:92;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;13600:2428:92;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;15098:928::-;13600:2428;;-1:-1:-1;;;15315:99:92;;-1:-1:-1;;;;;13600:2428:92;;;15315:99;;;13600:2428;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13600:2428:92;;;15334:20;13600:2428;;15315:99;;;;;;;;;;;15098:928;-1:-1:-1;13600:2428:92;;-1:-1:-1;;;15508:32:92;;;13600:2428;15315:99;13600:2428;;;;15508:32;;;;;;;15468:84;15508:32;15315:99;15508:32;;;;;;;15098:928;-1:-1:-1;13600:2428:92;;-1:-1:-1;;;15468:84:92;;-1:-1:-1;;;;;13600:2428:92;;;15315:99;15468:84;;13600:2428;;;;;;;;;;;;;-1:-1:-1;13600:2428:92;;;;;;;;;15468:84;;15479:11;;13600:2428;15468:84;;;;;;;15315:99;15468:84;;;15098:928;15599:53;;;;;:::i;:::-;13600:2428;;;15667:21;;;:52;;;15098:928;15667:88;;;;15098:928;15663:357;;15098:928;;;:::o;15663:357::-;15778:231;13600:2428;;;;15778:231;13600:2428;;;;:::i;:::-;;;;15508:32;15806:189;;13600:2428;;15806:189;;13600:2428;;;15778:231;;;15508:32;15778:231;;;:::i;15667:88::-;13600:2428;;;15723:32;;15667:88;;:52;13600:2428;;;15692:27;;15667:52;;15468:84;15599:53;15468:84;;;;;;15315:99;15468:84;;;;;;:::i;:::-;;;;;:::i;:::-;;;;15508:32;;;;;;;;;;;;;;:::i;:::-;;;;15315:99;;;;;;;;;;;;;;:::i;:::-;;;;;1914:201:90;;2045:63;1914:201;;-1:-1:-1;13600:2428:92;2045:16:90;13600:2428:92;;;-1:-1:-1;13600:2428:92;2045:63:90;:::i;13600:2428:92:-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;14535:557::-;;;-1:-1:-1;14672:12:92;13600:2428;;;;;14818:144;;;;;;;;;;;;;13600:2428;;;;;;;14818:144;;;;;:::i;:::-;13600:2428;;716:88:93;;13600:2428:92;716:88:93;;;;;;;;;783:4;14818:144:92;716:88:93;;13600:2428:92;;;;;;;;;;;:::i;:::-;716:88:93;13600:2428:92;716:88:93;13600:2428:92;;716:88:93;;;;;;;;:::i;:::-;698:107;;;;;857:45;698:107;;:::i;:::-;13600:2428:92;;;;857:45:93;;;;;;:::i;:::-;916:8;;912:175;;13600:2428:92;;;14726:288;13600:2428;;14726:288;;;;;;:::i;:::-;15025:61;;;;14535:557;;;:::o;15025:61::-;15058:17;13600:2428;;;;15058:17;13600:2428;;15058:17;;;;;13600:2428;;;;;;;;;;;;15058:17;;;;;;;;;:::i;912:175:93:-;13600:2428:92;;;;944:22:93;;;940:36;;990:87;;13600:2428:92;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;13600:2428:92;;;;:::o;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2764:920:87:-;;2978:48;2764:920;;;;2978:48;;;;:::i;:::-;3036:36;;;13600:2428:92;;:::i;:::-;;;;3086:20:87;3082:107;;2764:920;3216:11;;;;:193;;;;;2764:920;3216:394;;;;2764:920;3199:455;;;;;;2764:920;:::o;3199:455::-;3635:8;-1:-1:-1;3635:8:87;:::o;3216:394::-;3553:39;;;;;3430:180;3553:39;;;13600:2428:92;;;;;;;;;;3430:180:87;;467:2:99;13600:2428:92;3430:180:87;;;;;:::i;:::-;;13600:2428:92;3444:31:87;-1:-1:-1;;;;;13600:2428:92;3430:180:87;;;;;;;-1:-1:-1;3430:180:87;;;3216:394;3429:181;;3216:394;;;;;;3430:180;;;;3553:39;3430:180;3553:39;3430:180;;;;;;;:::i;:::-;;;;3216:193;-1:-1:-1;13600:2428:92;;;-1:-1:-1;;;;;;13600:2428:92;3248:161:87;3354:37;;;13600:2428:92;3248:161:87;13600:2428:92;;;;;;;;;;3248:161:87;;;;;;;:::i;:::-;;13600:2428:92;3262:29:87;-1:-1:-1;;;;;13600:2428:92;3248:161:87;;;;;;;-1:-1:-1;3248:161:87;;;3216:193;3247:162;;3216:193;;;3248:161;;;;;;;;;;;;;;:::i;:::-;;;;3082:107;3139:39;;;;;;;;;;;;;:::i;:::-;3082:107;;;;;13600:2428:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;8889:1:97;13600:2428:92;;;;;;;:::o;:::-;;:::i;3740:389:87:-;3918:5;13600:2428:92;;;-1:-1:-1;;;3853:71:87;;;-1:-1:-1;;;;;13600:2428:92;;;3853:71:87;;;13600:2428:92;;;;;;;;3740:389:87;;13600:2428:92;3853:71:87;;13600:2428:92;;3853:71:87;13600:2428:92;;;3867:29:87;13600:2428:92;;3853:71:87;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;13600:2428:92;;;3852:181:87;;3740:389;3835:242;;;;;;4094:28;;;:::i;3835:242::-;4058:8;;3918:5;4058:8;:::o;3852:181::-;13600:2428:92;;3945:88:87;;;-1:-1:-1;;;;;13600:2428:92;;3853:71:87;3945:88;;13600:2428:92;467:2:99;13600:2428:92;;;;;;;;-1:-1:-1;13600:2428:92;;;;;;;;3959:31:87;13600:2428:92;3945:88:87;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;3945:88;;;;;;-1:-1:-1;3945:88:87;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;13600:2428:92;;3670:20:30;3666:88;;1991:1;13600:2428:92;;3470:384:30:o;3666:88::-;13600:2428:92;;-1:-1:-1;;;3713:30:30;;;;;3164:253:90;3261:7;13600:2428:92;-1:-1:-1;;;;;13600:2428:92;467:2:99;13600:2428:92;;;3261:31:90;3257:85;;-1:-1:-1;13600:2428:92;3351:16:90;13600:2428:92;;;-1:-1:-1;13600:2428:92;;;837:15:73;;;14374:24:69;14370:103;;837:15:73;;13600:2428:92;6360:12:97;;;;13600:2428:92;;;6360:24:97;6356:75;;3164:253:90;6474:30:97;;;:::i;:::-;13600:2428:92;;;;;;;;10446:8:71;;:63;:8;;;:63;-1:-1:-1;10446:63:71;;-1:-1:-1;;;;;13600:2428:92;;;;10726:7:97;13600:2428:92;;10736:17:97;;;;:::i;:::-;10726:31;;;6604:24;;;10726:31;-1:-1:-1;;6600:188:97;;;6657:7;;6644:29;6657:7;;;;6644:21;6657:7;;:::i;:::-;6644:21;;:::i;:::-;:29;13600:2428:92;;;;;;;;;;;;;;;;;;;;;6600:188:97;6753:24;13600:2428:92;8310:38:71;13600:2428:92;;8310:38:71;;:::i;:::-;6753:24:97;;;:::i;6604:::-;13600:2428:92;6614:14:97;;;-1:-1:-1;6604:24:97;;;;10726:31;;;;10446:63:71;13600:2428:92;;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;13600:2428:92;-1:-1:-1;13267:109:97;;;13600:2428:92;;;10446:63:71;;;6356:75:97;6400:20;;;:::i;:::-;6356:75;;14370:103:69;13600:2428:92;;-1:-1:-1;;;14421:41:69;;14452:2;3261:7:90;14421:41:69;;13600:2428:92;837:15:73;13600:2428:92;;;;;;14421:41:69;3257:85:90;13600:2428:92;;-1:-1:-1;;;3315:16:90;;3261:7;;3315:16;4148:103:23;-1:-1:-1;13600:2428:92;;;-1:-1:-1;;;;;;;;;;;13600:2428:92;;;;;;;;966:10:28;13600:2428:92;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;7270:387::-;-1:-1:-1;;;;;13600:2428:92;;-1:-1:-1;13600:2428:92;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;13600:2428:92;;;;-1:-1:-1;13600:2428:92;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;-1:-1:-1;;13600:2428:92;7509:4:23;13600:2428:92;;;966:10:28;;-1:-1:-1;;;;;13600:2428:92;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7270:387::-;-1:-1:-1;;;;;13600:2428:92;;-1:-1:-1;13600:2428:92;;;;;;;;;1356:26:87;;-1:-1:-1;;;;;;;;;;;2887:71:23;13600:2428:92;;3901:31:23;13600:2428:92;;;;-1:-1:-1;13600:2428:92;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;-1:-1:-1;;13600:2428:92;7509:4:23;13600:2428:92;;;966:10:28;;-1:-1:-1;;;;;13600:2428:92;;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;13600:2428:92;;;-1:-1:-1;;;;;;;;;;;13600:2428:92;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;3901:31:23;13600:2428:92;7892:388:23;-1:-1:-1;13600:2428:92;;;-1:-1:-1;;;;;;;;;;;13600:2428:92;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;;;-1:-1:-1;13600:2428:92;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;966:10:28;;-1:-1:-1;;;;;13600:2428:92;;8155:40:23;-1:-1:-1;;8155:40:23;13600:2428:92;8209:11:23;:::o;13600:2428:92:-;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;13600:2428:92;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:97:-;;13600:2428:92;;7686:17:97;7682:83;;13600:2428:92;7789:27:97;13600:2428:92;7789:27:97;13600:2428:92;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;13600:2428:92;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;13600:2428:92;8075:24:97;:::o;7975:84::-;13600:2428:92;;;8009:16:97;13600:2428:92;;8009:16:97;:::i;:::-;13600:2428:92;;;8001:24:97;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;13600:2428:92;;;;;8029:23:97;13600:2428:92;;;;8029:29:97;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;13600:2428:92;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;13600:2428:92:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;:::i;5907:716:87:-;6030:34;5907:716;6030:34;;;;:::i;:::-;13600:2428:92;;-1:-1:-1;;;6080:41:87;;-1:-1:-1;;;;;13600:2428:92;;;6080:41:87;;;13600:2428:92;;;;;6080:41:87;13600:2428:92;;;6090:13:87;13600:2428:92;;6080:41:87;;;;;;;-1:-1:-1;6080:41:87;;;5907:716;6079:42;;6075:90;;6266:27;13600:2428:92;2684:111:30;6210:14:87;13600:2428:92;2684:111:30;;;:::i;:::-;13600:2428:92;;;;;;-1:-1:-1;;;;;13600:2428:92;;-1:-1:-1;13600:2428:92;;;-1:-1:-1;13600:2428:92;;6210:14:87;6266:27;:::i;:::-;6080:41;6311:15;;13600:2428:92;;;;-1:-1:-1;;;;;;13600:2428:92;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;6337:143:87;;5907:716;-1:-1:-1;6493:28:87;13600:2428:92;-1:-1:-1;;;;;13600:2428:92;;;;;;;6489:128:87;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;13600:2428:92;;-1:-1:-1;;;6144:10:87;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;13600:2428:92;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;13600:2428:92;;-1:-1:-1;13600:2428:92;;;-1:-1:-1;13600:2428:92;:::o;:::-;;;;;;;;;;;;8406:869:97;;;13600:2428:92;;8620:15:97;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;13600:2428:92;9219:31:97;13600:2428:92;9130:48:97;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;13600:2428:92;:::i;:::-;;9176:1:97;13600:2428:92;9232:17:97;13600:2428:92;;;;;;;;9232:17:97;;13600:2428:92;-1:-1:-1;;;;;13600:2428:92;;;;9219:12:97;;:31;:::i;:::-;13600:2428:92;;;;;;;;;9259:7:97;;:::i;:::-;13600:2428:92;;;;9252:15:97;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:97;;-1:-1:-1;8578:11:97;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;13600:2428:92;;;;;;;8939:60:97;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;13600:2428:92;;;;;;8753:55:97;13600:2428:92;;;8753:55:97;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;13600:2428:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:92;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;2121:740:90:-;;;;;13600:2428:92;;:::i;:::-;;;;2362:16:90;2358:92;;2121:740;-1:-1:-1;;2464:7:90;13600:2428:92;467:2:99;13600:2428:92;;;-1:-1:-1;;;;;13600:2428:92;;;2464:31:90;;;;;13600:2428:92;2464:56:90;;2121:740;2460:120;;;;-1:-1:-1;13600:2428:92;2637:67:90;;13600:2428:92;;2676:27:90;;2637;;:13;;-1:-1:-1;;;;;13600:2428:92;2637:13:90;13600:2428:92;2637:27:90;2676;;;;13600:2428:92;;;;;;;;;;;2637:67:90;;;2464:7;2637:67;;;:::i;:::-;;;;;;;;;;2611:198;2637:67;-1:-1:-1;2637:67:90;;;2121:740;2763:31;2722:73;2763:31;;13600:2428:92;2763:31:90;;;2722:73;;:::i;:::-;2611:198;3463:5:68;;;;3066;;13600:2428:92;3060:42:68;3371:111;;2611:198:90;2823:21;;2121:740;:::o;2637:67::-;2722:73;2637:67;;;;2676:27;2637:67;2676:27;2637:67;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;2460:120;-1:-1:-1;;2547:21:90;;-1:-1:-1;;2536:33:90:o;2464:56::-;2499:8;13600:2428:92;;;-1:-1:-1;;;;;13600:2428:92;;;2499:21:90;;;-1:-1:-1;2464:56:90;;;;2358:92;2408:31;;;;;;;;;;;;;:::i;:::-;2358:92;;;;;2867:291;2977:7;13600:2428:92;2867:291:90;;13600:2428:92;;;;-1:-1:-1;;;;;13600:2428:92;;;2977:31:90;;;;13600:2428:92;2977:56:90;;2867:291;2973:95;;;;-1:-1:-1;13600:2428:92;2977:7:90;;13600:2428:92;3094:27:90;;:25;;:13;;-1:-1:-1;;;;;13600:2428:92;3094:13:90;13600:2428:92;3094:25:90;13600:2428:92;;-1:-1:-1;;;3094:27:90;;13600:2428:92;;;;;3094:27:90;;;;;;;3085:66;3094:27;-1:-1:-1;3094:27:90;;;2867:291;3123:27;;;13600:2428:92;;4459:15:87;13600:2428:92;;;;;;;3123:27:90;13600:2428:92;3085:66:90;3463:5:68;;;;3066;;13600:2428:92;3060:42:68;3371:111;;3094:27:90;3123;3094;;;;;;;;;;;;;;;:::i;:::-;;;;;2977:56;3012:8;13600:2428:92;;;-1:-1:-1;;;;;13600:2428:92;;;3012:21:90;;;-1:-1:-1;2977:56:90;;;;13600:2428:92;;;-1:-1:-1;;;13600:2428:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;;13600:2428:92;;;;;;;;;;;;;;;:::i;6999:207:97:-;;13600:2428:92;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;13600:2428:92;;7168:7:97;13600:2428:92;;;7178:12:97;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:97;;;;;;13089:293;;10135:41:71;13600:2428:92;;;;;10135:48:71;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;13600:2428:92;;;;;;;10049:53:71;13267:109:97;;-1:-1:-1;13267:109:97;13600:2428:92;13267:109:97;;;-1:-1:-1;13267:109:97;;13600:2428:92;;;;;9870:48:71;9866:149;13600:2428:92;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;13600:2428:92;;;;;;;:::i;:::-;-1:-1:-1;13600:2428:92;;;;;;;:::o;11486:272:97:-;;13600:2428:92;11452:22:71;11718:31:97;11486:272;13600:2428:92;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;13600:2428:92;;:::i;:::-;;11718:12:97;13600:2428:92;;;;;11731:17:97;13600:2428:92;;;;;11731:17:97;;13600:2428:92;;11718:12:97;;:31;:::i;:::-;13600:2428:92;;;;;;;;;:::i;:::-;;;;;;11731:17:97;11672:79;;13600:2428:92;11486:272:97;:::o;6893:76:26:-;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;13600:2428:92;6893:76:26:o;13600:2428:92:-;;;;;;;:::i;:::-;-1:-1:-1;13600:2428:92;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3423:520:90:-;13600:2428:92;;:::i;:::-;;3571:30:90;13600:2428:92;;3571:30:90;;;;;;;;;;;:::i;:::-;3654:14;;;13600:2428:92;;;;-1:-1:-1;;;3617:52:90;;;-1:-1:-1;;;;;13600:2428:92;;;3617:52:90;;;13600:2428:92;3654:14:90;;13600:2428:92;;;3654:14:90;13600:2428:92;;;3627:16:90;13600:2428:92;;3617:52:90;;;;;;;-1:-1:-1;3617:52:90;;;3423:520;3616:53;;3612:103;;3768:15;3730:54;3768:15;13600:2428:92;3768:15:90;;13600:2428:92;;;;;;;;;;;;;;;3730:54:90;;;-1:-1:-1;;;;;13600:2428:92;3617:52:90;3730:54;;13600:2428:92;;;;;-1:-1:-1;13600:2428:92;;;;;;;;;3730:54:90;;3740:17;;13600:2428:92;3730:54:90;;;;;;;-1:-1:-1;3730:54:90;;;3423:520;3729:55;;;3725:106;;13600:2428:92;3617:52:90;13600:2428:92;;-1:-1:-1;;;;;13600:2428:92;;;-1:-1:-1;;;;;;13600:2428:92;;;;;;;;;3875:26:90;13600:2428:92;;;;;;;;;;3919:17:90;3423:520;:::o;3725:106::-;13600:2428:92;;-1:-1:-1;;;3807:13:90;;3617:52;;3807:13;3730:54;;;;;;-1:-1:-1;3730:54:90;;;;;;:::i;:::-;;;;;3617:52;;;;;;;;;;;;;;:::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;13600:2428:92;18246:1:68;13600:2428:92;22284:6:68;;;;:::i;:::-;13600:2428:92;;;;;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;;;13600:2428:92;23216:28:68;13600:2428:92;;18080:5181:68;:::o;19887:61::-;18246:1;13600:2428:92;19887:61:68;;19787:87;13600:2428:92;;;;;19787:87:68;;;19687;13600:2428:92;;;;;19687:87:68;;;19585:89;13600:2428:92;;;;;19585:89:68;;;19482:90;13600:2428:92;;;;;19482:90:68;;;19379;13600:2428:92;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;13600:2428:92;-1:-1:-1;13600:2428:92;;;;19274:92:68;;12497:447:97;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:68;;;;;;13600:2428:92;;3731:5:68;;;13600:2428:92;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;13600:2428:92;13267:109:97;;;-1:-1:-1;13267:109:97;;13600:2428:92;;;;;-1:-1:-1;12771:136:97;13600:2428:92;;;12830:10:97;;12771:136;;12687:230;;;;12771:136;13600:2428:92;;;;;;;;;;;12771:136:97;;;10695:389:71;13600:2428:92;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;13600:2428:92;;;;;;;;;;10833:17:71;13267:109:97;;10833:17:71;13267:109:97;;;13600:2428:92;11014:1:71;13600:2428:92;;;;;;;11030:37:71;:::o;7084:141:26:-;13600:2428:92;-1:-1:-1;;;;;;;;;;;13600:2428:92;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;13600:2428:92;;-1:-1:-1;;;7191:17:26;;;;;13600:2428:92;;;-1:-1:-1;;;13600:2428:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;13600:2428:92;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;13600:2428:92;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:97;;;;;;13089:293;;11916:28:71;13600:2428:92;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;13600:2428:92;;;;;;;;;;;;;;;;;12285:19:71;13600:2428:92;;12423:25:71;;:::o;12247:163::-;13600:2428:92;;;12343:52:71;13600:2428:92;12353:41:71;13600:2428:92;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;13600:2428:92;;12353:41:71;;;13600:2428:92;12343:52:71;:::i;:::-;12247:163;;12099:89;13600:2428:92;;-1:-1:-1;;;12143:30:71;;;;;11860:713;13600:2428:92;;12479:52:71;13600:2428:92;12489:41:71;13600:2428:92;;:::i;12489:41:71:-;-1:-1:-1;;;;;13600:2428:92;;12489:41:71;;;13600:2428:92;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"59800":[{"start":1579,"length":32}],"59803":[{"start":3566,"length":32}],"60754":[{"start":989,"length":32},{"start":3623,"length":32},{"start":10170,"length":32}],"60757":[{"start":723,"length":32},{"start":8146,"length":32}],"60760":[{"start":791,"length":32},{"start":6209,"length":32},{"start":6512,"length":32}],"60763":[{"start":859,"length":32},{"start":6056,"length":32},{"start":6638,"length":32}],"62379":[{"start":3099,"length":32},{"start":10291,"length":32}],"64153":[{"start":2991,"length":32},{"start":4969,"length":32}],"64155":[{"start":2757,"length":32},{"start":5130,"length":32}],"64157":[{"start":3314,"length":32}],"64360":[{"start":3697,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_REGISTRY()":"c0cd7c3e","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_REGISTRY()":"83ce0322","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VAULT_HINTS()":"45e78fcb","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","maxNetworkLimitAt(bytes32,uint48,bytes)":"437224a3","maxNetworkLimitHint(address,bytes32,uint48)":"991d1162","maxNetworkLimitHintInternal(bytes32,uint48)":"d0f1f901","network()":"6739afca","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","operator()":"570ca735","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOperator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"maxNetworkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"maxNetworkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"maxNetworkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"network\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"maxNetworkLimitAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the maximum subnetwork limit at\"},\"returns\":{\"_0\":\"maximum limit of the subnetwork\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_REGISTRY()\":{\"notice\":\"Get the operator registry's address.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"maxNetworkLimitAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a particular subnetwork's maximum limit at a given timestamp using a hint (meaning the subnetwork is not ready to get more as a stake).\"},\"network()\":{\"notice\":\"Get a network the vault delegates funds to.\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"operator()\":{\"notice\":\"Get an operator managing the vault's funds.\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"OperatorNetworkSpecificDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"},{"internalType":"address","name":"vaultHints","type":"address"},{"internalType":"address","name":"optInServiceHints","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":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidNetwork"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotOperator"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"maxNetworkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"maxNetworkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"maxNetworkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"network","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"inputs":[],"stateMutability":"view","type":"function","name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"maxNetworkLimitAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the maximum subnetwork limit at"},"returns":{"_0":"maximum limit of the subnetwork"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_REGISTRY()":{"notice":"Get the operator registry's address."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"maxNetworkLimitAt(bytes32,uint48,bytes)":{"notice":"Get a particular subnetwork's maximum limit at a given timestamp using a hint (meaning the subnetwork is not ready to get more as a stake)."},"network()":{"notice":"Get a network the vault delegates funds to."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"operator()":{"notice":"Get an operator managing the vault's funds."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"OperatorNetworkSpecificDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":92} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"},{"name":"vaultHints","type":"address","internalType":"address"},{"name":"optInServiceHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"maxNetworkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"maxNetworkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"maxNetworkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"network","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","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":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidNetwork","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotOperator","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","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":"0x6101e0346101dc57601f612eb338819003918201601f19168301916001600160401b0391828411858510176101e05781606092869260409687528339810103126101dc5761004c836101f4565b926100648361005d602084016101f4565b92016101f4565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101cb578080831603610187575b5050505f60a0525f60c0525f60e052610100935f8552610120935f85526101405f8152610160915f83526101809384526101a09485526101c09586525195612caa9788610209893960805188610e71015260a0518861062b015260c05188610dee015260e0518881816103dd01528181610e2701526127ba0152518781816102d30152611fd201525186818161031701528181611841015261197001525185818161035b015281816117a801526119ee015251848181610c1b0152612833015251838181610baf0152611369015251828181610ac5015261140a01525181610cf20152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101dc5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610264578063103f29071461025f578063128e5d821461025a5780631a80e5001461025557806323f752d514610250578063248a9ca31461024b57806325dc9708146102465780632dd31000146102415780632f2ff15d1461023c57806336568abe146102375780633dfd387314610232578063437224a31461022d578063439fab911461022857806345e78fcb14610223578063557cab441461021e578063570ca735146102195780636679191e146102145780636739afca1461020f57806379d896141461020a5780637f5a7c7b1461020557806383ce03221461020057806391d14854146101fb578063991d1162146101f65780639b656b22146101f15780639f86fd85146101ec578063a217fddf146101e7578063bb24fe8a146101e2578063c0cd7c3e146101dd578063d0f1f901146101d8578063d15b740e146101d3578063d547741f146101ce578063e02f6937146101c9578063e49561ee146101c4578063fbfa77cf146101bf578063fd4d447c146101ba578063ff54740f146101b55763ffa1ad74146101b0575f80fd5b611207565b6111ea565b6111c0565b611199565b610fae565b610f59565b610f0d565b610ee3565b610e56565b610e12565b610dcf565b610db5565b610d21565b610cdd565b610ca8565b610c4a565b610c06565b610bde565b610b9a565b610b72565b610b38565b610b10565b610af4565b610ab0565b610978565b6108f2565b6106f1565b6106a6565b61065a565b610616565b6105bd565b610510565b61038a565b610346565b610302565b6102be565b346102ba5760203660031901126102ba5760043563ffffffff60e01b81168091036102ba57602090637965db0b60e01b81149081156102a9575b506040519015158152f35b6301ffc9a760e01b1490505f61029e565b5f80fd5b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba576004356001600160601b03811681036102ba57602435906103ba611a63565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa90811561050b575f916104dc575b50156104ca576001600160601b03166bffffffffffffffffffffffff193360601b16179080610444835f52600260205260405f2090565b54146104b85761049d817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610482855f52600260205260405f2090565b5561048d8185611a92565b6040519081529081906020820190565b0390a26104b660015f80516020612c3583398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6104fe915060203d602011610504575b6104f68183610854565b81019061122f565b5f61040d565b503d6104ec565b611246565b346102ba5760203660031901126102ba576004355f525f80516020612c158339815191526020526020600160405f200154604051908152f35b6001600160a01b038116036102ba57565b6064359065ffffffffffff821682036102ba57565b6024359065ffffffffffff821682036102ba57565b6044359065ffffffffffff821682036102ba57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102ba5760803660031901126102ba576106126105fe6004356105e081610549565b6044356105ec81610549565b6105f461055a565b9160243590611320565b604051918291602083526020830190610599565b0390f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba576104b660243560043561067d82610549565b805f525f80516020612c158339815191526020526106a1600160405f200154611bd4565b611d85565b346102ba5760403660031901126102ba576024356106c381610549565b336001600160a01b038216036106df576104b690600435611dbb565b60405163334bd91960e11b8152600490fd5b346102ba5760203660031901126102ba5760043561070e81610549565b610716611a63565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff16156107cc57506001546001600160a01b0391821691811682146104b8576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020612c3583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761081957604052565b6107ea565b606081019081106001600160401b0382111761081957604052565b608081019081106001600160401b0382111761081957604052565b90601f801991011681019081106001600160401b0382111761081957604052565b604051906108828261081e565b565b60405190610882826107fe565b6001600160401b03811161081957601f01601f191660200190565b81601f820112156102ba578035906108c382610891565b926108d16040519485610854565b828452602083830101116102ba57815f926020809301838601378301015290565b346102ba5760603660031901126102ba5761090b61056f565b6044356001600160401b0381116102ba576020916109306109439236906004016108ac565b906004355f526003845260405f20611e84565b604051908152f35b9181601f840112156102ba578235916001600160401b0383116102ba57602083818601950101116102ba57565b346102ba5760203660031901126102ba576001600160401b036004358181116102ba576109a990369060040161094b565b5f80516020612c55833981519152549260ff8460401c1615931680159081610aa8575b6001149081610a9e575b159081610a95575b50610a83575f80516020612c55833981519152805467ffffffffffffffff19166001179055610a119183610a5f57611f9d565b610a1757005b5f80516020612c55833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020612c55833981519152805460ff60401b1916600160401b179055611f9d565b60405163f92ee8a960e01b8152600490fd5b9050155f6109de565b303b1591506109d6565b8491506109cc565b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576020604051614e208152f35b346102ba575f3660031901126102ba576005546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b346102ba575f3660031901126102ba576004546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576001546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57602060ff610c9c602435610c6e81610549565b6004355f525f80516020612c15833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346102ba5760603660031901126102ba576106126105fe600435610ccb81610549565b610cd3610584565b906024359061154e565b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57600435610d3e81610549565b6024356001600160401b0381116102ba575f91610d608392369060040161094b565b90816040519283928337810184815203915af4610dad610d7e611647565b91610d9f604051938492151560208401526040808401526060830190610599565b03601f198101835282610854565b805190602001fd5b346102ba575f3660031901126102ba5760206040515f8152f35b346102ba575f3660031901126102ba5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57610e6f61056f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610ed15763ffffffff610ebc6040926004355f526003602052835f2061215c565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102ba5760203660031901126102ba576004355f526002602052602060405f2054604051908152f35b346102ba5760403660031901126102ba576104b6602435600435610f3082610549565b805f525f80516020612c15833981519152602052610f54600160405f200154611bd4565b611dbb565b346102ba5760803660031901126102ba57602435610f7681610549565b610f7e610584565b90606435906001600160401b0382116102ba57602092610fa56109439336906004016108ac565b91600435611732565b346102ba5760a03660031901126102ba57602435600435610fce82610549565b60443591610fda61055a565b90608435906001600160401b0382116102ba57610ffc600492369084016108ac565b611004611a63565b5f546020906110299061101d906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa92831561050b575f93611168575b506001600160a01b039283163303611156576001546001600160a01b03168381166110cb575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a36104b660015f80516020612c3583398151915255565b909360405194611102866110f4602082019363724ab0f760e11b8552858c898d602487016118bc565b03601f198101885287610854565b62042e305a10611144575f6110b2938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093611071565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61118b91935060203d602011611192575b6111838183610854565b8101906112bc565b915f61104b565b503d611179565b346102ba575f3660031901126102ba575f546040516001600160a01b039091168152602090f35b346102ba5760403660031901126102ba5760206109436024356111e281610549565b600435611939565b346102ba575f3660031901126102ba5760206040516203d0908152f35b346102ba575f3660031901126102ba57602060405160018152f35b519081151582036102ba57565b908160209103126102ba5761124390611222565b90565b6040513d5f823e3d90fd5b81601f820112156102ba5780519061126882610891565b926112766040519485610854565b828452602083830101116102ba57815f9260208093018386015e8301015290565b906020828203126102ba5781516001600160401b0381116102ba576112439201611251565b908160209103126102ba575161124381610549565b9061124391602081526112f08251606060208401526080830190610599565b9060606040611310602086015194601f1995868683030184870152610599565b9401519282850301910152610599565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052938416604482015265ffffffffffff8516606482015260609594909391925f856084817f000000000000000000000000000000000000000000000000000000000000000087165afa94851561050b575f956114ea575b5060405163fbfa77cf60e01b81526020816004818888165afa90811561050b57611406945f92859284916114cb575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff90921660248301529094859190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa92831561050b575f936114a5575b50611445929361154e565b9082511580159061149b575b8015611491575b61146157505050565b610d9f939450906112439291611475610875565b92835260208301526040820152604051928391602083016112d1565b5081511515611458565b5080511515611451565b61144593506114c5903d805f833e6114bd8183610854565b810190611297565b9261143a565b6114e4915060203d602011611192576111838183610854565b5f6113c9565b6114ff9195503d805f833e6114bd8183610854565b935f61139a565b9061124392915f52600360205260405f20611e84565b519063ffffffff821682036102ba57565b91908260409103126102ba57611243602061154784611222565b930161151c565b92915f8060609565ffffffffffff6040519460209663d0f1f90160e01b8888015260248701521660448501526044845261158784610839565b60405193846115b487820192639f86fd8560e01b8452306024840152604060448401526064830190610599565b03946115c8601f1996878101835282610854565b51915afa506115e66115d8611647565b8380825183010191016120db565b9015611639578083806115fe9351830101910161152d565b929061160957505050565b6112439293945061162d604051948592830191909163ffffffff6020820193169052565b03908101835282610854565b809150519182156102ba5701fd5b3d15611671573d9061165882610891565b916116666040519384610854565b82523d5f602084013e565b606090565b60405190611683826107fe565b60606020838281520152565b906020828203126102ba5781516001600160401b03928382116102ba5701906040828203126102ba57604051926116c5846107fe565b82518181116102ba57826116da918501611251565b845260208301519081116102ba576116f29201611251565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261124392910190610599565b9261174290929192828486612335565b92909361174d611676565b938051806118a0575b5050841593841561180a575b8415611779575b505050506117745790565b505f90565b6020809495506117a4910151604051958694859463530e1d4360e01b865260601c90600486016116fa565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561050b575f916117eb575b50155f808080611769565b611804915060203d602011610504576104f68183610854565b5f6117e0565b5f549094506001600160a01b031660208486519261183d604051948593849363530e1d4360e01b855289600486016116fa565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561050b575f91611881575b501593611762565b61189a915060203d602011610504576104f68183610854565b5f611879565b6118b492955060208091830101910161168f565b925f80611756565b919360a093611243969565ffffffffffff938552600180871b0316602085015260408401521660608201528160808201520190610599565b634e487b7160e01b5f52601160045260245ffd5b8115611912570490565b634e487b7160e01b5f52601260045260245ffd5b906001820180921161193457565b6118f4565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa90811561050b575f91611a46575b50159182156119c2575b505090506119bc576112439161245a565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa91821561050b575f92611a29575b505015805f806119ab565b611a3f9250803d10610504576104f68183610854565b5f80611a1e565b611a5d9150843d8611610504576104f68183610854565b5f6119a1565b5f80516020612c358339815191526002815414611a805760029055565b604051633ee5aeb560e01b8152600490fd5b6004546001600160a01b0316606082901c03611bc2575f52600360205260405f209065ffffffffffff91824211611ba357824216926001820191825415611b95575b611add81612a75565b509590845493835480155f14611b7657505f975b6001600160d01b0398808a1615611b7057611b0c9088612133565b50505b82611b64575b505015611b4e575050610882935090611b30611b3692611e61565b90612133565b90919082549060031b91821b915f19901b1916179055565b61088295611b5d931691612b37565b505061254f565b16821490505f80611b15565b50611b0f565b5f1990808281011161193457855f5260205f2001015460301c97611af1565b611b9e83612522565b611ad4565b6040516306dfcc6560e41b815260306004820152426024820152604490fd5b6040516386eab41b60e01b8152600490fd5b5f8181525f80516020612c158339815191526020908152604080832033845290915290205460ff16156107cc5750565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020612c158339815191529060ff166119bc575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020612c158339815191529060ff905b5416611d7e575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020612c15833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d1a565b5f8181525f80516020612c15833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d7e575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b908160209103126102ba576112439061151c565b5f1981019190821161193457565b90600163ffffffff8093160191821161193457565b91805115611f5d5780602080611e9f93518301019101611e4d565b91611eaa8382612642565b92611ebb845165ffffffffffff1690565b9065ffffffffffff8085169216828114611f515782119182611ef1575b5050611ee8576112439250612572565b50506020015190565b909150611efe8354611e61565b63ffffffff831614918215611f17575b50505f80611ed8565b611f49919250611f32611f2c611f3e92611e6f565b85612642565b5165ffffffffffff1690565b65ffffffffffff1690565b115f80611f0e565b50505050506020015190565b5061124391612572565b9190916040818403126102ba578035611f7f81610549565b9260208201356001600160401b0381116102ba5761124392016108ac565b611fa991810190611f67565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa90811561050b575f916120bc575b50156120aa5761203e6040916120396120849461201e6126aa565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61276d565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661209a575b5001516001600160a01b031690565b90811661208e5750565b61209790611caf565b50565b6120a390611c04565b505f612075565b6040516362df054560e01b8152600490fd5b6120d5915060203d602011610504576104f68183610854565b5f612003565b9190916040818403126102ba576120f181611222565b9260208201516001600160401b0381116102ba576112439201611251565b9060405161211c816107fe565b915465ffffffffffff8116835260301c6020830152565b8054821015612148575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b91908254905f829160058411612204575b612178935085612a13565b9081156121f8576121f16121e86121e26121d86121aa6121a561219a88611e61565b895f5260205f200190565b61210f565b9660016121d160206121c28b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612133565b90549060031b1c90565b93611e61565b63ffffffff1690565b6001939291565b5f925082915081908190565b919261220f816128e8565b81039081116119345761217893865f52612238611f3e8360205f200165ffffffffffff90541690565b65ffffffffffff8516101561224e57509161216d565b92915061225a90611926565b9061216d565b6040519061226d8261081e565b60606040838281528260208201520152565b906020828203126102ba5781516001600160401b03928382116102ba5701906060828203126102ba57604051926122b58461081e565b82518181116102ba57826122ca918501611251565b845260208301518181116102ba57826122e4918501611251565b602085015260408301519081116102ba576122ff9201611251565b604082015290565b908160209103126102ba575190565b60409065ffffffffffff61124394931681528160208201520190610599565b90939293612341612260565b9480518061243e575b5050600454606083901c6001600160a01b03918216148015929190612423575b505061241b575f546123b092919060209061238f9061101d906001600160a01b031681565b8187015190604051808097819463810da75d60e01b83528860048401612316565b03915afa90811561050b576123e3935f926123e8575b506123d79192604087015191611506565b90818082109118021890565b915190565b6123d7925061240e9060203d602011612414575b6124068183610854565b810190612307565b916123c6565b503d6123fc565b505090515f91565b60055481166001600160a01b03169116141590505f8061236a565b61245292965060208091830101910161227f565b935f8061234a565b6004549091606083901c6001600160a01b039283161480159290612507575b5050611774575f546004919060209061249c9061101d906001600160a01b031681565b60405163bd49c35f60e01b815293849182905afa90811561050b57611243925f926124e2575b506124d5905f52600260205260405f2090565b5490818082109118021890565b6124d59192506125009060203d602011612414576124068183610854565b91906124c2565b60055481166001600160a01b03169116141590505f80612479565b8054600160401b8110156108195761253f91600182018155612133565b8154905f199060031b1b19169055565b90815491600160401b8310156108195782611b3691600161088295018155612133565b908154905f8291600584116125dc575b61258d935084612a13565b806125b557505f905b6001600160d01b038216156119bc576112439160016121d89201612133565b6125cf6125c46125d692611e61565b835f5260205f200190565b5460301c90565b90612596565b91926125e7816128e8565b81039081116119345761258d93855f5265ffffffffffff808360205f20015416908516105f14612618575091612582565b92915061262490611926565b90612582565b60405190612637826107fe565b5f6020838281520152565b9061266b61266561268c9261265561262a565b5061265e61262a565b5084612133565b5061210f565b91600165ffffffffffff845116936020828060d01b03910151169101612133565b9054906040519261269c846107fe565b835260031b1c602082015290565b6126b2612aae565b6126ba612aae565b60015f80516020612c3583398151915255565b604051906126da8261081e565b5f6040838281528260208201520152565b8091039060a082126102ba576060604051926127068461081e565b126102ba5760809060405161271a8161081e565b815161272581610549565b8152602082015161273581610549565b6020820152604082015161274881610549565b60408201528352606081015161275d81610549565b602084015201516122ff81610549565b6127756126cd565b5061278b815191602080809483010191016126eb565b80820180516040516302910f8b60e31b8082526001600160a01b039283166004830152939491939082816024817f000000000000000000000000000000000000000000000000000000000000000089165afa90811561050b575f916128cb575b50156104ca578161282f91604087019561280b875160018060a01b031690565b6040519283526001600160a01b031660048301529092839190829081906024820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa91821561050b575f926128ae575b50501561289c5751600480546001600160a01b039283166001600160a01b03199182161790915591516005805490931691161790555190565b604051631f0853c160e21b8152600490fd5b6128c49250803d10610504576104f68183610854565b5f80612863565b6128e29150833d8511610504576104f68183610854565b5f6127eb565b600181111561124357600181600160801b811015612a01575b6129a961299f61299561298b6129816129776129b597600488600160401b6129b09a10156129f4575b6401000000008110156129e7575b620100008110156129da575b6101008110156129ce575b60108110156129c2575b10156129ba575b60030260011c612970818b611908565b0160011c90565b612970818a611908565b6129708189611908565b6129708188611908565b6129708187611908565b6129708186611908565b8093611908565b821190565b900390565b60011b612960565b811c9160021b91612959565b60081c91811b9161294f565b60101c9160081b91612944565b60201c9160101b91612938565b60401c9160201b9161292a565b50600160401b9050608082901c612901565b91905b838210612a235750505090565b909192808316906001818518811c830180931161193457855f5265ffffffffffff808460205f20015416908516105f14612a62575050925b9190612a16565b9094935081018091116119345791612a5b565b805480612a865750505f905f905f90565b5f19918183810111611934575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020612c558339815191525460401c1615612aca57565b604051631afcd79f60e31b8152600490fd5b8054600160401b81101561081957612af991600182018155612133565b612b2457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015612bea57612b4e612b5991611e61565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411612bd857879303612b9f5750612b9892509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050612bd391612bbf612bb1610884565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612adc565b612b98565b604051632520601d60e01b8152600490fd5b5090612c0f91612bfb612bb1610884565b6001600160d01b0385166020830152612adc565b5f919056fe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122067aa6510448df950d196b22488023407b46113c92aa0c31e1ef31a245fd1a75664736f6c63430008190033","sourceMap":"13600:2428:94:-:0;;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:95;;332:21;;8837:64:26;13600:2428:94;;;;;;;;;7896:76:26;;13600:2428:94;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:82;;;-1:-1:-1;525:17:82;;-1:-1:-1;552:12:82;;-1:-1:-1;2360:34:89;;2404:28;;-1:-1:-1;2404:28:89;;2442:57;;-1:-1:-1;2442:57:89;;2509:61;-1:-1:-1;2509:61:89;;1796:36:92;;-1:-1:-1;1796:36:92;;14125:41:94;;;;14176:24;;;;14210:40;;;;13600:2428;;;;;;;;332:21:95;13600:2428:94;;;;;525:17:82;13600:2428:94;;;;;552:12:82;13600:2428:94;;;;;2360:34:89;13600:2428:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;13600:2428:94;;;;;;;;;;;;;8087:29:26;;13600:2428:94;;8087:29:26;7981:146;;;;;7896:76;13600:2428:94;;-1:-1:-1;;;7938:23:26;;;;;13600:2428:94;-1:-1:-1;13600:2428:94;;;;;;-1:-1:-1;13600:2428:94;;;;;-1:-1:-1;13600:2428:94;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610264578063103f29071461025f578063128e5d821461025a5780631a80e5001461025557806323f752d514610250578063248a9ca31461024b57806325dc9708146102465780632dd31000146102415780632f2ff15d1461023c57806336568abe146102375780633dfd387314610232578063437224a31461022d578063439fab911461022857806345e78fcb14610223578063557cab441461021e578063570ca735146102195780636679191e146102145780636739afca1461020f57806379d896141461020a5780637f5a7c7b1461020557806383ce03221461020057806391d14854146101fb578063991d1162146101f65780639b656b22146101f15780639f86fd85146101ec578063a217fddf146101e7578063bb24fe8a146101e2578063c0cd7c3e146101dd578063d0f1f901146101d8578063d15b740e146101d3578063d547741f146101ce578063e02f6937146101c9578063e49561ee146101c4578063fbfa77cf146101bf578063fd4d447c146101ba578063ff54740f146101b55763ffa1ad74146101b0575f80fd5b611207565b6111ea565b6111c0565b611199565b610fae565b610f59565b610f0d565b610ee3565b610e56565b610e12565b610dcf565b610db5565b610d21565b610cdd565b610ca8565b610c4a565b610c06565b610bde565b610b9a565b610b72565b610b38565b610b10565b610af4565b610ab0565b610978565b6108f2565b6106f1565b6106a6565b61065a565b610616565b6105bd565b610510565b61038a565b610346565b610302565b6102be565b346102ba5760203660031901126102ba5760043563ffffffff60e01b81168091036102ba57602090637965db0b60e01b81149081156102a9575b506040519015158152f35b6301ffc9a760e01b1490505f61029e565b5f80fd5b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba576004356001600160601b03811681036102ba57602435906103ba611a63565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa90811561050b575f916104dc575b50156104ca576001600160601b03166bffffffffffffffffffffffff193360601b16179080610444835f52600260205260405f2090565b54146104b85761049d817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c92610482855f52600260205260405f2090565b5561048d8185611a92565b6040519081529081906020820190565b0390a26104b660015f80516020612c3583398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6104fe915060203d602011610504575b6104f68183610854565b81019061122f565b5f61040d565b503d6104ec565b611246565b346102ba5760203660031901126102ba576004355f525f80516020612c158339815191526020526020600160405f200154604051908152f35b6001600160a01b038116036102ba57565b6064359065ffffffffffff821682036102ba57565b6024359065ffffffffffff821682036102ba57565b6044359065ffffffffffff821682036102ba57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102ba5760803660031901126102ba576106126105fe6004356105e081610549565b6044356105ec81610549565b6105f461055a565b9160243590611320565b604051918291602083526020830190610599565b0390f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba576104b660243560043561067d82610549565b805f525f80516020612c158339815191526020526106a1600160405f200154611bd4565b611d85565b346102ba5760403660031901126102ba576024356106c381610549565b336001600160a01b038216036106df576104b690600435611dbb565b60405163334bd91960e11b8152600490fd5b346102ba5760203660031901126102ba5760043561070e81610549565b610716611a63565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff16156107cc57506001546001600160a01b0391821691811682146104b8576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020612c3583398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761081957604052565b6107ea565b606081019081106001600160401b0382111761081957604052565b608081019081106001600160401b0382111761081957604052565b90601f801991011681019081106001600160401b0382111761081957604052565b604051906108828261081e565b565b60405190610882826107fe565b6001600160401b03811161081957601f01601f191660200190565b81601f820112156102ba578035906108c382610891565b926108d16040519485610854565b828452602083830101116102ba57815f926020809301838601378301015290565b346102ba5760603660031901126102ba5761090b61056f565b6044356001600160401b0381116102ba576020916109306109439236906004016108ac565b906004355f526003845260405f20611e84565b604051908152f35b9181601f840112156102ba578235916001600160401b0383116102ba57602083818601950101116102ba57565b346102ba5760203660031901126102ba576001600160401b036004358181116102ba576109a990369060040161094b565b5f80516020612c55833981519152549260ff8460401c1615931680159081610aa8575b6001149081610a9e575b159081610a95575b50610a83575f80516020612c55833981519152805467ffffffffffffffff19166001179055610a119183610a5f57611f9d565b610a1757005b5f80516020612c55833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020612c55833981519152805460ff60401b1916600160401b179055611f9d565b60405163f92ee8a960e01b8152600490fd5b9050155f6109de565b303b1591506109d6565b8491506109cc565b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576020604051614e208152f35b346102ba575f3660031901126102ba576005546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b346102ba575f3660031901126102ba576004546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba575f3660031901126102ba576001546040516001600160a01b039091168152602090f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57602060ff610c9c602435610c6e81610549565b6004355f525f80516020612c15833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346102ba5760603660031901126102ba576106126105fe600435610ccb81610549565b610cd3610584565b906024359061154e565b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57600435610d3e81610549565b6024356001600160401b0381116102ba575f91610d608392369060040161094b565b90816040519283928337810184815203915af4610dad610d7e611647565b91610d9f604051938492151560208401526040808401526060830190610599565b03601f198101835282610854565b805190602001fd5b346102ba575f3660031901126102ba5760206040515f8152f35b346102ba575f3660031901126102ba5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102ba575f3660031901126102ba576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102ba5760403660031901126102ba57610e6f61056f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610ed15763ffffffff610ebc6040926004355f526003602052835f2061215c565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102ba5760203660031901126102ba576004355f526002602052602060405f2054604051908152f35b346102ba5760403660031901126102ba576104b6602435600435610f3082610549565b805f525f80516020612c15833981519152602052610f54600160405f200154611bd4565b611dbb565b346102ba5760803660031901126102ba57602435610f7681610549565b610f7e610584565b90606435906001600160401b0382116102ba57602092610fa56109439336906004016108ac565b91600435611732565b346102ba5760a03660031901126102ba57602435600435610fce82610549565b60443591610fda61055a565b90608435906001600160401b0382116102ba57610ffc600492369084016108ac565b611004611a63565b5f546020906110299061101d906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa92831561050b575f93611168575b506001600160a01b039283163303611156576001546001600160a01b03168381166110cb575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a36104b660015f80516020612c3583398151915255565b909360405194611102866110f4602082019363724ab0f760e11b8552858c898d602487016118bc565b03601f198101885287610854565b62042e305a10611144575f6110b2938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093611071565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b61118b91935060203d602011611192575b6111838183610854565b8101906112bc565b915f61104b565b503d611179565b346102ba575f3660031901126102ba575f546040516001600160a01b039091168152602090f35b346102ba5760403660031901126102ba5760206109436024356111e281610549565b600435611939565b346102ba575f3660031901126102ba5760206040516203d0908152f35b346102ba575f3660031901126102ba57602060405160018152f35b519081151582036102ba57565b908160209103126102ba5761124390611222565b90565b6040513d5f823e3d90fd5b81601f820112156102ba5780519061126882610891565b926112766040519485610854565b828452602083830101116102ba57815f9260208093018386015e8301015290565b906020828203126102ba5781516001600160401b0381116102ba576112439201611251565b908160209103126102ba575161124381610549565b9061124391602081526112f08251606060208401526080830190610599565b9060606040611310602086015194601f1995868683030184870152610599565b9401519282850301910152610599565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052938416604482015265ffffffffffff8516606482015260609594909391925f856084817f000000000000000000000000000000000000000000000000000000000000000087165afa94851561050b575f956114ea575b5060405163fbfa77cf60e01b81526020816004818888165afa90811561050b57611406945f92859284916114cb575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff90921660248301529094859190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa92831561050b575f936114a5575b50611445929361154e565b9082511580159061149b575b8015611491575b61146157505050565b610d9f939450906112439291611475610875565b92835260208301526040820152604051928391602083016112d1565b5081511515611458565b5080511515611451565b61144593506114c5903d805f833e6114bd8183610854565b810190611297565b9261143a565b6114e4915060203d602011611192576111838183610854565b5f6113c9565b6114ff9195503d805f833e6114bd8183610854565b935f61139a565b9061124392915f52600360205260405f20611e84565b519063ffffffff821682036102ba57565b91908260409103126102ba57611243602061154784611222565b930161151c565b92915f8060609565ffffffffffff6040519460209663d0f1f90160e01b8888015260248701521660448501526044845261158784610839565b60405193846115b487820192639f86fd8560e01b8452306024840152604060448401526064830190610599565b03946115c8601f1996878101835282610854565b51915afa506115e66115d8611647565b8380825183010191016120db565b9015611639578083806115fe9351830101910161152d565b929061160957505050565b6112439293945061162d604051948592830191909163ffffffff6020820193169052565b03908101835282610854565b809150519182156102ba5701fd5b3d15611671573d9061165882610891565b916116666040519384610854565b82523d5f602084013e565b606090565b60405190611683826107fe565b60606020838281520152565b906020828203126102ba5781516001600160401b03928382116102ba5701906040828203126102ba57604051926116c5846107fe565b82518181116102ba57826116da918501611251565b845260208301519081116102ba576116f29201611251565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261124392910190610599565b9261174290929192828486612335565b92909361174d611676565b938051806118a0575b5050841593841561180a575b8415611779575b505050506117745790565b505f90565b6020809495506117a4910151604051958694859463530e1d4360e01b865260601c90600486016116fa565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561050b575f916117eb575b50155f808080611769565b611804915060203d602011610504576104f68183610854565b5f6117e0565b5f549094506001600160a01b031660208486519261183d604051948593849363530e1d4360e01b855289600486016116fa565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561050b575f91611881575b501593611762565b61189a915060203d602011610504576104f68183610854565b5f611879565b6118b492955060208091830101910161168f565b925f80611756565b919360a093611243969565ffffffffffff938552600180871b0316602085015260408401521660608201528160808201520190610599565b634e487b7160e01b5f52601160045260245ffd5b8115611912570490565b634e487b7160e01b5f52601260045260245ffd5b906001820180921161193457565b6118f4565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa90811561050b575f91611a46575b50159182156119c2575b505090506119bc576112439161245a565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa91821561050b575f92611a29575b505015805f806119ab565b611a3f9250803d10610504576104f68183610854565b5f80611a1e565b611a5d9150843d8611610504576104f68183610854565b5f6119a1565b5f80516020612c358339815191526002815414611a805760029055565b604051633ee5aeb560e01b8152600490fd5b6004546001600160a01b0316606082901c03611bc2575f52600360205260405f209065ffffffffffff91824211611ba357824216926001820191825415611b95575b611add81612a75565b509590845493835480155f14611b7657505f975b6001600160d01b0398808a1615611b7057611b0c9088612133565b50505b82611b64575b505015611b4e575050610882935090611b30611b3692611e61565b90612133565b90919082549060031b91821b915f19901b1916179055565b61088295611b5d931691612b37565b505061254f565b16821490505f80611b15565b50611b0f565b5f1990808281011161193457855f5260205f2001015460301c97611af1565b611b9e83612522565b611ad4565b6040516306dfcc6560e41b815260306004820152426024820152604490fd5b6040516386eab41b60e01b8152600490fd5b5f8181525f80516020612c158339815191526020908152604080832033845290915290205460ff16156107cc5750565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020612c158339815191529060ff166119bc575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020612c158339815191529060ff905b5416611d7e575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020612c15833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d1a565b5f8181525f80516020612c15833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d7e575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b908160209103126102ba576112439061151c565b5f1981019190821161193457565b90600163ffffffff8093160191821161193457565b91805115611f5d5780602080611e9f93518301019101611e4d565b91611eaa8382612642565b92611ebb845165ffffffffffff1690565b9065ffffffffffff8085169216828114611f515782119182611ef1575b5050611ee8576112439250612572565b50506020015190565b909150611efe8354611e61565b63ffffffff831614918215611f17575b50505f80611ed8565b611f49919250611f32611f2c611f3e92611e6f565b85612642565b5165ffffffffffff1690565b65ffffffffffff1690565b115f80611f0e565b50505050506020015190565b5061124391612572565b9190916040818403126102ba578035611f7f81610549565b9260208201356001600160401b0381116102ba5761124392016108ac565b611fa991810190611f67565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa90811561050b575f916120bc575b50156120aa5761203e6040916120396120849461201e6126aa565b60018060a01b03166001600160601b0360a01b5f5416175f55565b61276d565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b031684811661209a575b5001516001600160a01b031690565b90811661208e5750565b61209790611caf565b50565b6120a390611c04565b505f612075565b6040516362df054560e01b8152600490fd5b6120d5915060203d602011610504576104f68183610854565b5f612003565b9190916040818403126102ba576120f181611222565b9260208201516001600160401b0381116102ba576112439201611251565b9060405161211c816107fe565b915465ffffffffffff8116835260301c6020830152565b8054821015612148575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b91908254905f829160058411612204575b612178935085612a13565b9081156121f8576121f16121e86121e26121d86121aa6121a561219a88611e61565b895f5260205f200190565b61210f565b9660016121d160206121c28b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101612133565b90549060031b1c90565b93611e61565b63ffffffff1690565b6001939291565b5f925082915081908190565b919261220f816128e8565b81039081116119345761217893865f52612238611f3e8360205f200165ffffffffffff90541690565b65ffffffffffff8516101561224e57509161216d565b92915061225a90611926565b9061216d565b6040519061226d8261081e565b60606040838281528260208201520152565b906020828203126102ba5781516001600160401b03928382116102ba5701906060828203126102ba57604051926122b58461081e565b82518181116102ba57826122ca918501611251565b845260208301518181116102ba57826122e4918501611251565b602085015260408301519081116102ba576122ff9201611251565b604082015290565b908160209103126102ba575190565b60409065ffffffffffff61124394931681528160208201520190610599565b90939293612341612260565b9480518061243e575b5050600454606083901c6001600160a01b03918216148015929190612423575b505061241b575f546123b092919060209061238f9061101d906001600160a01b031681565b8187015190604051808097819463810da75d60e01b83528860048401612316565b03915afa90811561050b576123e3935f926123e8575b506123d79192604087015191611506565b90818082109118021890565b915190565b6123d7925061240e9060203d602011612414575b6124068183610854565b810190612307565b916123c6565b503d6123fc565b505090515f91565b60055481166001600160a01b03169116141590505f8061236a565b61245292965060208091830101910161227f565b935f8061234a565b6004549091606083901c6001600160a01b039283161480159290612507575b5050611774575f546004919060209061249c9061101d906001600160a01b031681565b60405163bd49c35f60e01b815293849182905afa90811561050b57611243925f926124e2575b506124d5905f52600260205260405f2090565b5490818082109118021890565b6124d59192506125009060203d602011612414576124068183610854565b91906124c2565b60055481166001600160a01b03169116141590505f80612479565b8054600160401b8110156108195761253f91600182018155612133565b8154905f199060031b1b19169055565b90815491600160401b8310156108195782611b3691600161088295018155612133565b908154905f8291600584116125dc575b61258d935084612a13565b806125b557505f905b6001600160d01b038216156119bc576112439160016121d89201612133565b6125cf6125c46125d692611e61565b835f5260205f200190565b5460301c90565b90612596565b91926125e7816128e8565b81039081116119345761258d93855f5265ffffffffffff808360205f20015416908516105f14612618575091612582565b92915061262490611926565b90612582565b60405190612637826107fe565b5f6020838281520152565b9061266b61266561268c9261265561262a565b5061265e61262a565b5084612133565b5061210f565b91600165ffffffffffff845116936020828060d01b03910151169101612133565b9054906040519261269c846107fe565b835260031b1c602082015290565b6126b2612aae565b6126ba612aae565b60015f80516020612c3583398151915255565b604051906126da8261081e565b5f6040838281528260208201520152565b8091039060a082126102ba576060604051926127068461081e565b126102ba5760809060405161271a8161081e565b815161272581610549565b8152602082015161273581610549565b6020820152604082015161274881610549565b60408201528352606081015161275d81610549565b602084015201516122ff81610549565b6127756126cd565b5061278b815191602080809483010191016126eb565b80820180516040516302910f8b60e31b8082526001600160a01b039283166004830152939491939082816024817f000000000000000000000000000000000000000000000000000000000000000089165afa90811561050b575f916128cb575b50156104ca578161282f91604087019561280b875160018060a01b031690565b6040519283526001600160a01b031660048301529092839190829081906024820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa91821561050b575f926128ae575b50501561289c5751600480546001600160a01b039283166001600160a01b03199182161790915591516005805490931691161790555190565b604051631f0853c160e21b8152600490fd5b6128c49250803d10610504576104f68183610854565b5f80612863565b6128e29150833d8511610504576104f68183610854565b5f6127eb565b600181111561124357600181600160801b811015612a01575b6129a961299f61299561298b6129816129776129b597600488600160401b6129b09a10156129f4575b6401000000008110156129e7575b620100008110156129da575b6101008110156129ce575b60108110156129c2575b10156129ba575b60030260011c612970818b611908565b0160011c90565b612970818a611908565b6129708189611908565b6129708188611908565b6129708187611908565b6129708186611908565b8093611908565b821190565b900390565b60011b612960565b811c9160021b91612959565b60081c91811b9161294f565b60101c9160081b91612944565b60201c9160101b91612938565b60401c9160201b9161292a565b50600160401b9050608082901c612901565b91905b838210612a235750505090565b909192808316906001818518811c830180931161193457855f5265ffffffffffff808460205f20015416908516105f14612a62575050925b9190612a16565b9094935081018091116119345791612a5b565b805480612a865750505f905f905f90565b5f19918183810111611934575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020612c558339815191525460401c1615612aca57565b604051631afcd79f60e31b8152600490fd5b8054600160401b81101561081957612af991600182018155612133565b612b2457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015612bea57612b4e612b5991611e61565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411612bd857879303612b9f5750612b9892509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050612bd391612bbf612bb1610884565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612adc565b612b98565b604051632520601d60e01b8152600490fd5b5090612c0f91612bfb612bb1610884565b6001600160d01b0385166020830152612adc565b5f919056fe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122067aa6510448df950d196b22488023407b46113c92aa0c31e1ef31a245fd1a75664736f6c63430008190033","sourceMap":"13600:2428:94:-: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;:::-;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;13600:2428:94;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;13600:2428:94;-1:-1:-1;13600:2428:94;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;1537:38:89;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;1632:54:89;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;1743:56:89;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;3361:103:30;;;:::i;:::-;13600:2428:94;;-1:-1:-1;;;4285:48:89;;4322:10;13600:2428:94;4285:48:89;;13600:2428:94;;;;;-1:-1:-1;;;;;4295:16:89;13600:2428:94;4285:48:89;;;;;;;-1:-1:-1;4285:48:89;;;13600:2428:94;4284:49:89;;4280:99;;-1:-1:-1;;;;;13600:2428:94;-1:-1:-1;;4322:10:89;297:2:101;13600:2428:94;;267:46:101;4459:27:89;;;;13600:2428:94;;4459:15:89;13600:2428:94;;;;;;;4459:27:89;13600:2428:94;4459:37:89;4455:87;;4654:38;4552:27;4654:38;4552:27;;;13600:2428:94;;4459:15:89;13600:2428:94;;;;;;;4552:27:89;13600:2428:94;4631:6:89;;;;:::i;:::-;13600:2428:94;;;;;;;;;;;;;4654:38:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;13600:2428:94;3860:283:30;3426:1;13600:2428:94;4455:87:89;13600:2428:94;;-1:-1:-1;;;4519:12:89;;13600:2428:94;;4519:12:89;4280:99;13600:2428:94;;-1:-1:-1;;;4356:12:89;;13600:2428:94;;4356:12:89;4285:48;;;;13600:2428:94;4285:48:89;13600:2428:94;4285:48:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;13600:2428:94:-;;;;;;-1:-1:-1;;13600:2428:94;;;;;;-1:-1:-1;13600:2428:94;-1:-1:-1;;;;;;;;;;;13600:2428:94;;;4919:24:23;13600:2428:94;-1:-1:-1;13600:2428:94;4919:24:23;13600:2428:94;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;13600:2428:94;;;;;;;;-1:-1:-1;;13600:2428:94;;;;:::o;:::-;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;322:32:82;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;5350:25:23;13600:2428:94;;;;;;;:::i;:::-;;-1:-1:-1;13600:2428:94;-1:-1:-1;;;;;;;;;;;13600:2428:94;;3202:4:23;4919:24;13600:2428:94;-1:-1:-1;13600:2428:94;4919:24:23;13600:2428:94;3202:4:23;:::i;:::-;5350:25;:::i;13600:2428:94:-;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;13600:2428:94;;6441:34:23;6437:102;;6549:37;13600:2428:94;;;6549:37:23;:::i;6437:102::-;13600:2428:94;;-1:-1:-1;;;6498:30:23;;13600:2428:94;;6498:30:23;13600:2428:94;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;13600:2428:94;;;;;;;;;;1356:26:89;;13600:2428:94;;4468:23:23;4464:108;;-1:-1:-1;4861:4:89;13600:2428:94;-1:-1:-1;;;;;13600:2428:94;;;;;;4861:13:89;;4857:63;;-1:-1:-1;;;;;;13600:2428:94;;;4861:4:89;13600:2428:94;4958:14:89;-1:-1:-1;;4958:14:89;4861:4;-1:-1:-1;;;;;;;;;;;13600:2428:94;;4464:108:23;13600:2428:94;;;;4514:47:23;;;;;;966:10:28;13600:2428:94;4514:47:23;;13600:2428:94;;;;;4514:47:23;13600:2428:94;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;13600:2428:94;;;;;;-1:-1:-1;;13600:2428:94;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;13600:2428:94;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;13600:2428:94;;;;;;:::i;:::-;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;2045:63:92;13600:2428:94;;;;;;:::i;:::-;;;;-1:-1:-1;13600:2428:94;2045:16:92;13600:2428:94;;;-1:-1:-1;13600:2428:94;2045:63:92;:::i;:::-;13600:2428:94;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;13600:2428:94;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;13600:2428:94;;;;;;;4301:16:26;13600:2428:94;;4726:16:26;;:34;;;;13600:2428:94;4805:1:26;4790:16;:50;;;;13600:2428:94;4855:13:26;:30;;;;13600:2428:94;4851:91:26;;;-1:-1:-1;;;;;;;;;;;13600:2428:94;;-1:-1:-1;;13600:2428:94;;;;;718:4:82;;4951:18:26;4979:67;;718:4:82;:::i;:::-;5066:101:26;;13600:2428:94;5066:101:26;-1:-1:-1;;;;;;;;;;;13600:2428:94;;-1:-1:-1;;;;13600:2428:94;;;;;-1:-1:-1;13600:2428:94;;5142:14:26;;13600:2428:94;;5142:14:26;13600:2428:94;4979:67:26;-1:-1:-1;;;;;;;;;;;13600:2428:94;;-1:-1:-1;;;;13600:2428:94;-1:-1:-1;;;13600:2428:94;;;718:4:82;:::i;4851:91:26:-;13600:2428:94;;-1:-1:-1;;;4908:23:26;;13600:2428:94;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;13600:2428:94;;;;;;-1:-1:-1;;13600:2428:94;;;;;;13796:36;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;1253:6:89;13600:2428:94;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;1267:23:92;13600:2428:94;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;1356:26:89;13600:2428:94;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;13745:45;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;961:42:92;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;3901:31:23;13600:2428:94;;;;;:::i;:::-;;;-1:-1:-1;13600:2428:94;-1:-1:-1;;;;;;;;;;;13600:2428:94;;;-1:-1:-1;13600:2428:94;;;;;;;;;;;;;;;;;3901:31:23;13600:2428:94;;;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;13600:2428:94;;;;;;13838:45;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;13600:2428:94;;;;-1:-1:-1;13600:2428:94;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;13600:2428:94;;;;;;;;;;477:31:88;;13600:2428:94;;;;;;;;;;;:::i;:::-;477:31:88;13600:2428:94;;477:31:88;;;;;;:::i;:::-;518:79;;;13600:2428:94;518:79:88;;13600:2428:94;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;-1:-1:-1;;;;;404:28:82;13600:2428:94;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;1439:41:89;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;13600:2428:94;435:10:95;:19;431:71;;13600:2428:94;14455:67;13600:2428;;;;-1:-1:-1;13600:2428:94;14455:16;13600:2428;;;-1:-1:-1;13600:2428:94;14455:67;:::i;:::-;13600:2428;;;;;;;;;;;;;;;;;;;431:71:95;13600:2428:94;;-1:-1:-1;;;477:14:95;;13600:2428:94;;477:14:95;13600:2428:94;;;;;;-1:-1:-1;;13600:2428:94;;;;;;-1:-1:-1;13600:2428:94;2009:67:89;13600:2428:94;;;;-1:-1:-1;13600:2428:94;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;5767:26:23;13600:2428:94;;;;;;;:::i;:::-;;-1:-1:-1;13600:2428:94;-1:-1:-1;;;;;;;;;;;13600:2428:94;;3202:4:23;4919:24;13600:2428:94;-1:-1:-1;13600:2428:94;4919:24:23;13600:2428:94;3202:4:23;:::i;:::-;5767:26;:::i;13600:2428:94:-;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;13600:2428:94;;;5246:21:89;;:13;;-1:-1:-1;;;;;13600:2428:94;5246:13:89;13600:2428:94;;-1:-1:-1;;;;;13600:2428:94;;;5246:21:89;13600:2428:94;;-1:-1:-1;;;5246:23:89;;13600:2428:94;;;;;5246:23:89;;;;;;;-1:-1:-1;5246:23:89;;;13600:2428:94;-1:-1:-1;;;;;;13600:2428:94;;;5232:10:89;:37;5228:87;;5341:4;13600:2428:94;-1:-1:-1;;;;;13600:2428:94;;;;5355:469:89;;13600:2428:94;-1:-1:-1;;13600:2428:94;;;;;;;;;;;;;;;;5839:55:89;;13600:2428:94;;;;5839:55:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;13600:2428:94;3860:283:30;5355:469:89;13600:2428:94;;;;5435:94:89;;;;13600:2428:94;5435:94:89;;;;;;;;;;;;13600:2428:94;5435:94:89;;;:::i;:::-;;13600:2428:94;;5435:94:89;;;;;;:::i;:::-;13600:2428:94;5548:9:89;:51;5544:118;;-1:-1:-1;5839:55:89;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;13600:2428:94;;-1:-1:-1;;;5626:21:89;;13600:2428:94;;5626:21:89;5228:87;13600:2428:94;;-1:-1:-1;;;5292:12:89;;13600:2428:94;;5292:12:89;5246:23;;;;;13600:2428:94;5246:23:89;13600:2428:94;5246:23:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;13600:2428:94;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;1150:7:89;13600:2428:94;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;2700:1:89;13600:2428:94;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;13600:2428:94;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;15098:928::-;13600:2428;;-1:-1:-1;;;15315:99:94;;-1:-1:-1;;;;;13600:2428:94;;;15315:99;;;13600:2428;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13600:2428:94;;;15334:20;13600:2428;;15315:99;;;;;;;;;;;15098:928;-1:-1:-1;13600:2428:94;;-1:-1:-1;;;15508:32:94;;;13600:2428;15315:99;13600:2428;;;;15508:32;;;;;;;15468:84;15508:32;15315:99;15508:32;;;;;;;15098:928;-1:-1:-1;13600:2428:94;;-1:-1:-1;;;15468:84:94;;-1:-1:-1;;;;;13600:2428:94;;;15315:99;15468:84;;13600:2428;;;;;;;;;;;;;-1:-1:-1;13600:2428:94;;;;;;;;;15468:84;;15479:11;;13600:2428;15468:84;;;;;;;15315:99;15468:84;;;15098:928;15599:53;;;;;:::i;:::-;13600:2428;;;15667:21;;;:52;;;15098:928;15667:88;;;;15098:928;15663:357;;15098:928;;;:::o;15663:357::-;15778:231;13600:2428;;;;15778:231;13600:2428;;;;:::i;:::-;;;;15508:32;15806:189;;13600:2428;;15806:189;;13600:2428;;;15778:231;;;15508:32;15778:231;;;:::i;15667:88::-;13600:2428;;;15723:32;;15667:88;;:52;13600:2428;;;15692:27;;15667:52;;15468:84;15599:53;15468:84;;;;;;15315:99;15468:84;;;;;;:::i;:::-;;;;;:::i;:::-;;;;15508:32;;;;;;;;;;;;;;:::i;:::-;;;;15315:99;;;;;;;;;;;;;;:::i;:::-;;;;;1914:201:92;;2045:63;1914:201;;-1:-1:-1;13600:2428:94;2045:16:92;13600:2428:94;;;-1:-1:-1;13600:2428:94;2045:63:92;:::i;13600:2428:94:-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;14535:557::-;;;-1:-1:-1;14672:12:94;13600:2428;;;;;14818:144;;;;;;;;;;;;;13600:2428;;;;;;;14818:144;;;;;:::i;:::-;13600:2428;;716:88:95;;13600:2428:94;716:88:95;;;;;;;;;783:4;14818:144:94;716:88:95;;13600:2428:94;;;;;;;;;;;:::i;:::-;716:88:95;13600:2428:94;716:88:95;13600:2428:94;;716:88:95;;;;;;;;:::i;:::-;698:107;;;;;857:45;698:107;;:::i;:::-;13600:2428:94;;;;857:45:95;;;;;;:::i;:::-;916:8;;912:175;;13600:2428:94;;;14726:288;13600:2428;;14726:288;;;;;;:::i;:::-;15025:61;;;;14535:557;;;:::o;15025:61::-;15058:17;13600:2428;;;;15058:17;13600:2428;;15058:17;;;;;13600:2428;;;;;;;;;;;;15058:17;;;;;;;;;:::i;912:175:95:-;13600:2428:94;;;;944:22:95;;;940:36;;990:87;;13600:2428:94;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;13600:2428:94;;;;:::o;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2764:920:89:-;;2978:48;2764:920;;;;2978:48;;;;:::i;:::-;3036:36;;;13600:2428:94;;:::i;:::-;;;;3086:20:89;3082:107;;2764:920;3216:11;;;;:193;;;;;2764:920;3216:394;;;;2764:920;3199:455;;;;;;2764:920;:::o;3199:455::-;3635:8;-1:-1:-1;3635:8:89;:::o;3216:394::-;3553:39;;;;;3430:180;3553:39;;;13600:2428:94;;;;;;;;;;3430:180:89;;467:2:101;13600:2428:94;3430:180:89;;;;;:::i;:::-;;13600:2428:94;3444:31:89;-1:-1:-1;;;;;13600:2428:94;3430:180:89;;;;;;;-1:-1:-1;3430:180:89;;;3216:394;3429:181;;3216:394;;;;;;3430:180;;;;3553:39;3430:180;3553:39;3430:180;;;;;;;:::i;:::-;;;;3216:193;-1:-1:-1;13600:2428:94;;;-1:-1:-1;;;;;;13600:2428:94;3248:161:89;3354:37;;;13600:2428:94;3248:161:89;13600:2428:94;;;;;;;;;;3248:161:89;;;;;;;:::i;:::-;;13600:2428:94;3262:29:89;-1:-1:-1;;;;;13600:2428:94;3248:161:89;;;;;;;-1:-1:-1;3248:161:89;;;3216:193;3247:162;;3216:193;;;3248:161;;;;;;;;;;;;;;:::i;:::-;;;;3082:107;3139:39;;;;;;;;;;;;;:::i;:::-;3082:107;;;;;13600:2428:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;8889:1:99;13600:2428:94;;;;;;;:::o;:::-;;:::i;3740:389:89:-;3918:5;13600:2428:94;;;-1:-1:-1;;;3853:71:89;;;-1:-1:-1;;;;;13600:2428:94;;;3853:71:89;;;13600:2428:94;;;;;;;;3740:389:89;;13600:2428:94;3853:71:89;;13600:2428:94;;3853:71:89;13600:2428:94;;;3867:29:89;13600:2428:94;;3853:71:89;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;13600:2428:94;;;3852:181:89;;3740:389;3835:242;;;;;;4094:28;;;:::i;3835:242::-;4058:8;;3918:5;4058:8;:::o;3852:181::-;13600:2428:94;;3945:88:89;;;-1:-1:-1;;;;;13600:2428:94;;3853:71:89;3945:88;;13600:2428:94;467:2:101;13600:2428:94;;;;;;;;-1:-1:-1;13600:2428:94;;;;;;;;3959:31:89;13600:2428:94;3945:88:89;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;3945:88;;;;;;-1:-1:-1;3945:88:89;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;13600:2428:94;;3670:20:30;3666:88;;1991:1;13600:2428:94;;3470:384:30:o;3666:88::-;13600:2428:94;;-1:-1:-1;;;3713:30:30;;;;;3164:253:92;3261:7;13600:2428:94;-1:-1:-1;;;;;13600:2428:94;467:2:101;13600:2428:94;;;3261:31:92;3257:85;;-1:-1:-1;13600:2428:94;3351:16:92;13600:2428:94;;;-1:-1:-1;13600:2428:94;;;837:15:75;;;14374:24:71;14370:103;;837:15:75;;13600:2428:94;6360:12:99;;;;13600:2428:94;;;6360:24:99;6356:75;;3164:253:92;6474:30:99;;;:::i;:::-;13600:2428:94;;;;;;;;10446:8:73;;:63;:8;;;:63;-1:-1:-1;10446:63:73;;-1:-1:-1;;;;;13600:2428:94;;;;10726:7:99;13600:2428:94;;10736:17:99;;;;:::i;:::-;10726:31;;;6604:24;;;10726:31;-1:-1:-1;;6600:188:99;;;6657:7;;6644:29;6657:7;;;;6644:21;6657:7;;:::i;:::-;6644:21;;:::i;:::-;:29;13600:2428:94;;;;;;;;;;;;;;;;;;;;;6600:188:99;6753:24;13600:2428:94;8310:38:73;13600:2428:94;;8310:38:73;;:::i;:::-;6753:24:99;;;:::i;6604:::-;13600:2428:94;6614:14:99;;;-1:-1:-1;6604:24:99;;;;10726:31;;;;10446:63:73;13600:2428:94;;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;13600:2428:94;-1:-1:-1;13267:109:99;;;13600:2428:94;;;10446:63:73;;;6356:75:99;6400:20;;;:::i;:::-;6356:75;;14370:103:71;13600:2428:94;;-1:-1:-1;;;14421:41:71;;14452:2;3261:7:92;14421:41:71;;13600:2428:94;837:15:75;13600:2428:94;;;;;;14421:41:71;3257:85:92;13600:2428:94;;-1:-1:-1;;;3315:16:92;;3261:7;;3315:16;4148:103:23;-1:-1:-1;13600:2428:94;;;-1:-1:-1;;;;;;;;;;;13600:2428:94;;;;;;;;966:10:28;13600:2428:94;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;7270:387::-;-1:-1:-1;;;;;13600:2428:94;;-1:-1:-1;13600:2428:94;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;13600:2428:94;;;;-1:-1:-1;13600:2428:94;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;-1:-1:-1;;13600:2428:94;7509:4:23;13600:2428:94;;;966:10:28;;-1:-1:-1;;;;;13600:2428:94;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7270:387::-;-1:-1:-1;;;;;13600:2428:94;;-1:-1:-1;13600:2428:94;;;;;;;;;1356:26:89;;-1:-1:-1;;;;;;;;;;;2887:71:23;13600:2428:94;;3901:31:23;13600:2428:94;;;;-1:-1:-1;13600:2428:94;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;-1:-1:-1;;13600:2428:94;7509:4:23;13600:2428:94;;;966:10:28;;-1:-1:-1;;;;;13600:2428:94;;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;13600:2428:94;;;-1:-1:-1;;;;;;;;;;;13600:2428:94;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;3901:31:23;13600:2428:94;7892:388:23;-1:-1:-1;13600:2428:94;;;-1:-1:-1;;;;;;;;;;;13600:2428:94;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;;;-1:-1:-1;13600:2428:94;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;966:10:28;;-1:-1:-1;;;;;13600:2428:94;;8155:40:23;-1:-1:-1;;8155:40:23;13600:2428:94;8209:11:23;:::o;13600:2428:94:-;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;13600:2428:94;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;13600:2428:94;;7686:17:99;7682:83;;13600:2428:94;7789:27:99;13600:2428:94;7789:27:99;13600:2428:94;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;13600:2428:94;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;13600:2428:94;8075:24:99;:::o;7975:84::-;13600:2428:94;;;8009:16:99;13600:2428:94;;8009:16:99;:::i;:::-;13600:2428:94;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;13600:2428:94;;;;;8029:23:99;13600:2428:94;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;13600:2428:94;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;13600:2428:94:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;:::i;5907:716:89:-;6030:34;5907:716;6030:34;;;;:::i;:::-;13600:2428:94;;-1:-1:-1;;;6080:41:89;;-1:-1:-1;;;;;13600:2428:94;;;6080:41:89;;;13600:2428:94;;;;;6080:41:89;13600:2428:94;;;6090:13:89;13600:2428:94;;6080:41:89;;;;;;;-1:-1:-1;6080:41:89;;;5907:716;6079:42;;6075:90;;6266:27;13600:2428:94;2684:111:30;6210:14:89;13600:2428:94;2684:111:30;;;:::i;:::-;13600:2428:94;;;;;;-1:-1:-1;;;;;13600:2428:94;;-1:-1:-1;13600:2428:94;;;-1:-1:-1;13600:2428:94;;6210:14:89;6266:27;:::i;:::-;6080:41;6311:15;;13600:2428:94;;;;-1:-1:-1;;;;;;13600:2428:94;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;6337:143:89;;5907:716;-1:-1:-1;6493:28:89;13600:2428:94;-1:-1:-1;;;;;13600:2428:94;;;;;;;6489:128:89;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;13600:2428:94;;-1:-1:-1;;;6144:10:89;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;13600:2428:94;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;13600:2428:94;;-1:-1:-1;13600:2428:94;;;-1:-1:-1;13600:2428:94;:::o;:::-;;;;;;;;;;;;8406:869:99;;;13600:2428:94;;8620:15:99;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;13600:2428:94;9219:31:99;13600:2428:94;9130:48:99;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;13600:2428:94;:::i;:::-;;9176:1:99;13600:2428:94;9232:17:99;13600:2428:94;;;;;;;;9232:17:99;;13600:2428:94;-1:-1:-1;;;;;13600:2428:94;;;;9219:12:99;;:31;:::i;:::-;13600:2428:94;;;;;;;;;9259:7:99;;:::i;:::-;13600:2428:94;;;;9252:15:99;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:99;;-1:-1:-1;8578:11:99;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;13600:2428:94;;;;;;;8939:60:99;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;13600:2428:94;;;;;;8753:55:99;13600:2428:94;;;8753:55:99;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;13600:2428:94;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;13600:2428:94;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;2121:740:92:-;;;;;13600:2428:94;;:::i;:::-;;;;2362:16:92;2358:92;;2121:740;-1:-1:-1;;2464:7:92;13600:2428:94;467:2:101;13600:2428:94;;;-1:-1:-1;;;;;13600:2428:94;;;2464:31:92;;;;;13600:2428:94;2464:56:92;;2121:740;2460:120;;;;-1:-1:-1;13600:2428:94;2637:67:92;;13600:2428:94;;2676:27:92;;2637;;:13;;-1:-1:-1;;;;;13600:2428:94;2637:13:92;13600:2428:94;2637:27:92;2676;;;;13600:2428:94;;;;;;;;;;;2637:67:92;;;2464:7;2637:67;;;:::i;:::-;;;;;;;;;;2611:198;2637:67;-1:-1:-1;2637:67:92;;;2121:740;2763:31;2722:73;2763:31;;13600:2428:94;2763:31:92;;;2722:73;;:::i;:::-;2611:198;3463:5:70;;;;3066;;13600:2428:94;3060:42:70;3371:111;;2611:198:92;2823:21;;2121:740;:::o;2637:67::-;2722:73;2637:67;;;;2676:27;2637:67;2676:27;2637:67;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;2460:120;-1:-1:-1;;2547:21:92;;-1:-1:-1;;2536:33:92:o;2464:56::-;2499:8;13600:2428:94;;;-1:-1:-1;;;;;13600:2428:94;;;2499:21:92;;;-1:-1:-1;2464:56:92;;;;2358:92;2408:31;;;;;;;;;;;;;:::i;:::-;2358:92;;;;;2867:291;2977:7;13600:2428:94;2867:291:92;;13600:2428:94;;;;-1:-1:-1;;;;;13600:2428:94;;;2977:31:92;;;;13600:2428:94;2977:56:92;;2867:291;2973:95;;;;-1:-1:-1;13600:2428:94;2977:7:92;;13600:2428:94;3094:27:92;;:25;;:13;;-1:-1:-1;;;;;13600:2428:94;3094:13:92;13600:2428:94;3094:25:92;13600:2428:94;;-1:-1:-1;;;3094:27:92;;13600:2428:94;;;;;3094:27:92;;;;;;;3085:66;3094:27;-1:-1:-1;3094:27:92;;;2867:291;3123:27;;;13600:2428:94;;4459:15:89;13600:2428:94;;;;;;;3123:27:92;13600:2428:94;3085:66:92;3463:5:70;;;;3066;;13600:2428:94;3060:42:70;3371:111;;3094:27:92;3123;3094;;;;;;;;;;;;;;;:::i;:::-;;;;;2977:56;3012:8;13600:2428:94;;;-1:-1:-1;;;;;13600:2428:94;;;3012:21:92;;;-1:-1:-1;2977:56:92;;;;13600:2428:94;;;-1:-1:-1;;;13600:2428:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;;13600:2428:94;;;;;;;;;;;;;;;:::i;6999:207:99:-;;13600:2428:94;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;13600:2428:94;;7168:7:99;13600:2428:94;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:99;;;;;;13089:293;;10135:41:73;13600:2428:94;;;;;10135:48:73;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;13600:2428:94;;;;;;;10049:53:73;13267:109:99;;-1:-1:-1;13267:109:99;13600:2428:94;13267:109:99;;;-1:-1:-1;13267:109:99;;13600:2428:94;;;;;9870:48:73;9866:149;13600:2428:94;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;13600:2428:94;;;;;;;:::i;:::-;-1:-1:-1;13600:2428:94;;;;;;;:::o;11486:272:99:-;;13600:2428:94;11452:22:73;11718:31:99;11486:272;13600:2428:94;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;13600:2428:94;;:::i;:::-;;11718:12:99;13600:2428:94;;;;;11731:17:99;13600:2428:94;;;;;11731:17:99;;13600:2428:94;;11718:12:99;;:31;:::i;:::-;13600:2428:94;;;;;;;;;:::i;:::-;;;;;;11731:17:99;11672:79;;13600:2428:94;11486:272:99;:::o;6893:76:26:-;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;13600:2428:94;6893:76:26:o;13600:2428:94:-;;;;;;;:::i;:::-;-1:-1:-1;13600:2428:94;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3423:520:92:-;13600:2428:94;;:::i;:::-;;3571:30:92;13600:2428:94;;3571:30:92;;;;;;;;;;;:::i;:::-;3654:14;;;13600:2428:94;;;;-1:-1:-1;;;3617:52:92;;;-1:-1:-1;;;;;13600:2428:94;;;3617:52:92;;;13600:2428:94;3654:14:92;;13600:2428:94;;;3654:14:92;13600:2428:94;;;3627:16:92;13600:2428:94;;3617:52:92;;;;;;;-1:-1:-1;3617:52:92;;;3423:520;3616:53;;3612:103;;3768:15;3730:54;3768:15;13600:2428:94;3768:15:92;;13600:2428:94;;;;;;;;;;;;;;;3730:54:92;;;-1:-1:-1;;;;;13600:2428:94;3617:52:92;3730:54;;13600:2428:94;;;;;-1:-1:-1;13600:2428:94;;;;;;;;;3730:54:92;;3740:17;;13600:2428:94;3730:54:92;;;;;;;-1:-1:-1;3730:54:92;;;3423:520;3729:55;;;3725:106;;13600:2428:94;3617:52:92;13600:2428:94;;-1:-1:-1;;;;;13600:2428:94;;;-1:-1:-1;;;;;;13600:2428:94;;;;;;;;;3875:26:92;13600:2428:94;;;;;;;;;;3919:17:92;3423:520;:::o;3725:106::-;13600:2428:94;;-1:-1:-1;;;3807:13:92;;3617:52;;3807:13;3730:54;;;;;;-1:-1:-1;3730:54:92;;;;;;:::i;:::-;;;;;3617:52;;;;;;;;;;;;;;:::i;:::-;;;;18080:5181:70;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;13600:2428:94;18246:1:70;13600:2428:94;22284:6:70;;;;:::i;:::-;13600:2428:94;;;;;22278:18:70;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;;;13600:2428:94;23216:28:70;13600:2428:94;;18080:5181:70;:::o;19887:61::-;18246:1;13600:2428:94;19887:61:70;;19787:87;13600:2428:94;;;;;19787:87:70;;;19687;13600:2428:94;;;;;19687:87:70;;;19585:89;13600:2428:94;;;;;19585:89:70;;;19482:90;13600:2428:94;;;;;19482:90:70;;;19379;13600:2428:94;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;13600:2428:94;-1:-1:-1;13600:2428:94;;;;19274:92:70;;12497:447:99;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:70;;;;;;13600:2428:94;;3731:5:70;;;13600:2428:94;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;13600:2428:94;13267:109:99;;;-1:-1:-1;13267:109:99;;13600:2428:94;;;;;-1:-1:-1;12771:136:99;13600:2428:94;;;12830:10:99;;12771:136;;12687:230;;;;12771:136;13600:2428:94;;;;;;;;;;;12771:136:99;;;10695:389:73;13600:2428:94;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;13600:2428:94;;;;;;;;;;10833:17:73;13267:109:99;;10833:17:73;13267:109:99;;;13600:2428:94;11014:1:73;13600:2428:94;;;;;;;11030:37:73;:::o;7084:141:26:-;13600:2428:94;-1:-1:-1;;;;;;;;;;;13600:2428:94;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;13600:2428:94;;-1:-1:-1;;;7191:17:26;;;;;13600:2428:94;;;-1:-1:-1;;;13600:2428:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;13600:2428:94;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;13600:2428:94;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:99;;;;;;13089:293;;11916:28:73;13600:2428:94;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;13600:2428:94;;;;;;;;;;;;;;;;;12285:19:73;13600:2428:94;;12423:25:73;;:::o;12247:163::-;13600:2428:94;;;12343:52:73;13600:2428:94;12353:41:73;13600:2428:94;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;13600:2428:94;;12353:41:73;;;13600:2428:94;12343:52:73;:::i;:::-;12247:163;;12099:89;13600:2428:94;;-1:-1:-1;;;12143:30:73;;;;;11860:713;13600:2428:94;;12479:52:73;13600:2428:94;12489:41:73;13600:2428:94;;:::i;12489:41:73:-;-1:-1:-1;;;;;13600:2428:94;;12489:41:73;;;13600:2428:94;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"60120":[{"start":1579,"length":32}],"60123":[{"start":3566,"length":32}],"61074":[{"start":989,"length":32},{"start":3623,"length":32},{"start":10170,"length":32}],"61077":[{"start":723,"length":32},{"start":8146,"length":32}],"61080":[{"start":791,"length":32},{"start":6209,"length":32},{"start":6512,"length":32}],"61083":[{"start":859,"length":32},{"start":6056,"length":32},{"start":6638,"length":32}],"62699":[{"start":3099,"length":32},{"start":10291,"length":32}],"64473":[{"start":2991,"length":32},{"start":4969,"length":32}],"64475":[{"start":2757,"length":32},{"start":5130,"length":32}],"64477":[{"start":3314,"length":32}],"64680":[{"start":3697,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_REGISTRY()":"c0cd7c3e","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_REGISTRY()":"83ce0322","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VAULT_HINTS()":"45e78fcb","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","maxNetworkLimitAt(bytes32,uint48,bytes)":"437224a3","maxNetworkLimitHint(address,bytes32,uint48)":"991d1162","maxNetworkLimitHintInternal(bytes32,uint48)":"d0f1f901","network()":"6739afca","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","operator()":"570ca735","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOperator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"maxNetworkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"maxNetworkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"maxNetworkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"network\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"maxNetworkLimitAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the maximum subnetwork limit at\"},\"returns\":{\"_0\":\"maximum limit of the subnetwork\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_REGISTRY()\":{\"notice\":\"Get the operator registry's address.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"maxNetworkLimitAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a particular subnetwork's maximum limit at a given timestamp using a hint (meaning the subnetwork is not ready to get more as a stake).\"},\"network()\":{\"notice\":\"Get a network the vault delegates funds to.\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"operator()\":{\"notice\":\"Get an operator managing the vault's funds.\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"OperatorNetworkSpecificDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"},{"internalType":"address","name":"vaultHints","type":"address"},{"internalType":"address","name":"optInServiceHints","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":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidNetwork"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotOperator"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"maxNetworkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"maxNetworkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"maxNetworkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"network","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"inputs":[],"stateMutability":"view","type":"function","name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"maxNetworkLimitAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the maximum subnetwork limit at"},"returns":{"_0":"maximum limit of the subnetwork"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_REGISTRY()":{"notice":"Get the operator registry's address."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"maxNetworkLimitAt(bytes32,uint48,bytes)":{"notice":"Get a particular subnetwork's maximum limit at a given timestamp using a hint (meaning the subnetwork is not ready to get more as a stake)."},"network()":{"notice":"Get a network the vault delegates funds to."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"operator()":{"notice":"Get an operator managing the vault's funds."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"OperatorNetworkSpecificDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":94} \ No newline at end of file diff --git a/out/DelegatorHints.sol/OperatorSpecificDelegatorHints.json b/out/DelegatorHints.sol/OperatorSpecificDelegatorHints.json index 10f6627..1b47db2 100644 --- a/out/DelegatorHints.sol/OperatorSpecificDelegatorHints.json +++ b/out/DelegatorHints.sol/OperatorSpecificDelegatorHints.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"},{"name":"vaultHints","type":"address","internalType":"address"},{"name":"optInServiceHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","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":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DuplicateRoleHolder","inputs":[]},{"type":"error","name":"ExceedsMaxNetworkLimit","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"MissingRoleHolders","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotOperator","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","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":"ZeroAddressRoleHolder","inputs":[]}],"bytecode":{"object":"0x6101e0346101d557601f61316638819003918201601f19168301916001600160401b0391828411858510176101d95781606092869260409687528339810103126101d55761004c836101ed565b926100648361005d602084016101ed565b92016101ed565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101c4578080831603610180575b5050505f60a0525f60c0525f60e052610100935f8552610120935f85526101405f8152610160915f83526101809384526101a09485526101c09586525195612f64978861020289396080518861048c015260a051886107a4015260c05188610f6c015260e0518881816105950152610fa50152518781816103bf0152612299015251868181610403015281816119720152611aa1015251858181610513015281816118d90152611b1f015251848181610dce0152612aff015251838181610d29015261149a015251828181610b0e015261153b01525181610e700152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101d55756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610284578063021453481461027f578063103f29071461027a578063128e5d8214610275578063197aa7ea146102705780631a80e5001461026b57806323f752d514610266578063248a9ca31461026157806325dc97081461025c5780632dd31000146102575780632f2ff15d1461025257806336568abe1461024d5780633dfd3873146102485780633eb22c0f14610243578063439fab911461023e57806345e78fcb14610239578063557cab4414610234578063570ca7351461022f5780635d32a1c91461022a5780636679191e1461022557806379d89614146102205780637d24bb271461021b5780637f5a7c7b1461021657806383ce03221461021157806391d148541461020c5780639b656b22146102075780639f86fd8514610202578063a217fddf146101fd578063bb24fe8a146101f8578063c0cd7c3e146101f3578063d15b740e146101ee578063d547741f146101e9578063da749d2b146101e4578063e02f6937146101df578063e49561ee146101da578063fbfa77cf146101d5578063fd4d447c146101d0578063ff54740f146101cb5763ffa1ad74146101c6575f80fd5b61132d565b611310565b6112e6565b6112bf565b6110d4565b61107f565b61104a565b610ffe565b610fd4565b610f90565b610f4d565b610f33565b610e9f565b610e5b565b610dfd565b610db9565b610d91565b610d58565b610d14565b610cda565b610c89565b610b59565b610b3d565b610af9565b6109c1565b610963565b61086a565b61081f565b6107d3565b61078f565b610736565b6106c8565b610542565b6104fe565b610471565b6103ee565b6103aa565b6102de565b346102da5760203660031901126102da5760043563ffffffff60e01b81168091036102da57602090637965db0b60e01b81149081156102c9575b506040519015158152f35b6301ffc9a760e01b1490505f6102be565b5f80fd5b346102da576040806003193601126102da576004359060243590610300611b94565b825f526002602052805f2054821161039a57825f52600360205281610326825f206121eb565b1461038a5781610385916103757e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f94610366875f52600360205260405f2090565b61036f4261272b565b90611c93565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff821682036102da57565b6064359065ffffffffffff821682036102da57565b6044359065ffffffffffff821682036102da57565b346102da5760403660031901126102da5761048a610432565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036104ec5763ffffffff6104d76040926004355f526003602052835f20611d79565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da576004356001600160601b03811681036102da5760243590610572611e88565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106c3575f91610694575b5015610682576001600160601b03166bffffffffffffffffffffffff193360601b161790806105fc835f52600260205260405f2090565b541461067057610655817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c9261063a855f52600260205260405f2090565b556106458185611eb7565b6040519081529081906020820190565b0390a261066e60015f80516020612eef83398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6106b6915060203d6020116106bc575b6106ae8183610beb565b810190611355565b5f6105c5565b503d6106a4565b61136c565b346102da5760203660031901126102da576004355f525f80516020612ecf8339815191526020526020600160405f200154604051908152f35b6001600160a01b038116036102da57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102da5760803660031901126102da5761078b61077760043561075981610701565b60443561076581610701565b61076d610447565b9160243590611451565b604051918291602083526020830190610712565b0390f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da5761066e6024356004356107f682610701565b805f525f80516020612ecf83398151915260205261081a600160405f200154611bf0565b612123565b346102da5760403660031901126102da5760243561083c81610701565b336001600160a01b038216036108585761066e90600435612159565b60405163334bd91960e11b8152600490fd5b346102da5760203660031901126102da5760043561088781610701565b61088f611e88565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff161561094557506001546001600160a01b039182169181168214610670576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020612eef83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346102da5760203660031901126102da576004355f526003602052602061098c60405f206121eb565b604051908152f35b9181601f840112156102da578235916001600160401b0383116102da57602083818601950101116102da57565b346102da5760203660031901126102da576001600160401b036004358181116102da576109f2903690600401610994565b5f80516020612f0f833981519152549260ff8460401c1615931680159081610af1575b6001149081610ae7575b159081610ade575b50610acc575f80516020612f0f833981519152805467ffffffffffffffff19166001179055610a5a9183610aa857612264565b610a6057005b5f80516020612f0f833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020612f0f833981519152805460ff60401b1916600160401b179055612264565b60405163f92ee8a960e01b8152600490fd5b9050155f610a27565b303b159150610a1f565b849150610a15565b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da576020604051614e208152f35b346102da575f3660031901126102da576004546040516001600160a01b039091168152602090f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610bb057604052565b610b81565b606081019081106001600160401b03821117610bb057604052565b608081019081106001600160401b03821117610bb057604052565b90601f801991011681019081106001600160401b03821117610bb057604052565b60405190610c1982610bb5565b565b60405190610c1982610b95565b6001600160401b038111610bb057601f01601f191660200190565b81601f820112156102da57803590610c5a82610c28565b92610c686040519485610beb565b828452602083830101116102da57815f926020809301838601378301015290565b346102da5760603660031901126102da57610ca2610432565b6044356001600160401b0381116102da57602091610cc761098c923690600401610c43565b906004355f526003845260405f206123cb565b346102da575f3660031901126102da5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b346102da575f3660031901126102da576001546040516001600160a01b039091168152602090f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da57602060ff610e4f602435610e2181610701565b6004355f525f80516020612ecf833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da57600435610ebc81610701565b6024356001600160401b0381116102da575f91610ede83923690600401610994565b90816040519283928337810184815203915af4610f2b610efc61164d565b91610f1d604051938492151560208401526040808401526060830190610712565b03601f198101835282610beb565b805190602001fd5b346102da575f3660031901126102da5760206040515f8152f35b346102da575f3660031901126102da5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760203660031901126102da576004355f526002602052602060405f2054604051908152f35b346102da5760403660031901126102da5761066e60243560043561102182610701565b805f525f80516020612ecf833981519152602052611045600160405f200154611bf0565b612159565b346102da5760603660031901126102da5761078b61077760043561106d81610701565b61107561045c565b90602435906116ae565b346102da5760803660031901126102da5760243561109c81610701565b6110a461045c565b90606435906001600160401b0382116102da576020926110cb61098c933690600401610c43565b91600435611863565b346102da5760a03660031901126102da576024356004356110f482610701565b60443591611100610447565b90608435906001600160401b0382116102da5761112260049236908401610c43565b61112a611e88565b5f5460209061114f90611143906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156106c3575f9361128e575b506001600160a01b03928316330361127c576001546001600160a01b03168381166111f1575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361066e60015f80516020612eef83398151915255565b9093604051946112288661121a602082019363724ab0f760e11b8552858c898d602487016119ed565b03601f198101885287610beb565b62042e305a1061126a575f6111d8938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093611197565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6112b191935060203d6020116112b8575b6112a98183610beb565b8101906113ed565b915f611171565b503d61129f565b346102da575f3660031901126102da575f546040516001600160a01b039091168152602090f35b346102da5760403660031901126102da57602061098c60243561130881610701565b600435611a6a565b346102da575f3660031901126102da5760206040516203d0908152f35b346102da575f3660031901126102da57602060405160018152f35b519081151582036102da57565b908160209103126102da5761136990611348565b90565b6040513d5f823e3d90fd5b81601f820112156102da5780519061138e82610c28565b9261139c6040519485610beb565b828452602083830101116102da57815f9260208093018386015e8301015290565b906020828203126102da5781516001600160401b0381116102da576113699201611377565b5190610c1982610701565b908160209103126102da575161136981610701565b9061136991602081526114218251606060208401526080830190610712565b9060606040611441602086015194601f1995868683030184870152610712565b9401519282850301910152610712565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052938416604482015265ffffffffffff8516606482015260609594909391925f856084817f000000000000000000000000000000000000000000000000000000000000000087165afa9485156106c3575f9561161b575b5060405163fbfa77cf60e01b81526020816004818888165afa9081156106c357611537945f92859284916115fc575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff90921660248301529094859190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9283156106c3575f936115d6575b5061157692936116ae565b908251158015906115cc575b80156115c2575b61159257505050565b610f1d9394509061136992916115a6610c0c565b9283526020830152604082015260405192839160208301611402565b5081511515611589565b5080511515611582565b61157693506115f6903d805f833e6115ee8183610beb565b8101906113bd565b9261156b565b611615915060203d6020116112b8576112a98183610beb565b5f6114fa565b6116309195503d805f833e6115ee8183610beb565b935f6114cb565b9061136992915f52600360205260405f206123cb565b3d15611677573d9061165e82610c28565b9161166c6040519384610beb565b82523d5f602084013e565b606090565b519063ffffffff821682036102da57565b91908260409103126102da5761136960206116a784611348565b930161167c565b92915f8060609565ffffffffffff60405194602096630cbd53f560e11b888801526024870152166044850152604484526116e784610bd0565b604051938461171487820192639f86fd8560e01b8452306024840152604060448401526064830190610712565b0394611728601f1996878101835282610beb565b51915afa5061174661173861164d565b8380825183010191016124a3565b90156117995780838061175e9351830101910161168d565b929061176957505050565b6113699293945061178d604051948592830191909163ffffffff6020820193169052565b03908101835282610beb565b809150519182156102da5701fd5b604051906117b482610b95565b60606020838281520152565b906020828203126102da5781516001600160401b03928382116102da5701906040828203126102da57604051926117f684610b95565b82518181116102da578261180b918501611377565b845260208301519081116102da576118239201611377565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261136992910190610712565b92611873909291928284866125ac565b92909361187e6117a7565b938051806119d1575b5050841593841561193b575b84156118aa575b505050506118a55790565b505f90565b6020809495506118d5910151604051958694859463530e1d4360e01b865260601c906004860161182b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106c3575f9161191c575b50155f80808061189a565b611935915060203d6020116106bc576106ae8183610beb565b5f611911565b5f549094506001600160a01b031660208486519261196e604051948593849363530e1d4360e01b8552896004860161182b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106c3575f916119b2575b501593611893565b6119cb915060203d6020116106bc576106ae8183610beb565b5f6119aa565b6119e59295506020809183010191016117c0565b925f80611887565b919360a093611369969565ffffffffffff938552600180871b0316602085015260408401521660608201528160808201520190610712565b634e487b7160e01b5f52601160045260245ffd5b8115611a43570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611a6557565b611a25565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156106c3575f91611b77575b5015918215611af3575b50509050611aed57611369916126a7565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156106c3575f92611b5a575b505015805f80611adc565b611b709250803d106106bc576106ae8183610beb565b5f80611b4f565b611b8e9150843d86116106bc576106ae8183610beb565b5f611ad2565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b5416156109455750565b5f8181525f80516020612ecf83398151915260209081526040808320338452909152902060ff90611be6565b634e487b7160e01b5f52603260045260245ffd5b8054821015611c45575f5260205f2001905f90565b611c1c565b90815491600160401b831015610bb05782611c6d916001610c1995018155611c30565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611a6557565b90929192600182019081548015611d25575b5084611cb08461275d565b50949092845493611cc0836121eb565b9681611d10575b5015611ced575050505f198101908111611a6557611c6d8591611ce993611c30565b9190565b611ce9949293611d09926001600160d01b039091169190612dc3565b5050611c4a565b65ffffffffffff83811691161490505f611cc7565b600160401b811015610bb057806001611d419201845583611c30565b8154905f199060031b1b191690555f611ca5565b90604051611d6281610b95565b915465ffffffffffff8116835260301c6020830152565b91908254905f829160058411611e21575b611d959350856128c1565b908115611e1557611e0e611e05611dff611df5611dc7611dc2611db788611c85565b895f5260205f200190565b611d55565b966001611dee6020611ddf8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611c30565b90549060031b1c90565b93611c85565b63ffffffff1690565b6001939291565b5f925082915081908190565b9192611e2c81612796565b8103908111611a6557611d9593865f52611e60611e558360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015611e76575091611d8a565b929150611e8290611a57565b90611d8a565b5f80516020612eef8339815191526002815414611ea55760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f2081611ece8261275d565b919390508315611f2c57611eee916001600160d01b031690600101611c30565b90549060031b1c5b82611f22575b5050611f06575050565b611f1e915f52600360205260405f2061036f4261272b565b5050565b119050815f611efc565b50505f611ef6565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020612ecf8339815191529060ff16611aed575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020612ecf8339815191529060ff905b54166120ae575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f80516020612ecf8339815191529060ff9061204a565b5f8181525f80516020612ecf833981519152602081815260408084206001600160a01b038716855290915290912060ff9061204a565b5f8181525f80516020612ecf833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156120ae575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b80548061221057505f5b6001600160d01b03811615611aed576001611df59201611c30565b5f19908082810111611a6557825f5260205f2001015460301c6121f5565b9190916040818403126102da57803561224681610701565b9260208201356001600160401b0381116102da576113699201610c43565b6122709181019061222e565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156106c3575f91612383575b50156123715761230560409161230061234b946122e5612923565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612a8f565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612361575b5001516001600160a01b031690565b9081166123555750565b61235e90611fdf565b50565b61236a90611f34565b505f61233c565b6040516362df054560e01b8152600490fd5b61239c915060203d6020116106bc576106ae8183610beb565b5f6122ca565b908160209103126102da576113699061167c565b90600163ffffffff80931601918211611a6557565b9180511561249957806020806123e6935183010191016123a2565b916123f18382612d00565b92612402845165ffffffffffff1690565b9065ffffffffffff808516921682811461248d5782119182612438575b505061242f576113699250612c30565b50506020015190565b9091506124458354611c85565b63ffffffff83161491821561245e575b50505f8061241f565b612485919250612479612473611e55926123b6565b85612d00565b5165ffffffffffff1690565b115f80612455565b50505050506020015190565b5061136991612c30565b9190916040818403126102da576124b981611348565b9260208201516001600160401b0381116102da576113699201611377565b604051906124e482610bb5565b60606040838281528260208201520152565b906020828203126102da5781516001600160401b03928382116102da5701906060828203126102da576040519261252c84610bb5565b82518181116102da5782612541918501611377565b845260208301518181116102da578261255b918501611377565b602085015260408301519081116102da576125769201611377565b604082015290565b908160209103126102da575190565b60409065ffffffffffff61136994931681528160208201520190610712565b909392936125b86124d7565b9480518061268b575b50506004546001600160a01b03918216911603612683575f546126189291906020906125f790611143906001600160a01b031681565b8187015190604051808097819463810da75d60e01b8352886004840161258d565b03915afa9081156106c35761264b935f92612650575b5061263f9192604087015191611637565b90818082109118021890565b915190565b61263f92506126769060203d60201161267c575b61266e8183610beb565b81019061257e565b9161262e565b503d612664565b505090515f91565b61269f9296506020809183010191016124f6565b935f806125c1565b6004546001600160a01b039290831690831603611aed5760206004925f54166040519384809263bd49c35f60e01b82525afa9182156106c3575f92612702575b506126fd61263f915f52600360205260405f2090565b6121eb565b61263f9192506127236126fd9160203d60201161267c5761266e8183610beb565b9291506126e7565b65ffffffffffff9081811161273e571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b80548061276e5750505f905f905f90565b5f19918183810111611a65575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561136957600181600160801b8110156128af575b61285761284d61284361283961282f61282561286397600488600160401b61285e9a10156128a2575b640100000000811015612895575b62010000811015612888575b61010081101561287c575b6010811015612870575b1015612868575b60030260011c61281e818b611a39565b0160011c90565b61281e818a611a39565b61281e8189611a39565b61281e8188611a39565b61281e8187611a39565b61281e8186611a39565b8093611a39565b821190565b900390565b60011b61280e565b811c9160021b91612807565b60081c91811b916127fd565b60101c9160081b916127f2565b60201c9160101b916127e6565b60401c9160201b916127d8565b50600160401b9050608082901c6127af565b91905b8382106128d15750505090565b909192808316906001818518811c8301809311611a6557855f5265ffffffffffff808460205f20015416908516105f14612910575050925b91906128c4565b909493508101809111611a655791612909565b61292b612ea0565b612933612ea0565b60015f80516020612eef83398151915255565b6040519061295382610bb5565b5f6040838281528260208201520152565b81601f820112156102da578051916020916001600160401b038411610bb0578360051b906040519461299885840187610beb565b855283808601928201019283116102da578301905b8282106129bb575050505090565b83809183516129c981610701565b8152019101906129ad565b6020818303126102da5780516001600160401b03918282116102da5701918281039260a084126102da57606060405194612a0d86610bb5565b126102da57604051612a1e81610bb5565b8151612a2981610701565b81526020820151612a3981610701565b60208201526040820151612a4c81610701565b6040820152845260608101519283116102da57612a70608092612576948301612964565b6020850152016113e2565b8051821015611c455760209160051b010190565b612a97612946565b50612aad815191602080809483010191016129d4565b8051516001600160a01b0393919084161580612c24575b612c12576040818101805182516302910f8b60e31b81526001600160a01b0390911660048083019190915296929491928690829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106c3575f91612bf5575b5015612be35791938401915f5b83518051821015612bb257611143612b5783612b6493612a7b565b516001600160a01b031690565b15612ba257612b86612b82612b7d612b57848851612a7b565b6120b5565b1590565b612b9257600101612b3c565b8451635140fefd60e11b81528790fd5b84516323cda06760e01b81528790fd5b50509051600480546001600160a01b0319166001600160a01b039092169190911790559350612bdf915050565b5190565b604051631f0853c160e21b8152600490fd5b612c0c9150863d88116106bc576106ae8183610beb565b5f612b2f565b6040516303501f5960e11b8152600490fd5b50828101515115612ac4565b908154905f829160058411612c9a575b612c4b9350846128c1565b80612c7357505f905b6001600160d01b03821615611aed57611369916001611df59201611c30565b612c8d612c82612c9492611c85565b835f5260205f200190565b5460301c90565b90612c54565b9192612ca581612796565b8103908111611a6557612c4b93855f5265ffffffffffff808360205f20015416908516105f14612cd6575091612c40565b929150612ce290611a57565b90612c40565b60405190612cf582610b95565b5f6020838281520152565b90612d29612d23612d4a92612d13612ce8565b50612d1c612ce8565b5084611c30565b50611d55565b91600165ffffffffffff845116936020828060d01b03910151169101611c30565b90549060405192612d5a84610b95565b835260031b1c602082015290565b8054600160401b811015610bb057612d8591600182018155611c30565b612db057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015612e7657612dda612de591611c85565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411612e6457879303612e2b5750612e2492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050612e5f91612e4b612e3d610c1b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612d68565b612e24565b604051632520601d60e01b8152600490fd5b5090612e9b91612e87612e3d610c1b565b6001600160d01b0385166020830152612d68565b5f9190565b60ff5f80516020612f0f8339815191525460401c1615612ebc57565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122001234d11bd31f1e4a2b60a7eec5ad2899ab1230e73d3d5f2aab566a8d4ef5db464736f6c63430008190033","sourceMap":"11341:2257:92:-:0;;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:93;;332:21;;8837:64:26;11341:2257:92;;;;;;;;;7896:76:26;;11341:2257:92;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:80;;;-1:-1:-1;525:17:80;;-1:-1:-1;552:12:80;;-1:-1:-1;2360:34:87;;2404:28;;-1:-1:-1;2404:28:87;;2442:57;;-1:-1:-1;2442:57:87;;2509:61;-1:-1:-1;2509:61:87;;1716:36:91;;-1:-1:-1;1716:36:91;;11845:41:92;;;;11896:24;;;;11930:40;;;;11341:2257;;;;;;;;332:21:93;11341:2257:92;;;;;525:17:80;11341:2257:92;;;;;552:12:80;11341:2257:92;;;;;2360:34:87;11341:2257:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;11341:2257:92;;;;;;;;;;;;;8087:29:26;;11341:2257:92;;8087:29:26;7981:146;;;;;7896:76;11341:2257:92;;-1:-1:-1;;;7938:23:26;;;;;11341:2257:92;-1:-1:-1;11341:2257:92;;;;;;-1:-1:-1;11341:2257:92;;;;;-1:-1:-1;11341:2257:92;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610284578063021453481461027f578063103f29071461027a578063128e5d8214610275578063197aa7ea146102705780631a80e5001461026b57806323f752d514610266578063248a9ca31461026157806325dc97081461025c5780632dd31000146102575780632f2ff15d1461025257806336568abe1461024d5780633dfd3873146102485780633eb22c0f14610243578063439fab911461023e57806345e78fcb14610239578063557cab4414610234578063570ca7351461022f5780635d32a1c91461022a5780636679191e1461022557806379d89614146102205780637d24bb271461021b5780637f5a7c7b1461021657806383ce03221461021157806391d148541461020c5780639b656b22146102075780639f86fd8514610202578063a217fddf146101fd578063bb24fe8a146101f8578063c0cd7c3e146101f3578063d15b740e146101ee578063d547741f146101e9578063da749d2b146101e4578063e02f6937146101df578063e49561ee146101da578063fbfa77cf146101d5578063fd4d447c146101d0578063ff54740f146101cb5763ffa1ad74146101c6575f80fd5b61132d565b611310565b6112e6565b6112bf565b6110d4565b61107f565b61104a565b610ffe565b610fd4565b610f90565b610f4d565b610f33565b610e9f565b610e5b565b610dfd565b610db9565b610d91565b610d58565b610d14565b610cda565b610c89565b610b59565b610b3d565b610af9565b6109c1565b610963565b61086a565b61081f565b6107d3565b61078f565b610736565b6106c8565b610542565b6104fe565b610471565b6103ee565b6103aa565b6102de565b346102da5760203660031901126102da5760043563ffffffff60e01b81168091036102da57602090637965db0b60e01b81149081156102c9575b506040519015158152f35b6301ffc9a760e01b1490505f6102be565b5f80fd5b346102da576040806003193601126102da576004359060243590610300611b94565b825f526002602052805f2054821161039a57825f52600360205281610326825f206121eb565b1461038a5781610385916103757e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f94610366875f52600360205260405f2090565b61036f4261272b565b90611c93565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff821682036102da57565b6064359065ffffffffffff821682036102da57565b6044359065ffffffffffff821682036102da57565b346102da5760403660031901126102da5761048a610432565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036104ec5763ffffffff6104d76040926004355f526003602052835f20611d79565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da576004356001600160601b03811681036102da5760243590610572611e88565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106c3575f91610694575b5015610682576001600160601b03166bffffffffffffffffffffffff193360601b161790806105fc835f52600260205260405f2090565b541461067057610655817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c9261063a855f52600260205260405f2090565b556106458185611eb7565b6040519081529081906020820190565b0390a261066e60015f80516020612eef83398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6106b6915060203d6020116106bc575b6106ae8183610beb565b810190611355565b5f6105c5565b503d6106a4565b61136c565b346102da5760203660031901126102da576004355f525f80516020612ecf8339815191526020526020600160405f200154604051908152f35b6001600160a01b038116036102da57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102da5760803660031901126102da5761078b61077760043561075981610701565b60443561076581610701565b61076d610447565b9160243590611451565b604051918291602083526020830190610712565b0390f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da5761066e6024356004356107f682610701565b805f525f80516020612ecf83398151915260205261081a600160405f200154611bf0565b612123565b346102da5760403660031901126102da5760243561083c81610701565b336001600160a01b038216036108585761066e90600435612159565b60405163334bd91960e11b8152600490fd5b346102da5760203660031901126102da5760043561088781610701565b61088f611e88565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff161561094557506001546001600160a01b039182169181168214610670576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020612eef83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346102da5760203660031901126102da576004355f526003602052602061098c60405f206121eb565b604051908152f35b9181601f840112156102da578235916001600160401b0383116102da57602083818601950101116102da57565b346102da5760203660031901126102da576001600160401b036004358181116102da576109f2903690600401610994565b5f80516020612f0f833981519152549260ff8460401c1615931680159081610af1575b6001149081610ae7575b159081610ade575b50610acc575f80516020612f0f833981519152805467ffffffffffffffff19166001179055610a5a9183610aa857612264565b610a6057005b5f80516020612f0f833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020612f0f833981519152805460ff60401b1916600160401b179055612264565b60405163f92ee8a960e01b8152600490fd5b9050155f610a27565b303b159150610a1f565b849150610a15565b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da576020604051614e208152f35b346102da575f3660031901126102da576004546040516001600160a01b039091168152602090f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610bb057604052565b610b81565b606081019081106001600160401b03821117610bb057604052565b608081019081106001600160401b03821117610bb057604052565b90601f801991011681019081106001600160401b03821117610bb057604052565b60405190610c1982610bb5565b565b60405190610c1982610b95565b6001600160401b038111610bb057601f01601f191660200190565b81601f820112156102da57803590610c5a82610c28565b92610c686040519485610beb565b828452602083830101116102da57815f926020809301838601378301015290565b346102da5760603660031901126102da57610ca2610432565b6044356001600160401b0381116102da57602091610cc761098c923690600401610c43565b906004355f526003845260405f206123cb565b346102da575f3660031901126102da5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b346102da575f3660031901126102da576001546040516001600160a01b039091168152602090f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da57602060ff610e4f602435610e2181610701565b6004355f525f80516020612ecf833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da57600435610ebc81610701565b6024356001600160401b0381116102da575f91610ede83923690600401610994565b90816040519283928337810184815203915af4610f2b610efc61164d565b91610f1d604051938492151560208401526040808401526060830190610712565b03601f198101835282610beb565b805190602001fd5b346102da575f3660031901126102da5760206040515f8152f35b346102da575f3660031901126102da5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760203660031901126102da576004355f526002602052602060405f2054604051908152f35b346102da5760403660031901126102da5761066e60243560043561102182610701565b805f525f80516020612ecf833981519152602052611045600160405f200154611bf0565b612159565b346102da5760603660031901126102da5761078b61077760043561106d81610701565b61107561045c565b90602435906116ae565b346102da5760803660031901126102da5760243561109c81610701565b6110a461045c565b90606435906001600160401b0382116102da576020926110cb61098c933690600401610c43565b91600435611863565b346102da5760a03660031901126102da576024356004356110f482610701565b60443591611100610447565b90608435906001600160401b0382116102da5761112260049236908401610c43565b61112a611e88565b5f5460209061114f90611143906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156106c3575f9361128e575b506001600160a01b03928316330361127c576001546001600160a01b03168381166111f1575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361066e60015f80516020612eef83398151915255565b9093604051946112288661121a602082019363724ab0f760e11b8552858c898d602487016119ed565b03601f198101885287610beb565b62042e305a1061126a575f6111d8938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093611197565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6112b191935060203d6020116112b8575b6112a98183610beb565b8101906113ed565b915f611171565b503d61129f565b346102da575f3660031901126102da575f546040516001600160a01b039091168152602090f35b346102da5760403660031901126102da57602061098c60243561130881610701565b600435611a6a565b346102da575f3660031901126102da5760206040516203d0908152f35b346102da575f3660031901126102da57602060405160018152f35b519081151582036102da57565b908160209103126102da5761136990611348565b90565b6040513d5f823e3d90fd5b81601f820112156102da5780519061138e82610c28565b9261139c6040519485610beb565b828452602083830101116102da57815f9260208093018386015e8301015290565b906020828203126102da5781516001600160401b0381116102da576113699201611377565b5190610c1982610701565b908160209103126102da575161136981610701565b9061136991602081526114218251606060208401526080830190610712565b9060606040611441602086015194601f1995868683030184870152610712565b9401519282850301910152610712565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052938416604482015265ffffffffffff8516606482015260609594909391925f856084817f000000000000000000000000000000000000000000000000000000000000000087165afa9485156106c3575f9561161b575b5060405163fbfa77cf60e01b81526020816004818888165afa9081156106c357611537945f92859284916115fc575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff90921660248301529094859190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9283156106c3575f936115d6575b5061157692936116ae565b908251158015906115cc575b80156115c2575b61159257505050565b610f1d9394509061136992916115a6610c0c565b9283526020830152604082015260405192839160208301611402565b5081511515611589565b5080511515611582565b61157693506115f6903d805f833e6115ee8183610beb565b8101906113bd565b9261156b565b611615915060203d6020116112b8576112a98183610beb565b5f6114fa565b6116309195503d805f833e6115ee8183610beb565b935f6114cb565b9061136992915f52600360205260405f206123cb565b3d15611677573d9061165e82610c28565b9161166c6040519384610beb565b82523d5f602084013e565b606090565b519063ffffffff821682036102da57565b91908260409103126102da5761136960206116a784611348565b930161167c565b92915f8060609565ffffffffffff60405194602096630cbd53f560e11b888801526024870152166044850152604484526116e784610bd0565b604051938461171487820192639f86fd8560e01b8452306024840152604060448401526064830190610712565b0394611728601f1996878101835282610beb565b51915afa5061174661173861164d565b8380825183010191016124a3565b90156117995780838061175e9351830101910161168d565b929061176957505050565b6113699293945061178d604051948592830191909163ffffffff6020820193169052565b03908101835282610beb565b809150519182156102da5701fd5b604051906117b482610b95565b60606020838281520152565b906020828203126102da5781516001600160401b03928382116102da5701906040828203126102da57604051926117f684610b95565b82518181116102da578261180b918501611377565b845260208301519081116102da576118239201611377565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261136992910190610712565b92611873909291928284866125ac565b92909361187e6117a7565b938051806119d1575b5050841593841561193b575b84156118aa575b505050506118a55790565b505f90565b6020809495506118d5910151604051958694859463530e1d4360e01b865260601c906004860161182b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106c3575f9161191c575b50155f80808061189a565b611935915060203d6020116106bc576106ae8183610beb565b5f611911565b5f549094506001600160a01b031660208486519261196e604051948593849363530e1d4360e01b8552896004860161182b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106c3575f916119b2575b501593611893565b6119cb915060203d6020116106bc576106ae8183610beb565b5f6119aa565b6119e59295506020809183010191016117c0565b925f80611887565b919360a093611369969565ffffffffffff938552600180871b0316602085015260408401521660608201528160808201520190610712565b634e487b7160e01b5f52601160045260245ffd5b8115611a43570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611a6557565b611a25565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156106c3575f91611b77575b5015918215611af3575b50509050611aed57611369916126a7565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156106c3575f92611b5a575b505015805f80611adc565b611b709250803d106106bc576106ae8183610beb565b5f80611b4f565b611b8e9150843d86116106bc576106ae8183610beb565b5f611ad2565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b5416156109455750565b5f8181525f80516020612ecf83398151915260209081526040808320338452909152902060ff90611be6565b634e487b7160e01b5f52603260045260245ffd5b8054821015611c45575f5260205f2001905f90565b611c1c565b90815491600160401b831015610bb05782611c6d916001610c1995018155611c30565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611a6557565b90929192600182019081548015611d25575b5084611cb08461275d565b50949092845493611cc0836121eb565b9681611d10575b5015611ced575050505f198101908111611a6557611c6d8591611ce993611c30565b9190565b611ce9949293611d09926001600160d01b039091169190612dc3565b5050611c4a565b65ffffffffffff83811691161490505f611cc7565b600160401b811015610bb057806001611d419201845583611c30565b8154905f199060031b1b191690555f611ca5565b90604051611d6281610b95565b915465ffffffffffff8116835260301c6020830152565b91908254905f829160058411611e21575b611d959350856128c1565b908115611e1557611e0e611e05611dff611df5611dc7611dc2611db788611c85565b895f5260205f200190565b611d55565b966001611dee6020611ddf8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611c30565b90549060031b1c90565b93611c85565b63ffffffff1690565b6001939291565b5f925082915081908190565b9192611e2c81612796565b8103908111611a6557611d9593865f52611e60611e558360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015611e76575091611d8a565b929150611e8290611a57565b90611d8a565b5f80516020612eef8339815191526002815414611ea55760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f2081611ece8261275d565b919390508315611f2c57611eee916001600160d01b031690600101611c30565b90549060031b1c5b82611f22575b5050611f06575050565b611f1e915f52600360205260405f2061036f4261272b565b5050565b119050815f611efc565b50505f611ef6565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020612ecf8339815191529060ff16611aed575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020612ecf8339815191529060ff905b54166120ae575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f80516020612ecf8339815191529060ff9061204a565b5f8181525f80516020612ecf833981519152602081815260408084206001600160a01b038716855290915290912060ff9061204a565b5f8181525f80516020612ecf833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156120ae575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b80548061221057505f5b6001600160d01b03811615611aed576001611df59201611c30565b5f19908082810111611a6557825f5260205f2001015460301c6121f5565b9190916040818403126102da57803561224681610701565b9260208201356001600160401b0381116102da576113699201610c43565b6122709181019061222e565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156106c3575f91612383575b50156123715761230560409161230061234b946122e5612923565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612a8f565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612361575b5001516001600160a01b031690565b9081166123555750565b61235e90611fdf565b50565b61236a90611f34565b505f61233c565b6040516362df054560e01b8152600490fd5b61239c915060203d6020116106bc576106ae8183610beb565b5f6122ca565b908160209103126102da576113699061167c565b90600163ffffffff80931601918211611a6557565b9180511561249957806020806123e6935183010191016123a2565b916123f18382612d00565b92612402845165ffffffffffff1690565b9065ffffffffffff808516921682811461248d5782119182612438575b505061242f576113699250612c30565b50506020015190565b9091506124458354611c85565b63ffffffff83161491821561245e575b50505f8061241f565b612485919250612479612473611e55926123b6565b85612d00565b5165ffffffffffff1690565b115f80612455565b50505050506020015190565b5061136991612c30565b9190916040818403126102da576124b981611348565b9260208201516001600160401b0381116102da576113699201611377565b604051906124e482610bb5565b60606040838281528260208201520152565b906020828203126102da5781516001600160401b03928382116102da5701906060828203126102da576040519261252c84610bb5565b82518181116102da5782612541918501611377565b845260208301518181116102da578261255b918501611377565b602085015260408301519081116102da576125769201611377565b604082015290565b908160209103126102da575190565b60409065ffffffffffff61136994931681528160208201520190610712565b909392936125b86124d7565b9480518061268b575b50506004546001600160a01b03918216911603612683575f546126189291906020906125f790611143906001600160a01b031681565b8187015190604051808097819463810da75d60e01b8352886004840161258d565b03915afa9081156106c35761264b935f92612650575b5061263f9192604087015191611637565b90818082109118021890565b915190565b61263f92506126769060203d60201161267c575b61266e8183610beb565b81019061257e565b9161262e565b503d612664565b505090515f91565b61269f9296506020809183010191016124f6565b935f806125c1565b6004546001600160a01b039290831690831603611aed5760206004925f54166040519384809263bd49c35f60e01b82525afa9182156106c3575f92612702575b506126fd61263f915f52600360205260405f2090565b6121eb565b61263f9192506127236126fd9160203d60201161267c5761266e8183610beb565b9291506126e7565b65ffffffffffff9081811161273e571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b80548061276e5750505f905f905f90565b5f19918183810111611a65575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561136957600181600160801b8110156128af575b61285761284d61284361283961282f61282561286397600488600160401b61285e9a10156128a2575b640100000000811015612895575b62010000811015612888575b61010081101561287c575b6010811015612870575b1015612868575b60030260011c61281e818b611a39565b0160011c90565b61281e818a611a39565b61281e8189611a39565b61281e8188611a39565b61281e8187611a39565b61281e8186611a39565b8093611a39565b821190565b900390565b60011b61280e565b811c9160021b91612807565b60081c91811b916127fd565b60101c9160081b916127f2565b60201c9160101b916127e6565b60401c9160201b916127d8565b50600160401b9050608082901c6127af565b91905b8382106128d15750505090565b909192808316906001818518811c8301809311611a6557855f5265ffffffffffff808460205f20015416908516105f14612910575050925b91906128c4565b909493508101809111611a655791612909565b61292b612ea0565b612933612ea0565b60015f80516020612eef83398151915255565b6040519061295382610bb5565b5f6040838281528260208201520152565b81601f820112156102da578051916020916001600160401b038411610bb0578360051b906040519461299885840187610beb565b855283808601928201019283116102da578301905b8282106129bb575050505090565b83809183516129c981610701565b8152019101906129ad565b6020818303126102da5780516001600160401b03918282116102da5701918281039260a084126102da57606060405194612a0d86610bb5565b126102da57604051612a1e81610bb5565b8151612a2981610701565b81526020820151612a3981610701565b60208201526040820151612a4c81610701565b6040820152845260608101519283116102da57612a70608092612576948301612964565b6020850152016113e2565b8051821015611c455760209160051b010190565b612a97612946565b50612aad815191602080809483010191016129d4565b8051516001600160a01b0393919084161580612c24575b612c12576040818101805182516302910f8b60e31b81526001600160a01b0390911660048083019190915296929491928690829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106c3575f91612bf5575b5015612be35791938401915f5b83518051821015612bb257611143612b5783612b6493612a7b565b516001600160a01b031690565b15612ba257612b86612b82612b7d612b57848851612a7b565b6120b5565b1590565b612b9257600101612b3c565b8451635140fefd60e11b81528790fd5b84516323cda06760e01b81528790fd5b50509051600480546001600160a01b0319166001600160a01b039092169190911790559350612bdf915050565b5190565b604051631f0853c160e21b8152600490fd5b612c0c9150863d88116106bc576106ae8183610beb565b5f612b2f565b6040516303501f5960e11b8152600490fd5b50828101515115612ac4565b908154905f829160058411612c9a575b612c4b9350846128c1565b80612c7357505f905b6001600160d01b03821615611aed57611369916001611df59201611c30565b612c8d612c82612c9492611c85565b835f5260205f200190565b5460301c90565b90612c54565b9192612ca581612796565b8103908111611a6557612c4b93855f5265ffffffffffff808360205f20015416908516105f14612cd6575091612c40565b929150612ce290611a57565b90612c40565b60405190612cf582610b95565b5f6020838281520152565b90612d29612d23612d4a92612d13612ce8565b50612d1c612ce8565b5084611c30565b50611d55565b91600165ffffffffffff845116936020828060d01b03910151169101611c30565b90549060405192612d5a84610b95565b835260031b1c602082015290565b8054600160401b811015610bb057612d8591600182018155611c30565b612db057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015612e7657612dda612de591611c85565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411612e6457879303612e2b5750612e2492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050612e5f91612e4b612e3d610c1b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612d68565b612e24565b604051632520601d60e01b8152600490fd5b5090612e9b91612e87612e3d610c1b565b6001600160d01b0385166020830152612d68565b5f9190565b60ff5f80516020612f0f8339815191525460401c1615612ebc57565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122001234d11bd31f1e4a2b60a7eec5ad2899ab1230e73d3d5f2aab566a8d4ef5db464736f6c63430008190033","sourceMap":"11341:2257:92:-: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;:::-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;11341:2257:92;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;11341:2257:92;-1:-1:-1;11341:2257:92;;;;;;;;;;;;;;;;;;;;3202:4:23;;;:::i;:::-;11341:2257:92;-1:-1:-1;11341:2257:92;2428:15:91;11341:2257:92;;;-1:-1:-1;11341:2257:92;;2419:36:91;;2415:98;;11341:2257:92;-1:-1:-1;11341:2257:92;2193:13:91;11341:2257:92;;;2193:34:91;11341:2257:92;-1:-1:-1;11341:2257:92;2193:34:91;:::i;:::-;2527;2523:84;;2617:25;2689:35;2617:25;:56;2689:35;2617:25;;;11341:2257:92;;2193:13:91;11341:2257:92;;;;;;;2617:25:91;819:34:73;837:15;819:34;:::i;:::-;2617:56:91;;:::i;:::-;-1:-1:-1;;11341:2257:92;;;;;;;;;;;;2689:35:91;;;;11341:2257:92;2523:84:91;11341:2257:92;-1:-1:-1;;;2584:12:91;;11341:2257:92;;2584:12:91;2415:98;11341:2257:92;-1:-1:-1;;;2478:24:91;;11341:2257:92;;2478:24:91;11341:2257:92;;;;;;-1:-1:-1;;11341:2257:92;;;;;;1537:38:87;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;1632:54:87;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;11341:2257:92;435:10:93;:19;431:71;;11341:2257:92;12172:64;11341:2257;;;;-1:-1:-1;11341:2257:92;12172:13;11341:2257;;;-1:-1:-1;11341:2257:92;12172:64;:::i;:::-;11341:2257;;;;;;;;;;;;;;;;;;;431:71:93;11341:2257:92;;-1:-1:-1;;;477:14:93;;11341:2257:92;;477:14:93;11341:2257:92;;;;;;-1:-1:-1;;11341:2257:92;;;;;;1743:56:87;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;3361:103:30;;;:::i;:::-;11341:2257:92;;-1:-1:-1;;;4285:48:87;;4322:10;11341:2257:92;4285:48:87;;11341:2257:92;;;;;-1:-1:-1;;;;;4295:16:87;11341:2257:92;4285:48:87;;;;;;;-1:-1:-1;4285:48:87;;;11341:2257:92;4284:49:87;;4280:99;;-1:-1:-1;;;;;11341:2257:92;-1:-1:-1;;4322:10:87;297:2:99;11341:2257:92;;267:46:99;4459:27:87;;;;11341:2257:92;;4459:15:87;11341:2257:92;;;;;;;4459:27:87;11341:2257:92;4459:37:87;4455:87;;4654:38;4552:27;4654:38;4552:27;;;11341:2257:92;;4459:15:87;11341:2257:92;;;;;;;4552:27:87;11341:2257:92;4631:6:87;;;;:::i;:::-;11341:2257:92;;;;;;;;;;;;;4654:38:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;11341:2257:92;3860:283:30;3426:1;11341:2257:92;4455:87:87;11341:2257:92;;-1:-1:-1;;;4519:12:87;;11341:2257:92;;4519:12:87;4280:99;11341:2257:92;;-1:-1:-1;;;4356:12:87;;11341:2257:92;;4356:12:87;4285:48;;;;11341:2257:92;4285:48:87;11341:2257:92;4285:48:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;11341:2257:92:-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;-1:-1:-1;11341:2257:92;-1:-1:-1;;;;;;;;;;;11341:2257:92;;;4919:24:23;11341:2257:92;-1:-1:-1;11341:2257:92;4919:24:23;11341:2257:92;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;11341:2257:92;;;;;;;;-1:-1:-1;;11341:2257:92;;;;:::o;:::-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;322:32:80;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;5350:25:23;11341:2257:92;;;;;;;:::i;:::-;;-1:-1:-1;11341:2257:92;-1:-1:-1;;;;;;;;;;;11341:2257:92;;3202:4:23;4919:24;11341:2257:92;-1:-1:-1;11341:2257:92;4919:24:23;11341:2257:92;3202:4:23;:::i;:::-;5350:25;:::i;11341:2257:92:-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;11341:2257:92;;6441:34:23;6437:102;;6549:37;11341:2257:92;;;6549:37:23;:::i;6437:102::-;11341:2257:92;;-1:-1:-1;;;6498:30:23;;11341:2257:92;;6498:30:23;11341:2257:92;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;11341:2257:92;;;;;;;;;;1356:26:87;;11341:2257:92;;4468:23:23;4464:108;;-1:-1:-1;4861:4:87;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;;;;;4861:13:87;;4857:63;;-1:-1:-1;;;;;;11341:2257:92;;;4861:4:87;11341:2257:92;4958:14:87;-1:-1:-1;;4958:14:87;4861:4;-1:-1:-1;;;;;;;;;;;11341:2257:92;;4464:108:23;11341:2257:92;;;;4514:47:23;;;;;;966:10:28;11341:2257:92;4514:47:23;;11341:2257:92;;;;;4514:47:23;11341:2257:92;;;;;;-1:-1:-1;;11341:2257:92;;;;;;-1:-1:-1;11341:2257:92;2193:13:91;11341:2257:92;;;2193:34:91;11341:2257:92;-1:-1:-1;11341:2257:92;2193:34:91;:::i;:::-;11341:2257:92;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;11341:2257:92;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;11341:2257:92;;;;;;;4301:16:26;11341:2257:92;;4726:16:26;;:34;;;;11341:2257:92;4805:1:26;4790:16;:50;;;;11341:2257:92;4855:13:26;:30;;;;11341:2257:92;4851:91:26;;;-1:-1:-1;;;;;;;;;;;11341:2257:92;;-1:-1:-1;;11341:2257:92;;;;;718:4:80;;4951:18:26;4979:67;;718:4:80;:::i;:::-;5066:101:26;;11341:2257:92;5066:101:26;-1:-1:-1;;;;;;;;;;;11341:2257:92;;-1:-1:-1;;;;11341:2257:92;;;;;-1:-1:-1;11341:2257:92;;5142:14:26;;11341:2257:92;;5142:14:26;11341:2257:92;4979:67:26;-1:-1:-1;;;;;;;;;;;11341:2257:92;;-1:-1:-1;;;;11341:2257:92;-1:-1:-1;;;11341:2257:92;;;718:4:80;:::i;4851:91:26:-;11341:2257:92;;-1:-1:-1;;;4908:23:26;;11341:2257:92;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;11341:2257:92;;;;;;-1:-1:-1;;11341:2257:92;;;;;;11523:36;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;1253:6:87;11341:2257:92;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;11341:2257:92;;;;;;-1:-1:-1;;11341:2257:92;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;11341:2257:92;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;:::i;:::-;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;1955:60:91;11341:2257:92;;;;;;:::i;:::-;;;;-1:-1:-1;11341:2257:92;1955:13:91;11341:2257:92;;;-1:-1:-1;11341:2257:92;1955:60:91;:::i;11341:2257:92:-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;1356:26:87;11341:2257:92;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;11472:45;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;885:35:91;11341:2257:92;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;989:42:91;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;3901:31:23;11341:2257:92;;;;;:::i;:::-;;;-1:-1:-1;11341:2257:92;-1:-1:-1;;;;;;;;;;;11341:2257:92;;;-1:-1:-1;11341:2257:92;;;;;;;;;;;;;;;;;3901:31:23;11341:2257:92;;;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;11565:45;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;11341:2257:92;;;;-1:-1:-1;11341:2257:92;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;11341:2257:92;;;;;;;;;;477:31:86;;11341:2257:92;;;;;;;;;;;:::i;:::-;477:31:86;11341:2257:92;;477:31:86;;;;;;:::i;:::-;518:79;;;11341:2257:92;518:79:86;;11341:2257:92;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;-1:-1:-1;;;;;404:28:80;11341:2257:92;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;1439:41:87;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;-1:-1:-1;11341:2257:92;2009:67:87;11341:2257:92;;;;-1:-1:-1;11341:2257:92;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;5767:26:23;11341:2257:92;;;;;;;:::i;:::-;;-1:-1:-1;11341:2257:92;-1:-1:-1;;;;;;;;;;;11341:2257:92;;3202:4:23;4919:24;11341:2257:92;-1:-1:-1;11341:2257:92;4919:24:23;11341:2257:92;3202:4:23;:::i;:::-;5767:26;:::i;11341:2257:92:-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;11341:2257:92;;;5246:21:87;;:13;;-1:-1:-1;;;;;11341:2257:92;5246:13:87;11341:2257:92;;-1:-1:-1;;;;;11341:2257:92;;;5246:21:87;11341:2257:92;;-1:-1:-1;;;5246:23:87;;11341:2257:92;;;;;5246:23:87;;;;;;;-1:-1:-1;5246:23:87;;;11341:2257:92;-1:-1:-1;;;;;;11341:2257:92;;;5232:10:87;:37;5228:87;;5341:4;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;;;5355:469:87;;11341:2257:92;-1:-1:-1;;11341:2257:92;;;;;;;;;;;;;;;;5839:55:87;;11341:2257:92;;;;5839:55:87;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;11341:2257:92;3860:283:30;5355:469:87;11341:2257:92;;;;5435:94:87;;;;11341:2257:92;5435:94:87;;;;;;;;;;;;11341:2257:92;5435:94:87;;;:::i;:::-;;11341:2257:92;;5435:94:87;;;;;;:::i;:::-;11341:2257:92;5548:9:87;:51;5544:118;;-1:-1:-1;5839:55:87;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;11341:2257:92;;-1:-1:-1;;;5626:21:87;;11341:2257:92;;5626:21:87;5228:87;11341:2257:92;;-1:-1:-1;;;5292:12:87;;11341:2257:92;;5292:12:87;5246:23;;;;;11341:2257:92;5246:23:87;11341:2257:92;5246:23:87;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;11341:2257:92;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;1150:7:87;11341:2257:92;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;2700:1:87;11341:2257:92;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;11341:2257:92;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;12761:835::-;11341:2257;;-1:-1:-1;;;12978:99:92;;-1:-1:-1;;;;;11341:2257:92;;;12978:99;;;11341:2257;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11341:2257:92;;;12997:20;11341:2257;;12978:99;;;;;;;;;;;12761:835;-1:-1:-1;11341:2257:92;;-1:-1:-1;;;13171:32:92;;;11341:2257;12978:99;11341:2257;;;;13171:32;;;;;;;13131:84;13171:32;12978:99;13171:32;;;;;;;12761:835;-1:-1:-1;11341:2257:92;;-1:-1:-1;;;13131:84:92;;-1:-1:-1;;;;;11341:2257:92;;;12978:99;13131:84;;11341:2257;;;;;;;;;;;;;-1:-1:-1;11341:2257:92;;;;;;;;;13131:84;;13142:11;;11341:2257;13131:84;;;;;;;12978:99;13131:84;;;12761:835;13259:50;;;;;:::i;:::-;11341:2257;;;13324:21;;;:52;;;12761:835;13324:85;;;;12761:835;13320:270;;12761:835;;;:::o;13320:270::-;13432:147;11341:2257;;;;13432:147;11341:2257;;;;:::i;:::-;;;;13171:32;13460:105;;11341:2257;;13460:105;;11341:2257;;;13432:147;;;13171:32;13432:147;;;:::i;13324:85::-;11341:2257;;;13380:29;;13324:85;;:52;11341:2257;;;13349:27;;13324:52;;13131:84;13259:50;13131:84;;;;;;12978:99;13131:84;;;;;;:::i;:::-;;;;;:::i;:::-;;;;13171:32;;;;;;;;;;;;;;:::i;:::-;;;;12978:99;;;;;;;;;;;;;;:::i;:::-;;;;;1827:195:91;;1955:60;1827:195;;-1:-1:-1;11341:2257:92;1955:13:91;11341:2257:92;;;-1:-1:-1;11341:2257:92;1955:60:91;:::i;11341:2257:92:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;11341:2257:92;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;12249:506::-;;;-1:-1:-1;12383:12:92;11341:2257;;;;;12529:96;;;;;;;;;;;;;11341:2257;;;;;;;12529:96;;;;;:::i;:::-;11341:2257;;716:88:93;;11341:2257:92;716:88:93;;;;;;;;;783:4;12529:96:92;716:88:93;;11341:2257:92;;;;;;;;;;;:::i;:::-;716:88:93;11341:2257:92;716:88:93;11341:2257:92;;716:88:93;;;;;;;;:::i;:::-;698:107;;;;;857:45;698:107;;:::i;:::-;11341:2257:92;;;;857:45:93;;;;;;:::i;:::-;916:8;;912:175;;11341:2257:92;;;12437:240;11341:2257;;12437:240;;;;;;:::i;:::-;12688:61;;;;12249:506;;;:::o;12688:61::-;12721:17;11341:2257;;;;12721:17;11341:2257;;12721:17;;;;;11341:2257;;;;;;;;;;;;12721:17;;;;;;;;;:::i;912:175:93:-;11341:2257:92;;;;944:22:93;;;940:36;;990:87;;11341:2257:92;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2764:920:87:-;;2978:48;2764:920;;;;2978:48;;;;:::i;:::-;3036:36;;;11341:2257:92;;:::i;:::-;;;;3086:20:87;3082:107;;2764:920;3216:11;;;;:193;;;;;2764:920;3216:394;;;;2764:920;3199:455;;;;;;2764:920;:::o;3199:455::-;3635:8;-1:-1:-1;3635:8:87;:::o;3216:394::-;3553:39;;;;;3430:180;3553:39;;;11341:2257:92;;;;;;;;;;3430:180:87;;467:2:99;11341:2257:92;3430:180:87;;;;;:::i;:::-;;11341:2257:92;3444:31:87;-1:-1:-1;;;;;11341:2257:92;3430:180:87;;;;;;;-1:-1:-1;3430:180:87;;;3216:394;3429:181;;3216:394;;;;;;3430:180;;;;3553:39;3430:180;3553:39;3430:180;;;;;;;:::i;:::-;;;;3216:193;-1:-1:-1;11341:2257:92;;;-1:-1:-1;;;;;;11341:2257:92;3248:161:87;3354:37;;;11341:2257:92;3248:161:87;11341:2257:92;;;;;;;;;;3248:161:87;;;;;;;:::i;:::-;;11341:2257:92;3262:29:87;-1:-1:-1;;;;;11341:2257:92;3248:161:87;;;;;;;-1:-1:-1;3248:161:87;;;3216:193;3247:162;;3216:193;;;3248:161;;;;;;;;;;;;;;:::i;:::-;;;;3082:107;3139:39;;;;;;;;;;;;;:::i;:::-;3082:107;;;;;11341:2257:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;8889:1:97;11341:2257:92;;;;;;;:::o;:::-;;:::i;3740:389:87:-;3918:5;11341:2257:92;;;-1:-1:-1;;;3853:71:87;;;-1:-1:-1;;;;;11341:2257:92;;;3853:71:87;;;11341:2257:92;;;;;;;;3740:389:87;;11341:2257:92;3853:71:87;;11341:2257:92;;3853:71:87;11341:2257:92;;;3867:29:87;11341:2257:92;;3853:71:87;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;11341:2257:92;;;3852:181:87;;3740:389;3835:242;;;;;;4094:28;;;:::i;3835:242::-;4058:8;;3918:5;4058:8;:::o;3852:181::-;11341:2257:92;;3945:88:87;;;-1:-1:-1;;;;;11341:2257:92;;3853:71:87;3945:88;;11341:2257:92;467:2:99;11341:2257:92;;;;;;;;-1:-1:-1;11341:2257:92;;;;;;;;3959:31:87;11341:2257:92;3945:88:87;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;3945:88;;;;;;-1:-1:-1;3945:88:87;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;4148:103:23;966:10:28;-1:-1:-1;11341:2257:92;;;;;;;;;885:35:91;;11341:2257:92;;3901:31:23;11341:2257:92;;4468:23:23;4464:108;;4148:103;:::o;:::-;-1:-1:-1;11341:2257:92;;;-1:-1:-1;;;;;;;;;;;11341:2257:92;;;;;;;;966:10:28;11341:2257:92;;;;;;;;;3901:31:23;11341:2257:92;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11341:2257:92;;-1:-1:-1;11341:2257:92;;;-1:-1:-1;11341:2257:92;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;;11341:2257:92;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;:::o;6246:584:97:-;;;;;6360:12;;;11341:2257:92;;;6360:24:97;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;11341:2257:92;;;;;;6578:12:97;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;6644:21:97;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;11341:2257:92;;8310:38:71;;-1:-1:-1;;;;;11341:2257:92;;;;;8310:38:71;:::i;:::-;6753:24:97;;;:::i;6604:::-;11341:2257:92;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;11341:2257:92;;;;;;6360:12:97;11341:2257:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:97;;;11341:2257:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:97:-;;;11341:2257:92;;8620:15:97;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;11341:2257:92;9219:31:97;11341:2257:92;9130:48:97;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;11341:2257:92;:::i;:::-;;9176:1:97;11341:2257:92;9232:17:97;11341:2257:92;;;;;;;;9232:17:97;;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;;;9219:12:97;;:31;:::i;:::-;11341:2257:92;;;;;;;;;9259:7:97;;:::i;:::-;11341:2257:92;;;;9252:15:97;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:97;;-1:-1:-1;8578:11:97;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;11341:2257:92;;;;;;;8939:60:97;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;11341:2257:92;;;;;;8759:49:97;11341:2257:92;;;;8753:55:97;11341:2257:92;;;8753:55:97;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;11341:2257:92;;3670:20:30;3666:88;;1991:1;11341:2257:92;;3470:384:30:o;3666:88::-;11341:2257:92;;-1:-1:-1;;;3713:30:30;;;;;3701:308:91;;11341:2257:92;-1:-1:-1;11341:2257:92;3832:13:91;11341:2257:92;;;-1:-1:-1;11341:2257:92;11124:30:97;;;;:::i;:::-;11173;;;-1:-1:-1;11173:30:97;;;;11182:17;;-1:-1:-1;;;;;11341:2257:92;;11182:12:97;;:17;:::i;:::-;11341:2257:92;;;3832:13:91;11341:2257:92;;11173:30:97;3890::91;;;11173::97;3886:117:91;;;;3701:308;;:::o;3886:117::-;3936:56;11341:2257:92;-1:-1:-1;11341:2257:92;3832:13:91;11341:2257:92;;;-1:-1:-1;11341:2257:92;819:34:73;837:15;819:34;:::i;3936:56:91:-;3701:308;;:::o;3890:30::-;3900:20;;-1:-1:-1;3890:30:91;;;;11173::97;;;-1:-1:-1;11173:30:97;;7270:387:23;-1:-1:-1;;;;;11341:2257:92;;-1:-1:-1;11341:2257:92;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;11341:2257:92;;;;-1:-1:-1;11341:2257:92;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;-1:-1:-1;;11341:2257:92;7509:4:23;11341:2257:92;;;966:10:28;;-1:-1:-1;;;;;11341:2257:92;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7270:387::-;-1:-1:-1;;;;;11341:2257:92;;-1:-1:-1;11341:2257:92;;;;;;;;;1356:26:87;;-1:-1:-1;;;;;;;;;;;2887:71:23;11341:2257:92;;3901:31:23;11341:2257:92;;;;-1:-1:-1;11341:2257:92;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;-1:-1:-1;;11341:2257:92;7509:4:23;11341:2257:92;;;966:10:28;;-1:-1:-1;;;;;11341:2257:92;;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;;;;;11341:2257:92;;-1:-1:-1;11341:2257:92;;;;;;;;;885:35:91;;-1:-1:-1;;;;;;;;;;;2887:71:23;11341:2257:92;;3901:31:23;11341:2257:92;7270:387:23;-1:-1:-1;11341:2257:92;;;-1:-1:-1;;;;;;;;;;;11341:2257:92;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;3901:31:23;11341:2257:92;7892:388:23;-1:-1:-1;11341:2257:92;;;-1:-1:-1;;;;;;;;;;;11341:2257:92;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;;-1:-1:-1;11341:2257:92;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;966:10:28;;-1:-1:-1;;;;;11341:2257:92;;8155:40:23;-1:-1:-1;;8155:40:23;11341:2257:92;8209:11:23;:::o;10580:184:97:-;11341:2257:92;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;11341:2257:92;;10726:7:97;11341:2257:92;;10736:12:97;:17;:12;;:17;:::i;10446:63:71:-;11341:2257:92;;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;;-1:-1:-1;13267:109:97;;;11341:2257:92;;;10446:63:71;;11341:2257:92;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;:::i;5907:716:87:-;6030:34;5907:716;6030:34;;;;:::i;:::-;11341:2257:92;;-1:-1:-1;;;6080:41:87;;-1:-1:-1;;;;;11341:2257:92;;;6080:41:87;;;11341:2257:92;;;;;6080:41:87;11341:2257:92;;;6090:13:87;11341:2257:92;;6080:41:87;;;;;;;-1:-1:-1;6080:41:87;;;5907:716;6079:42;;6075:90;;6266:27;11341:2257:92;2684:111:30;6210:14:87;11341:2257:92;2684:111:30;;;:::i;:::-;11341:2257:92;;;;;;-1:-1:-1;;;;;11341:2257:92;;-1:-1:-1;11341:2257:92;;;-1:-1:-1;11341:2257:92;;6210:14:87;6266:27;:::i;:::-;6080:41;6311:15;;11341:2257:92;;;;-1:-1:-1;;;;;;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;6337:143:87;;5907:716;-1:-1:-1;6493:28:87;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;;;;;;6489:128:87;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;11341:2257:92;;-1:-1:-1;;;6144:10:87;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;11341:2257:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:97:-;;11341:2257:92;;7686:17:97;7682:83;;11341:2257:92;7789:27:97;11341:2257:92;7789:27:97;11341:2257:92;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;11341:2257:92;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;11341:2257:92;8075:24:97;:::o;7975:84::-;11341:2257:92;;;8009:16:97;11341:2257:92;;8009:16:97;:::i;:::-;11341:2257:92;;;8001:24:97;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;11341:2257:92;;;;;8029:29:97;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;11341:2257:92;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;11341:2257:92:-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;2737:699:91:-;;;;;11341:2257:92;;:::i;:::-;;;;2978:16:91;2974:92;;2737:699;-1:-1:-1;;3080:8:91;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;;;;3080:21:91;3076:85;;-1:-1:-1;11341:2257:92;3218:67:91;;11341:2257:92;;3257:27:91;;3218;;:13;;-1:-1:-1;;;;;11341:2257:92;3218:13:91;11341:2257:92;3218:27:91;3257;;;;11341:2257:92;;;;;;;;;;;3218:67:91;;;3080:8;3218:67;;;:::i;:::-;;;;;;;;;;3192:192;3218:67;-1:-1:-1;3218:67:91;;;2737:699;3341:28;3303:67;3341:28;;11341:2257:92;3341:28:91;;;3303:67;;:::i;:::-;3192:192;3463:5:68;;;;3066;;11341:2257:92;3060:42:68;3371:111;;3192:192:91;3398:21;;2737:699;:::o;3218:67::-;3303;3218;;;;3257:27;3218:67;3257:27;3218:67;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;3076:85;-1:-1:-1;;3128:21:91;;-1:-1:-1;;3117:33:91:o;2974:92::-;3024:31;;;;;;;;;;;;;:::i;:::-;2974:92;;;;;3442:253;3552:8;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;;;;;;3552:21:91;3548:60;;3634:27;3552:8;11341:2257:92;-1:-1:-1;11341:2257:92;;;;;;;;;;;3634:27:91;;;;;;;;;-1:-1:-1;3634:27:91;;;3442:253;2193:25;;:34;:25;11341:2257:92;;2193:13:91;11341:2257:92;;;;;;;2193:25:91;:34;:::i;3634:27::-;2193:34;3634:27;;;;2193:25;3634:27;;;;;;;;;;;:::i;:::-;;;;;;14296:213:69;11341:2257:92;14374:24:69;;;;14370:103;;11341:2257:92;14296:213:69;:::o;14370:103::-;11341:2257:92;;;;14421:41:69;;;;;;14452:2;14421:41;;;11341:2257:92;;;;;14421:41:69;10695:389:71;11341:2257:92;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;11341:2257:92;;;;;;;;;;10833:17:71;13267:109:97;;10833:17:71;13267:109:97;;;11341:2257:92;11014:1:71;11341:2257:92;;;;;;;11030:37:71;:::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;11341:2257:92;18246:1:68;11341:2257:92;22284:6:68;;;;:::i;:::-;11341:2257:92;;;;;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;;;11341:2257:92;23216:28:68;11341:2257:92;;18080:5181:68;:::o;19887:61::-;18246:1;11341:2257:92;19887:61:68;;19787:87;11341:2257:92;;;;;19787:87:68;;;19687;11341:2257:92;;;;;19687:87:68;;;19585:89;11341:2257:92;;;;;19585:89:68;;;19482:90;11341:2257:92;;;;;19482:90:68;;;19379;11341:2257:92;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;11341:2257:92;-1:-1:-1;11341:2257:92;;;;19274:92:68;;12497:447:97;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:68;;;;;;11341:2257:92;;3731:5:68;;;11341:2257:92;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;11341:2257:92;13267:109:97;;;-1:-1:-1;13267:109:97;;11341:2257:92;;;;;-1:-1:-1;12771:136:97;11341:2257:92;;;12830:10:97;;12771:136;;12687:230;;;;12771:136;11341:2257:92;;;;;;;;;;;12771:136:97;;;6893:76:26;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;11341:2257:92;6893:76:26:o;11341:2257:92:-;;;;;;;:::i;:::-;-1:-1:-1;11341:2257:92;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;4015:918:91:-;11341:2257:92;;:::i;:::-;;4163:30:91;11341:2257:92;;4163:30:91;;;;;;;;;;;:::i;:::-;4208:17;;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;4208:17:91;11341:2257:92;;4208:54:91;;:103;;4015:918;4204:161;;4418:15;;;;11341:2257:92;;;;-1:-1:-1;;;4380:54:91;;-1:-1:-1;;;;;11341:2257:92;;;4380:54:91;;;;11341:2257:92;;;;4380:54:91;4418:15;;;;11341:2257:92;;;;;;;;4390:17:91;11341:2257:92;4380:54:91;;;;;;;4208:17;4380:54;;;4015:918;4379:55;;4375:106;;4496:9;;4511:33;;;4208:17;4553:3;4511:33;;11341:2257:92;;4507:44:91;;;;;4576:36;;;:50;:36;;:::i;:::-;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;;4576:50:91;;4572:119;;4709:73;4710:72;4745:36;;:33;;;:36;:::i;:::-;4710:72;:::i;:::-;4709:73;;11341:2257:92;4709:73:91;4705:140;;11341:2257:92;;4496:9:91;;4705:140;11341:2257:92;;-1:-1:-1;;;4809:21:91;;11341:2257:92;;4809:21:91;4572:119;11341:2257:92;;-1:-1:-1;;;4653:23:91;;11341:2257:92;;4653:23:91;4507:44;-1:-1:-1;;11341:2257:92;;4380:54:91;11341:2257:92;;-1:-1:-1;;;;;;11341:2257:92;-1:-1:-1;;;;;11341:2257:92;;;;;;;;;;-1:-1:-1;4865:26:91;;-1:-1:-1;;11341:2257:92;4865:26:91;4909:17;4015:918;:::o;4375:106::-;4418:15;11341:2257:92;-1:-1:-1;;;4457:13:91;;4380:54;;4457:13;4380:54;;;;;;;;;;;;;;:::i;:::-;;;;4204:161;11341:2257:92;;-1:-1:-1;;;4334:20:91;;;;;4208:103;4266:33;;;;;11341:2257:92;4266:45:91;4208:103;;6999:207:97;;11341:2257:92;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;11341:2257:92;;7168:7:97;11341:2257:92;;;7178:12:97;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:97;;;;;;13089:293;;10135:41:71;11341:2257:92;;;;;10135:48:71;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;11341:2257:92;;;;;;;10049:53:71;13267:109:97;;-1:-1:-1;13267:109:97;11341:2257:92;13267:109:97;;;-1:-1:-1;13267:109:97;;11341:2257:92;;;;;9870:48:71;9866:149;11341:2257:92;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;11341:2257:92;;;;;;;:::i;:::-;-1:-1:-1;11341:2257:92;;;;;;;:::o;11486:272:97:-;;11341:2257:92;11452:22:71;11718:31:97;11486:272;11341:2257:92;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;11341:2257:92;;:::i;:::-;;11718:12:97;11341:2257:92;;;;;11731:17:97;11341:2257:92;;;;;11731:17:97;;11341:2257:92;;11718:12:97;;:31;:::i;:::-;11341:2257:92;;;;;;;;;:::i;:::-;;;;;;11731:17:97;11672:79;;11341:2257:92;11486:272:97;:::o;11341:2257:92:-;;;-1:-1:-1;;;11341:2257:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;11341:2257:92;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;11341:2257:92;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:97;;;;;;13089:293;;11916:28:71;11341:2257:92;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;11341:2257:92;;;;;;;;;;;;;;;;;12285:19:71;11341:2257:92;;12423:25:71;;:::o;12247:163::-;11341:2257:92;;;12343:52:71;11341:2257:92;12353:41:71;11341:2257:92;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;11341:2257:92;;12353:41:71;;;11341:2257:92;12343:52:71;:::i;:::-;12247:163;;12099:89;11341:2257:92;;-1:-1:-1;;;12143:30:71;;;;;11860:713;11341:2257:92;;12479:52:71;11341:2257:92;12489:41:71;11341:2257:92;;:::i;12489:41:71:-;-1:-1:-1;;;;;11341:2257:92;;12489:41:71;;;11341:2257:92;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;7084:141:26:-;11341:2257:92;-1:-1:-1;;;;;;;;;;;11341:2257:92;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;11341:2257:92;;-1:-1:-1;;;7191:17:26;;;;","linkReferences":{},"immutableReferences":{"59800":[{"start":1956,"length":32}],"59803":[{"start":3948,"length":32}],"60754":[{"start":1429,"length":32},{"start":4005,"length":32}],"60757":[{"start":959,"length":32},{"start":8857,"length":32}],"60760":[{"start":1027,"length":32},{"start":6514,"length":32},{"start":6817,"length":32}],"60763":[{"start":1299,"length":32},{"start":6361,"length":32},{"start":6943,"length":32}],"62679":[{"start":3534,"length":32},{"start":11007,"length":32}],"63947":[{"start":3369,"length":32},{"start":5274,"length":32}],"63949":[{"start":2830,"length":32},{"start":5435,"length":32}],"63951":[{"start":3696,"length":32}],"64360":[{"start":1164,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_LIMIT_SET_ROLE()":"7d24bb27","NETWORK_REGISTRY()":"c0cd7c3e","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_REGISTRY()":"83ce0322","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VAULT_HINTS()":"45e78fcb","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","networkLimit(bytes32)":"3eb22c0f","networkLimitAt(bytes32,uint48,bytes)":"5d32a1c9","networkLimitHint(address,bytes32,uint48)":"da749d2b","networkLimitHintInternal(bytes32,uint48)":"197aa7ea","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","operator()":"570ca735","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","setNetworkLimit(bytes32,uint256)":"02145348","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateRoleHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedsMaxNetworkLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoleHolders\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOperator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"ZeroAddressRoleHolder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetNetworkLimit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"networkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"networkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"networkLimit(bytes32)\":{\"params\":{\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"limit of the subnetwork\"}},\"networkLimitAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the subnetwork limit at\"},\"returns\":{\"_0\":\"limit of the subnetwork at the given timestamp\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"setNetworkLimit(bytes32,uint256)\":{\"details\":\"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"amount\":\"new limit of the subnetwork\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"},\"SetNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's limit is set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_LIMIT_SET_ROLE()\":{\"notice\":\"Get a subnetwork limit setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_REGISTRY()\":{\"notice\":\"Get the operator registry's address.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"networkLimit(bytes32)\":{\"notice\":\"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"networkLimitAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork).\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"operator()\":{\"notice\":\"Get an operator managing the vault's funds.\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"setNetworkLimit(bytes32,uint256)\":{\"notice\":\"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"OperatorSpecificDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"},{"internalType":"address","name":"vaultHints","type":"address"},{"internalType":"address","name":"optInServiceHints","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":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DuplicateRoleHolder"},{"inputs":[],"type":"error","name":"ExceedsMaxNetworkLimit"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"MissingRoleHolders"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotOperator"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"ZeroAddressRoleHolder"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetNetworkLimit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"networkLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"networkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"inputs":[],"stateMutability":"view","type":"function","name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"networkLimit(bytes32)":{"params":{"subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"limit of the subnetwork"}},"networkLimitAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the subnetwork limit at"},"returns":{"_0":"limit of the subnetwork at the given timestamp"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"setNetworkLimit(bytes32,uint256)":{"details":"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.","params":{"amount":"new limit of the subnetwork","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_LIMIT_SET_ROLE()":{"notice":"Get a subnetwork limit setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_REGISTRY()":{"notice":"Get the operator registry's address."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"networkLimit(bytes32)":{"notice":"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"networkLimitAt(bytes32,uint48,bytes)":{"notice":"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork)."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"operator()":{"notice":"Get an operator managing the vault's funds."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"setNetworkLimit(bytes32,uint256)":{"notice":"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"OperatorSpecificDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":92} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"},{"name":"vaultHints","type":"address","internalType":"address"},{"name":"optInServiceHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HOOK_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"OPT_IN_SERVICE_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"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":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHint","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"networkLimitHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"setHook","inputs":[{"name":"hook_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxNetworkLimit","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakeAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"stakeHints","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"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":"SetHook","inputs":[{"name":"hook","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMaxNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetNetworkLimit","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","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":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DuplicateRoleHolder","inputs":[]},{"type":"error","name":"ExceedsMaxNetworkLimit","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientHookGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"MissingRoleHolders","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotOperator","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotVault","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":"ZeroAddressRoleHolder","inputs":[]}],"bytecode":{"object":"0x6101e0346101d557601f61316638819003918201601f19168301916001600160401b0391828411858510176101d95781606092869260409687528339810103126101d55761004c836101ed565b926100648361005d602084016101ed565b92016101ed565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101c4578080831603610180575b5050505f60a0525f60c0525f60e052610100935f8552610120935f85526101405f8152610160915f83526101809384526101a09485526101c09586525195612f64978861020289396080518861048c015260a051886107a4015260c05188610f6c015260e0518881816105950152610fa50152518781816103bf0152612299015251868181610403015281816119720152611aa1015251858181610513015281816118d90152611b1f015251848181610dce0152612aff015251838181610d29015261149a015251828181610b0e015261153b01525181610e700152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a2565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101d55756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610284578063021453481461027f578063103f29071461027a578063128e5d8214610275578063197aa7ea146102705780631a80e5001461026b57806323f752d514610266578063248a9ca31461026157806325dc97081461025c5780632dd31000146102575780632f2ff15d1461025257806336568abe1461024d5780633dfd3873146102485780633eb22c0f14610243578063439fab911461023e57806345e78fcb14610239578063557cab4414610234578063570ca7351461022f5780635d32a1c91461022a5780636679191e1461022557806379d89614146102205780637d24bb271461021b5780637f5a7c7b1461021657806383ce03221461021157806391d148541461020c5780639b656b22146102075780639f86fd8514610202578063a217fddf146101fd578063bb24fe8a146101f8578063c0cd7c3e146101f3578063d15b740e146101ee578063d547741f146101e9578063da749d2b146101e4578063e02f6937146101df578063e49561ee146101da578063fbfa77cf146101d5578063fd4d447c146101d0578063ff54740f146101cb5763ffa1ad74146101c6575f80fd5b61132d565b611310565b6112e6565b6112bf565b6110d4565b61107f565b61104a565b610ffe565b610fd4565b610f90565b610f4d565b610f33565b610e9f565b610e5b565b610dfd565b610db9565b610d91565b610d58565b610d14565b610cda565b610c89565b610b59565b610b3d565b610af9565b6109c1565b610963565b61086a565b61081f565b6107d3565b61078f565b610736565b6106c8565b610542565b6104fe565b610471565b6103ee565b6103aa565b6102de565b346102da5760203660031901126102da5760043563ffffffff60e01b81168091036102da57602090637965db0b60e01b81149081156102c9575b506040519015158152f35b6301ffc9a760e01b1490505f6102be565b5f80fd5b346102da576040806003193601126102da576004359060243590610300611b94565b825f526002602052805f2054821161039a57825f52600360205281610326825f206121eb565b1461038a5781610385916103757e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f94610366875f52600360205260405f2090565b61036f4261272b565b90611c93565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff821682036102da57565b6064359065ffffffffffff821682036102da57565b6044359065ffffffffffff821682036102da57565b346102da5760403660031901126102da5761048a610432565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036104ec5763ffffffff6104d76040926004355f526003602052835f20611d79565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da576004356001600160601b03811681036102da5760243590610572611e88565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106c3575f91610694575b5015610682576001600160601b03166bffffffffffffffffffffffff193360601b161790806105fc835f52600260205260405f2090565b541461067057610655817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c9261063a855f52600260205260405f2090565b556106458185611eb7565b6040519081529081906020820190565b0390a261066e60015f80516020612eef83398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6106b6915060203d6020116106bc575b6106ae8183610beb565b810190611355565b5f6105c5565b503d6106a4565b61136c565b346102da5760203660031901126102da576004355f525f80516020612ecf8339815191526020526020600160405f200154604051908152f35b6001600160a01b038116036102da57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102da5760803660031901126102da5761078b61077760043561075981610701565b60443561076581610701565b61076d610447565b9160243590611451565b604051918291602083526020830190610712565b0390f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da5761066e6024356004356107f682610701565b805f525f80516020612ecf83398151915260205261081a600160405f200154611bf0565b612123565b346102da5760403660031901126102da5760243561083c81610701565b336001600160a01b038216036108585761066e90600435612159565b60405163334bd91960e11b8152600490fd5b346102da5760203660031901126102da5760043561088781610701565b61088f611e88565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff161561094557506001546001600160a01b039182169181168214610670576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020612eef83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346102da5760203660031901126102da576004355f526003602052602061098c60405f206121eb565b604051908152f35b9181601f840112156102da578235916001600160401b0383116102da57602083818601950101116102da57565b346102da5760203660031901126102da576001600160401b036004358181116102da576109f2903690600401610994565b5f80516020612f0f833981519152549260ff8460401c1615931680159081610af1575b6001149081610ae7575b159081610ade575b50610acc575f80516020612f0f833981519152805467ffffffffffffffff19166001179055610a5a9183610aa857612264565b610a6057005b5f80516020612f0f833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020612f0f833981519152805460ff60401b1916600160401b179055612264565b60405163f92ee8a960e01b8152600490fd5b9050155f610a27565b303b159150610a1f565b849150610a15565b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da576020604051614e208152f35b346102da575f3660031901126102da576004546040516001600160a01b039091168152602090f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610bb057604052565b610b81565b606081019081106001600160401b03821117610bb057604052565b608081019081106001600160401b03821117610bb057604052565b90601f801991011681019081106001600160401b03821117610bb057604052565b60405190610c1982610bb5565b565b60405190610c1982610b95565b6001600160401b038111610bb057601f01601f191660200190565b81601f820112156102da57803590610c5a82610c28565b92610c686040519485610beb565b828452602083830101116102da57815f926020809301838601378301015290565b346102da5760603660031901126102da57610ca2610432565b6044356001600160401b0381116102da57602091610cc761098c923690600401610c43565b906004355f526003845260405f206123cb565b346102da575f3660031901126102da5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b346102da575f3660031901126102da576001546040516001600160a01b039091168152602090f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da57602060ff610e4f602435610e2181610701565b6004355f525f80516020612ecf833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da57600435610ebc81610701565b6024356001600160401b0381116102da575f91610ede83923690600401610994565b90816040519283928337810184815203915af4610f2b610efc61164d565b91610f1d604051938492151560208401526040808401526060830190610712565b03601f198101835282610beb565b805190602001fd5b346102da575f3660031901126102da5760206040515f8152f35b346102da575f3660031901126102da5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760203660031901126102da576004355f526002602052602060405f2054604051908152f35b346102da5760403660031901126102da5761066e60243560043561102182610701565b805f525f80516020612ecf833981519152602052611045600160405f200154611bf0565b612159565b346102da5760603660031901126102da5761078b61077760043561106d81610701565b61107561045c565b90602435906116ae565b346102da5760803660031901126102da5760243561109c81610701565b6110a461045c565b90606435906001600160401b0382116102da576020926110cb61098c933690600401610c43565b91600435611863565b346102da5760a03660031901126102da576024356004356110f482610701565b60443591611100610447565b90608435906001600160401b0382116102da5761112260049236908401610c43565b61112a611e88565b5f5460209061114f90611143906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156106c3575f9361128e575b506001600160a01b03928316330361127c576001546001600160a01b03168381166111f1575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361066e60015f80516020612eef83398151915255565b9093604051946112288661121a602082019363724ab0f760e11b8552858c898d602487016119ed565b03601f198101885287610beb565b62042e305a1061126a575f6111d8938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093611197565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6112b191935060203d6020116112b8575b6112a98183610beb565b8101906113ed565b915f611171565b503d61129f565b346102da575f3660031901126102da575f546040516001600160a01b039091168152602090f35b346102da5760403660031901126102da57602061098c60243561130881610701565b600435611a6a565b346102da575f3660031901126102da5760206040516203d0908152f35b346102da575f3660031901126102da57602060405160018152f35b519081151582036102da57565b908160209103126102da5761136990611348565b90565b6040513d5f823e3d90fd5b81601f820112156102da5780519061138e82610c28565b9261139c6040519485610beb565b828452602083830101116102da57815f9260208093018386015e8301015290565b906020828203126102da5781516001600160401b0381116102da576113699201611377565b5190610c1982610701565b908160209103126102da575161136981610701565b9061136991602081526114218251606060208401526080830190610712565b9060606040611441602086015194601f1995868683030184870152610712565b9401519282850301910152610712565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052938416604482015265ffffffffffff8516606482015260609594909391925f856084817f000000000000000000000000000000000000000000000000000000000000000087165afa9485156106c3575f9561161b575b5060405163fbfa77cf60e01b81526020816004818888165afa9081156106c357611537945f92859284916115fc575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff90921660248301529094859190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9283156106c3575f936115d6575b5061157692936116ae565b908251158015906115cc575b80156115c2575b61159257505050565b610f1d9394509061136992916115a6610c0c565b9283526020830152604082015260405192839160208301611402565b5081511515611589565b5080511515611582565b61157693506115f6903d805f833e6115ee8183610beb565b8101906113bd565b9261156b565b611615915060203d6020116112b8576112a98183610beb565b5f6114fa565b6116309195503d805f833e6115ee8183610beb565b935f6114cb565b9061136992915f52600360205260405f206123cb565b3d15611677573d9061165e82610c28565b9161166c6040519384610beb565b82523d5f602084013e565b606090565b519063ffffffff821682036102da57565b91908260409103126102da5761136960206116a784611348565b930161167c565b92915f8060609565ffffffffffff60405194602096630cbd53f560e11b888801526024870152166044850152604484526116e784610bd0565b604051938461171487820192639f86fd8560e01b8452306024840152604060448401526064830190610712565b0394611728601f1996878101835282610beb565b51915afa5061174661173861164d565b8380825183010191016124a3565b90156117995780838061175e9351830101910161168d565b929061176957505050565b6113699293945061178d604051948592830191909163ffffffff6020820193169052565b03908101835282610beb565b809150519182156102da5701fd5b604051906117b482610b95565b60606020838281520152565b906020828203126102da5781516001600160401b03928382116102da5701906040828203126102da57604051926117f684610b95565b82518181116102da578261180b918501611377565b845260208301519081116102da576118239201611377565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261136992910190610712565b92611873909291928284866125ac565b92909361187e6117a7565b938051806119d1575b5050841593841561193b575b84156118aa575b505050506118a55790565b505f90565b6020809495506118d5910151604051958694859463530e1d4360e01b865260601c906004860161182b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106c3575f9161191c575b50155f80808061189a565b611935915060203d6020116106bc576106ae8183610beb565b5f611911565b5f549094506001600160a01b031660208486519261196e604051948593849363530e1d4360e01b8552896004860161182b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106c3575f916119b2575b501593611893565b6119cb915060203d6020116106bc576106ae8183610beb565b5f6119aa565b6119e59295506020809183010191016117c0565b925f80611887565b919360a093611369969565ffffffffffff938552600180871b0316602085015260408401521660608201528160808201520190610712565b634e487b7160e01b5f52601160045260245ffd5b8115611a43570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611a6557565b611a25565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156106c3575f91611b77575b5015918215611af3575b50509050611aed57611369916126a7565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156106c3575f92611b5a575b505015805f80611adc565b611b709250803d106106bc576106ae8183610beb565b5f80611b4f565b611b8e9150843d86116106bc576106ae8183610beb565b5f611ad2565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b5416156109455750565b5f8181525f80516020612ecf83398151915260209081526040808320338452909152902060ff90611be6565b634e487b7160e01b5f52603260045260245ffd5b8054821015611c45575f5260205f2001905f90565b611c1c565b90815491600160401b831015610bb05782611c6d916001610c1995018155611c30565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611a6557565b90929192600182019081548015611d25575b5084611cb08461275d565b50949092845493611cc0836121eb565b9681611d10575b5015611ced575050505f198101908111611a6557611c6d8591611ce993611c30565b9190565b611ce9949293611d09926001600160d01b039091169190612dc3565b5050611c4a565b65ffffffffffff83811691161490505f611cc7565b600160401b811015610bb057806001611d419201845583611c30565b8154905f199060031b1b191690555f611ca5565b90604051611d6281610b95565b915465ffffffffffff8116835260301c6020830152565b91908254905f829160058411611e21575b611d959350856128c1565b908115611e1557611e0e611e05611dff611df5611dc7611dc2611db788611c85565b895f5260205f200190565b611d55565b966001611dee6020611ddf8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611c30565b90549060031b1c90565b93611c85565b63ffffffff1690565b6001939291565b5f925082915081908190565b9192611e2c81612796565b8103908111611a6557611d9593865f52611e60611e558360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015611e76575091611d8a565b929150611e8290611a57565b90611d8a565b5f80516020612eef8339815191526002815414611ea55760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f2081611ece8261275d565b919390508315611f2c57611eee916001600160d01b031690600101611c30565b90549060031b1c5b82611f22575b5050611f06575050565b611f1e915f52600360205260405f2061036f4261272b565b5050565b119050815f611efc565b50505f611ef6565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020612ecf8339815191529060ff16611aed575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020612ecf8339815191529060ff905b54166120ae575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f80516020612ecf8339815191529060ff9061204a565b5f8181525f80516020612ecf833981519152602081815260408084206001600160a01b038716855290915290912060ff9061204a565b5f8181525f80516020612ecf833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156120ae575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b80548061221057505f5b6001600160d01b03811615611aed576001611df59201611c30565b5f19908082810111611a6557825f5260205f2001015460301c6121f5565b9190916040818403126102da57803561224681610701565b9260208201356001600160401b0381116102da576113699201610c43565b6122709181019061222e565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156106c3575f91612383575b50156123715761230560409161230061234b946122e5612923565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612a8f565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612361575b5001516001600160a01b031690565b9081166123555750565b61235e90611fdf565b50565b61236a90611f34565b505f61233c565b6040516362df054560e01b8152600490fd5b61239c915060203d6020116106bc576106ae8183610beb565b5f6122ca565b908160209103126102da576113699061167c565b90600163ffffffff80931601918211611a6557565b9180511561249957806020806123e6935183010191016123a2565b916123f18382612d00565b92612402845165ffffffffffff1690565b9065ffffffffffff808516921682811461248d5782119182612438575b505061242f576113699250612c30565b50506020015190565b9091506124458354611c85565b63ffffffff83161491821561245e575b50505f8061241f565b612485919250612479612473611e55926123b6565b85612d00565b5165ffffffffffff1690565b115f80612455565b50505050506020015190565b5061136991612c30565b9190916040818403126102da576124b981611348565b9260208201516001600160401b0381116102da576113699201611377565b604051906124e482610bb5565b60606040838281528260208201520152565b906020828203126102da5781516001600160401b03928382116102da5701906060828203126102da576040519261252c84610bb5565b82518181116102da5782612541918501611377565b845260208301518181116102da578261255b918501611377565b602085015260408301519081116102da576125769201611377565b604082015290565b908160209103126102da575190565b60409065ffffffffffff61136994931681528160208201520190610712565b909392936125b86124d7565b9480518061268b575b50506004546001600160a01b03918216911603612683575f546126189291906020906125f790611143906001600160a01b031681565b8187015190604051808097819463810da75d60e01b8352886004840161258d565b03915afa9081156106c35761264b935f92612650575b5061263f9192604087015191611637565b90818082109118021890565b915190565b61263f92506126769060203d60201161267c575b61266e8183610beb565b81019061257e565b9161262e565b503d612664565b505090515f91565b61269f9296506020809183010191016124f6565b935f806125c1565b6004546001600160a01b039290831690831603611aed5760206004925f54166040519384809263bd49c35f60e01b82525afa9182156106c3575f92612702575b506126fd61263f915f52600360205260405f2090565b6121eb565b61263f9192506127236126fd9160203d60201161267c5761266e8183610beb565b9291506126e7565b65ffffffffffff9081811161273e571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b80548061276e5750505f905f905f90565b5f19918183810111611a65575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561136957600181600160801b8110156128af575b61285761284d61284361283961282f61282561286397600488600160401b61285e9a10156128a2575b640100000000811015612895575b62010000811015612888575b61010081101561287c575b6010811015612870575b1015612868575b60030260011c61281e818b611a39565b0160011c90565b61281e818a611a39565b61281e8189611a39565b61281e8188611a39565b61281e8187611a39565b61281e8186611a39565b8093611a39565b821190565b900390565b60011b61280e565b811c9160021b91612807565b60081c91811b916127fd565b60101c9160081b916127f2565b60201c9160101b916127e6565b60401c9160201b916127d8565b50600160401b9050608082901c6127af565b91905b8382106128d15750505090565b909192808316906001818518811c8301809311611a6557855f5265ffffffffffff808460205f20015416908516105f14612910575050925b91906128c4565b909493508101809111611a655791612909565b61292b612ea0565b612933612ea0565b60015f80516020612eef83398151915255565b6040519061295382610bb5565b5f6040838281528260208201520152565b81601f820112156102da578051916020916001600160401b038411610bb0578360051b906040519461299885840187610beb565b855283808601928201019283116102da578301905b8282106129bb575050505090565b83809183516129c981610701565b8152019101906129ad565b6020818303126102da5780516001600160401b03918282116102da5701918281039260a084126102da57606060405194612a0d86610bb5565b126102da57604051612a1e81610bb5565b8151612a2981610701565b81526020820151612a3981610701565b60208201526040820151612a4c81610701565b6040820152845260608101519283116102da57612a70608092612576948301612964565b6020850152016113e2565b8051821015611c455760209160051b010190565b612a97612946565b50612aad815191602080809483010191016129d4565b8051516001600160a01b0393919084161580612c24575b612c12576040818101805182516302910f8b60e31b81526001600160a01b0390911660048083019190915296929491928690829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106c3575f91612bf5575b5015612be35791938401915f5b83518051821015612bb257611143612b5783612b6493612a7b565b516001600160a01b031690565b15612ba257612b86612b82612b7d612b57848851612a7b565b6120b5565b1590565b612b9257600101612b3c565b8451635140fefd60e11b81528790fd5b84516323cda06760e01b81528790fd5b50509051600480546001600160a01b0319166001600160a01b039092169190911790559350612bdf915050565b5190565b604051631f0853c160e21b8152600490fd5b612c0c9150863d88116106bc576106ae8183610beb565b5f612b2f565b6040516303501f5960e11b8152600490fd5b50828101515115612ac4565b908154905f829160058411612c9a575b612c4b9350846128c1565b80612c7357505f905b6001600160d01b03821615611aed57611369916001611df59201611c30565b612c8d612c82612c9492611c85565b835f5260205f200190565b5460301c90565b90612c54565b9192612ca581612796565b8103908111611a6557612c4b93855f5265ffffffffffff808360205f20015416908516105f14612cd6575091612c40565b929150612ce290611a57565b90612c40565b60405190612cf582610b95565b5f6020838281520152565b90612d29612d23612d4a92612d13612ce8565b50612d1c612ce8565b5084611c30565b50611d55565b91600165ffffffffffff845116936020828060d01b03910151169101611c30565b90549060405192612d5a84610b95565b835260031b1c602082015290565b8054600160401b811015610bb057612d8591600182018155611c30565b612db057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015612e7657612dda612de591611c85565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411612e6457879303612e2b5750612e2492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050612e5f91612e4b612e3d610c1b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612d68565b612e24565b604051632520601d60e01b8152600490fd5b5090612e9b91612e87612e3d610c1b565b6001600160d01b0385166020830152612d68565b5f9190565b60ff5f80516020612f0f8339815191525460401c1615612ebc57565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122001234d11bd31f1e4a2b60a7eec5ad2899ab1230e73d3d5f2aab566a8d4ef5db464736f6c63430008190033","sourceMap":"11341:2257:94:-:0;;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;348:4:95;;332:21;;8837:64:26;11341:2257:94;;;;;;;;;7896:76:26;;11341:2257:94;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:82;;;-1:-1:-1;525:17:82;;-1:-1:-1;552:12:82;;-1:-1:-1;2360:34:89;;2404:28;;-1:-1:-1;2404:28:89;;2442:57;;-1:-1:-1;2442:57:89;;2509:61;-1:-1:-1;2509:61:89;;1716:36:93;;-1:-1:-1;1716:36:93;;11845:41:94;;;;11896:24;;;;11930:40;;;;11341:2257;;;;;;;;332:21:95;11341:2257:94;;;;;525:17:82;11341:2257:94;;;;;552:12:82;11341:2257:94;;;;;2360:34:89;11341:2257:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;11341:2257:94;;;;;;;;;;;;;8087:29:26;;11341:2257:94;;8087:29:26;7981:146;;;;;7896:76;11341:2257:94;;-1:-1:-1;;;7938:23:26;;;;;11341:2257:94;-1:-1:-1;11341:2257:94;;;;;;-1:-1:-1;11341:2257:94;;;;;-1:-1:-1;11341:2257:94;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a714610284578063021453481461027f578063103f29071461027a578063128e5d8214610275578063197aa7ea146102705780631a80e5001461026b57806323f752d514610266578063248a9ca31461026157806325dc97081461025c5780632dd31000146102575780632f2ff15d1461025257806336568abe1461024d5780633dfd3873146102485780633eb22c0f14610243578063439fab911461023e57806345e78fcb14610239578063557cab4414610234578063570ca7351461022f5780635d32a1c91461022a5780636679191e1461022557806379d89614146102205780637d24bb271461021b5780637f5a7c7b1461021657806383ce03221461021157806391d148541461020c5780639b656b22146102075780639f86fd8514610202578063a217fddf146101fd578063bb24fe8a146101f8578063c0cd7c3e146101f3578063d15b740e146101ee578063d547741f146101e9578063da749d2b146101e4578063e02f6937146101df578063e49561ee146101da578063fbfa77cf146101d5578063fd4d447c146101d0578063ff54740f146101cb5763ffa1ad74146101c6575f80fd5b61132d565b611310565b6112e6565b6112bf565b6110d4565b61107f565b61104a565b610ffe565b610fd4565b610f90565b610f4d565b610f33565b610e9f565b610e5b565b610dfd565b610db9565b610d91565b610d58565b610d14565b610cda565b610c89565b610b59565b610b3d565b610af9565b6109c1565b610963565b61086a565b61081f565b6107d3565b61078f565b610736565b6106c8565b610542565b6104fe565b610471565b6103ee565b6103aa565b6102de565b346102da5760203660031901126102da5760043563ffffffff60e01b81168091036102da57602090637965db0b60e01b81149081156102c9575b506040519015158152f35b6301ffc9a760e01b1490505f6102be565b5f80fd5b346102da576040806003193601126102da576004359060243590610300611b94565b825f526002602052805f2054821161039a57825f52600360205281610326825f206121eb565b1461038a5781610385916103757e899d104fc3d8820bd96540612bcc5c448c8837b13b9f7faa43ad0728f0c14f94610366875f52600360205260405f2090565b61036f4261272b565b90611c93565b5050519081529081906020820190565b0390a2005b5163a741a04560e01b8152600490fd5b51631eefc06360e31b8152600490fd5b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6024359065ffffffffffff821682036102da57565b6064359065ffffffffffff821682036102da57565b6044359065ffffffffffff821682036102da57565b346102da5760403660031901126102da5761048a610432565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036104ec5763ffffffff6104d76040926004355f526003602052835f20611d79565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da576004356001600160601b03811681036102da5760243590610572611e88565b6040516302910f8b60e31b81523360048201526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106c3575f91610694575b5015610682576001600160601b03166bffffffffffffffffffffffff193360601b161790806105fc835f52600260205260405f2090565b541461067057610655817fc67e7929681aa1bccd63f52b3799bf5805f3009f197db6fdf584b14f7fbf608c9261063a855f52600260205260405f2090565b556106458185611eb7565b6040519081529081906020820190565b0390a261066e60015f80516020612eef83398151915255565b005b60405163a741a04560e01b8152600490fd5b6040516323d53b9760e21b8152600490fd5b6106b6915060203d6020116106bc575b6106ae8183610beb565b810190611355565b5f6105c5565b503d6106a4565b61136c565b346102da5760203660031901126102da576004355f525f80516020612ecf8339815191526020526020600160405f200154604051908152f35b6001600160a01b038116036102da57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102da5760803660031901126102da5761078b61077760043561075981610701565b60443561076581610701565b61076d610447565b9160243590611451565b604051918291602083526020830190610712565b0390f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da5761066e6024356004356107f682610701565b805f525f80516020612ecf83398151915260205261081a600160405f200154611bf0565b612123565b346102da5760403660031901126102da5760243561083c81610701565b336001600160a01b038216036108585761066e90600435612159565b60405163334bd91960e11b8152600490fd5b346102da5760203660031901126102da5760043561088781610701565b61088f611e88565b335f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c60205260409020547fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c9060ff161561094557506001546001600160a01b039182169181168214610670576001600160a01b03191681176001557f5bbb1d3ebb6a3ad2a0f17ff35e579a83af60604d1d3c2a4c83c62adecadf666d5f80a260015f80516020612eef83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346102da5760203660031901126102da576004355f526003602052602061098c60405f206121eb565b604051908152f35b9181601f840112156102da578235916001600160401b0383116102da57602083818601950101116102da57565b346102da5760203660031901126102da576001600160401b036004358181116102da576109f2903690600401610994565b5f80516020612f0f833981519152549260ff8460401c1615931680159081610af1575b6001149081610ae7575b159081610ade575b50610acc575f80516020612f0f833981519152805467ffffffffffffffff19166001179055610a5a9183610aa857612264565b610a6057005b5f80516020612f0f833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020612f0f833981519152805460ff60401b1916600160401b179055612264565b60405163f92ee8a960e01b8152600490fd5b9050155f610a27565b303b159150610a1f565b849150610a15565b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da576020604051614e208152f35b346102da575f3660031901126102da576004546040516001600160a01b039091168152602090f35b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117610bb057604052565b610b81565b606081019081106001600160401b03821117610bb057604052565b608081019081106001600160401b03821117610bb057604052565b90601f801991011681019081106001600160401b03821117610bb057604052565b60405190610c1982610bb5565b565b60405190610c1982610b95565b6001600160401b038111610bb057601f01601f191660200190565b81601f820112156102da57803590610c5a82610c28565b92610c686040519485610beb565b828452602083830101116102da57815f926020809301838601378301015290565b346102da5760603660031901126102da57610ca2610432565b6044356001600160401b0381116102da57602091610cc761098c923690600401610c43565b906004355f526003845260405f206123cb565b346102da575f3660031901126102da5760206040517fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c8152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da575f3660031901126102da5760206040517e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf8152f35b346102da575f3660031901126102da576001546040516001600160a01b039091168152602090f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da57602060ff610e4f602435610e2181610701565b6004355f525f80516020612ecf833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760403660031901126102da57600435610ebc81610701565b6024356001600160401b0381116102da575f91610ede83923690600401610994565b90816040519283928337810184815203915af4610f2b610efc61164d565b91610f1d604051938492151560208401526040808401526060830190610712565b03601f198101835282610beb565b805190602001fd5b346102da575f3660031901126102da5760206040515f8152f35b346102da575f3660031901126102da5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102da575f3660031901126102da576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102da5760203660031901126102da576004355f526002602052602060405f2054604051908152f35b346102da5760403660031901126102da5761066e60243560043561102182610701565b805f525f80516020612ecf833981519152602052611045600160405f200154611bf0565b612159565b346102da5760603660031901126102da5761078b61077760043561106d81610701565b61107561045c565b90602435906116ae565b346102da5760803660031901126102da5760243561109c81610701565b6110a461045c565b90606435906001600160401b0382116102da576020926110cb61098c933690600401610c43565b91600435611863565b346102da5760a03660031901126102da576024356004356110f482610701565b60443591611100610447565b90608435906001600160401b0382116102da5761112260049236908401610c43565b61112a611e88565b5f5460209061114f90611143906001600160a01b031681565b6001600160a01b031690565b60405163b134427160e01b815294859182905afa9283156106c3575f9361128e575b506001600160a01b03928316330361127c576001546001600160a01b03168381166111f1575b50506040805195865265ffffffffffff909316602086015216927f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed91819081015b0390a361066e60015f80516020612eef83398151915255565b9093604051946112288661121a602082019363724ab0f760e11b8552858c898d602487016119ed565b03601f198101885287610beb565b62042e305a1061126a575f6111d8938192827f741a5de99085c0d660f3e4192217b0ffb0ea4e35a0480de48e857a4bc3ee36ed9951926203d090f15093611197565b604051638072475160e01b8152600490fd5b60405163dabc4ad960e01b8152600490fd5b6112b191935060203d6020116112b8575b6112a98183610beb565b8101906113ed565b915f611171565b503d61129f565b346102da575f3660031901126102da575f546040516001600160a01b039091168152602090f35b346102da5760403660031901126102da57602061098c60243561130881610701565b600435611a6a565b346102da575f3660031901126102da5760206040516203d0908152f35b346102da575f3660031901126102da57602060405160018152f35b519081151582036102da57565b908160209103126102da5761136990611348565b90565b6040513d5f823e3d90fd5b81601f820112156102da5780519061138e82610c28565b9261139c6040519485610beb565b828452602083830101116102da57815f9260208093018386015e8301015290565b906020828203126102da5781516001600160401b0381116102da576113699201611377565b5190610c1982610701565b908160209103126102da575161136981610701565b9061136991602081526114218251606060208401526080830190610712565b9060606040611441602086015194601f1995868683030184870152610712565b9401519282850301910152610712565b604051630df8851f60e11b81526001600160a01b03828116600483015260248201849052938416604482015265ffffffffffff8516606482015260609594909391925f856084817f000000000000000000000000000000000000000000000000000000000000000087165afa9485156106c3575f9561161b575b5060405163fbfa77cf60e01b81526020816004818888165afa9081156106c357611537945f92859284916115fc575b5060405163192c0ff760e21b81526001600160a01b03909116600482015265ffffffffffff90921660248301529094859190829081906044820190565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa9283156106c3575f936115d6575b5061157692936116ae565b908251158015906115cc575b80156115c2575b61159257505050565b610f1d9394509061136992916115a6610c0c565b9283526020830152604082015260405192839160208301611402565b5081511515611589565b5080511515611582565b61157693506115f6903d805f833e6115ee8183610beb565b8101906113bd565b9261156b565b611615915060203d6020116112b8576112a98183610beb565b5f6114fa565b6116309195503d805f833e6115ee8183610beb565b935f6114cb565b9061136992915f52600360205260405f206123cb565b3d15611677573d9061165e82610c28565b9161166c6040519384610beb565b82523d5f602084013e565b606090565b519063ffffffff821682036102da57565b91908260409103126102da5761136960206116a784611348565b930161167c565b92915f8060609565ffffffffffff60405194602096630cbd53f560e11b888801526024870152166044850152604484526116e784610bd0565b604051938461171487820192639f86fd8560e01b8452306024840152604060448401526064830190610712565b0394611728601f1996878101835282610beb565b51915afa5061174661173861164d565b8380825183010191016124a3565b90156117995780838061175e9351830101910161168d565b929061176957505050565b6113699293945061178d604051948592830191909163ffffffff6020820193169052565b03908101835282610beb565b809150519182156102da5701fd5b604051906117b482610b95565b60606020838281520152565b906020828203126102da5781516001600160401b03928382116102da5701906040828203126102da57604051926117f684610b95565b82518181116102da578261180b918501611377565b845260208301519081116102da576118239201611377565b602082015290565b6001600160a01b0391821681529116602082015265ffffffffffff909116604082015260806060820181905261136992910190610712565b92611873909291928284866125ac565b92909361187e6117a7565b938051806119d1575b5050841593841561193b575b84156118aa575b505050506118a55790565b505f90565b6020809495506118d5910151604051958694859463530e1d4360e01b865260601c906004860161182b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106c3575f9161191c575b50155f80808061189a565b611935915060203d6020116106bc576106ae8183610beb565b5f611911565b5f549094506001600160a01b031660208486519261196e604051948593849363530e1d4360e01b8552896004860161182b565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106c3575f916119b2575b501593611893565b6119cb915060203d6020116106bc576106ae8183610beb565b5f6119aa565b6119e59295506020809183010191016117c0565b925f80611887565b919360a093611369969565ffffffffffff938552600180871b0316602085015260408401521660608201528160808201520190610712565b634e487b7160e01b5f52601160045260245ffd5b8115611a43570490565b634e487b7160e01b5f52601260045260245ffd5b9060018201809211611a6557565b611a25565b5f546040516308834cb560e21b8082526001600160a01b0385811660048401529283166024830152929392602092909183816044817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156106c3575f91611b77575b5015918215611af3575b50509050611aed57611369916126a7565b50505f90565b6040519081526001600160a01b0385166004820152606086901c602482015291508290829060449082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156106c3575f92611b5a575b505015805f80611adc565b611b709250803d106106bc576106ae8183610beb565b5f80611b4f565b611b8e9150843d86116106bc576106ae8183610beb565b5f611ad2565b335f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf9060ff905b5416156109455750565b5f8181525f80516020612ecf83398151915260209081526040808320338452909152902060ff90611be6565b634e487b7160e01b5f52603260045260245ffd5b8054821015611c45575f5260205f2001905f90565b611c1c565b90815491600160401b831015610bb05782611c6d916001610c1995018155611c30565b90919082549060031b91821b915f19901b1916179055565b5f19810191908211611a6557565b90929192600182019081548015611d25575b5084611cb08461275d565b50949092845493611cc0836121eb565b9681611d10575b5015611ced575050505f198101908111611a6557611c6d8591611ce993611c30565b9190565b611ce9949293611d09926001600160d01b039091169190612dc3565b5050611c4a565b65ffffffffffff83811691161490505f611cc7565b600160401b811015610bb057806001611d419201845583611c30565b8154905f199060031b1b191690555f611ca5565b90604051611d6281610b95565b915465ffffffffffff8116835260301c6020830152565b91908254905f829160058411611e21575b611d959350856128c1565b908115611e1557611e0e611e05611dff611df5611dc7611dc2611db788611c85565b895f5260205f200190565b611d55565b966001611dee6020611ddf8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101611c30565b90549060031b1c90565b93611c85565b63ffffffff1690565b6001939291565b5f925082915081908190565b9192611e2c81612796565b8103908111611a6557611d9593865f52611e60611e558360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015611e76575091611d8a565b929150611e8290611a57565b90611d8a565b5f80516020612eef8339815191526002815414611ea55760029055565b604051633ee5aeb560e01b8152600490fd5b90815f52600360205260405f2081611ece8261275d565b919390508315611f2c57611eee916001600160d01b031690600101611c30565b90549060031b1c5b82611f22575b5050611f06575050565b611f1e915f52600360205260405f2061036f4261272b565b5050565b119050815f611efc565b50505f611ef6565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020612ecf8339815191529060ff16611aed575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f9ebbcbe0d2961d3fbe56ca6f679bc753bd848d3e6bb3eaf9041c51b286881d2c602052604090207fd1c1f6fa6bf27d54c5e54c7c1dc6e5004d3c027ea1994fe68b29c1b51b69c36c905f80516020612ecf8339815191529060ff905b54166120ae575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f72a65082a5691803ab2b62c9bc729b34205ba1b183d950896526b2fd8714d0c7602052604090207e8b9b1e5fa9cf3b14f87f435649268146305ddf689f082e5961a335b07a9abf905f80516020612ecf8339815191529060ff9061204a565b5f8181525f80516020612ecf833981519152602081815260408084206001600160a01b038716855290915290912060ff9061204a565b5f8181525f80516020612ecf833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156120ae575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b80548061221057505f5b6001600160d01b03811615611aed576001611df59201611c30565b5f19908082810111611a6557825f5260205f2001015460301c6121f5565b9190916040818403126102da57803561224681610701565b9260208201356001600160401b0381116102da576113699201610c43565b6122709181019061222e565b6040516302910f8b60e31b81526001600160a01b039283166004820181905291906020816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156106c3575f91612383575b50156123715761230560409161230061234b946122e5612923565b60018060a01b03166001600160601b0360a01b5f5416175f55565b612a8f565b6020810151600180546001600160a01b0319166001600160a01b0390921691909117905580516001600160a01b0316848116612361575b5001516001600160a01b031690565b9081166123555750565b61235e90611fdf565b50565b61236a90611f34565b505f61233c565b6040516362df054560e01b8152600490fd5b61239c915060203d6020116106bc576106ae8183610beb565b5f6122ca565b908160209103126102da576113699061167c565b90600163ffffffff80931601918211611a6557565b9180511561249957806020806123e6935183010191016123a2565b916123f18382612d00565b92612402845165ffffffffffff1690565b9065ffffffffffff808516921682811461248d5782119182612438575b505061242f576113699250612c30565b50506020015190565b9091506124458354611c85565b63ffffffff83161491821561245e575b50505f8061241f565b612485919250612479612473611e55926123b6565b85612d00565b5165ffffffffffff1690565b115f80612455565b50505050506020015190565b5061136991612c30565b9190916040818403126102da576124b981611348565b9260208201516001600160401b0381116102da576113699201611377565b604051906124e482610bb5565b60606040838281528260208201520152565b906020828203126102da5781516001600160401b03928382116102da5701906060828203126102da576040519261252c84610bb5565b82518181116102da5782612541918501611377565b845260208301518181116102da578261255b918501611377565b602085015260408301519081116102da576125769201611377565b604082015290565b908160209103126102da575190565b60409065ffffffffffff61136994931681528160208201520190610712565b909392936125b86124d7565b9480518061268b575b50506004546001600160a01b03918216911603612683575f546126189291906020906125f790611143906001600160a01b031681565b8187015190604051808097819463810da75d60e01b8352886004840161258d565b03915afa9081156106c35761264b935f92612650575b5061263f9192604087015191611637565b90818082109118021890565b915190565b61263f92506126769060203d60201161267c575b61266e8183610beb565b81019061257e565b9161262e565b503d612664565b505090515f91565b61269f9296506020809183010191016124f6565b935f806125c1565b6004546001600160a01b039290831690831603611aed5760206004925f54166040519384809263bd49c35f60e01b82525afa9182156106c3575f92612702575b506126fd61263f915f52600360205260405f2090565b6121eb565b61263f9192506127236126fd9160203d60201161267c5761266e8183610beb565b9291506126e7565b65ffffffffffff9081811161273e571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b80548061276e5750505f905f905f90565b5f19918183810111611a65575f5260205f2001015460019165ffffffffffff82169160301c90565b600181111561136957600181600160801b8110156128af575b61285761284d61284361283961282f61282561286397600488600160401b61285e9a10156128a2575b640100000000811015612895575b62010000811015612888575b61010081101561287c575b6010811015612870575b1015612868575b60030260011c61281e818b611a39565b0160011c90565b61281e818a611a39565b61281e8189611a39565b61281e8188611a39565b61281e8187611a39565b61281e8186611a39565b8093611a39565b821190565b900390565b60011b61280e565b811c9160021b91612807565b60081c91811b916127fd565b60101c9160081b916127f2565b60201c9160101b916127e6565b60401c9160201b916127d8565b50600160401b9050608082901c6127af565b91905b8382106128d15750505090565b909192808316906001818518811c8301809311611a6557855f5265ffffffffffff808460205f20015416908516105f14612910575050925b91906128c4565b909493508101809111611a655791612909565b61292b612ea0565b612933612ea0565b60015f80516020612eef83398151915255565b6040519061295382610bb5565b5f6040838281528260208201520152565b81601f820112156102da578051916020916001600160401b038411610bb0578360051b906040519461299885840187610beb565b855283808601928201019283116102da578301905b8282106129bb575050505090565b83809183516129c981610701565b8152019101906129ad565b6020818303126102da5780516001600160401b03918282116102da5701918281039260a084126102da57606060405194612a0d86610bb5565b126102da57604051612a1e81610bb5565b8151612a2981610701565b81526020820151612a3981610701565b60208201526040820151612a4c81610701565b6040820152845260608101519283116102da57612a70608092612576948301612964565b6020850152016113e2565b8051821015611c455760209160051b010190565b612a97612946565b50612aad815191602080809483010191016129d4565b8051516001600160a01b0393919084161580612c24575b612c12576040818101805182516302910f8b60e31b81526001600160a01b0390911660048083019190915296929491928690829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106c3575f91612bf5575b5015612be35791938401915f5b83518051821015612bb257611143612b5783612b6493612a7b565b516001600160a01b031690565b15612ba257612b86612b82612b7d612b57848851612a7b565b6120b5565b1590565b612b9257600101612b3c565b8451635140fefd60e11b81528790fd5b84516323cda06760e01b81528790fd5b50509051600480546001600160a01b0319166001600160a01b039092169190911790559350612bdf915050565b5190565b604051631f0853c160e21b8152600490fd5b612c0c9150863d88116106bc576106ae8183610beb565b5f612b2f565b6040516303501f5960e11b8152600490fd5b50828101515115612ac4565b908154905f829160058411612c9a575b612c4b9350846128c1565b80612c7357505f905b6001600160d01b03821615611aed57611369916001611df59201611c30565b612c8d612c82612c9492611c85565b835f5260205f200190565b5460301c90565b90612c54565b9192612ca581612796565b8103908111611a6557612c4b93855f5265ffffffffffff808360205f20015416908516105f14612cd6575091612c40565b929150612ce290611a57565b90612c40565b60405190612cf582610b95565b5f6020838281520152565b90612d29612d23612d4a92612d13612ce8565b50612d1c612ce8565b5084611c30565b50611d55565b91600165ffffffffffff845116936020828060d01b03910151169101611c30565b90549060405192612d5a84610b95565b835260031b1c602082015290565b8054600160401b811015610bb057612d8591600182018155611c30565b612db057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015612e7657612dda612de591611c85565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411612e6457879303612e2b5750612e2492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050612e5f91612e4b612e3d610c1b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612d68565b612e24565b604051632520601d60e01b8152600490fd5b5090612e9b91612e87612e3d610c1b565b6001600160d01b0385166020830152612d68565b5f9190565b60ff5f80516020612f0f8339815191525460401c1615612ebc57565b604051631afcd79f60e31b8152600490fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122001234d11bd31f1e4a2b60a7eec5ad2899ab1230e73d3d5f2aab566a8d4ef5db464736f6c63430008190033","sourceMap":"11341:2257:94:-: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;:::-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;11341:2257:94;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;11341:2257:94;-1:-1:-1;11341:2257:94;;;;;;;;;;;;;;;;;;;;3202:4:23;;;:::i;:::-;11341:2257:94;-1:-1:-1;11341:2257:94;2428:15:93;11341:2257:94;;;-1:-1:-1;11341:2257:94;;2419:36:93;;2415:98;;11341:2257:94;-1:-1:-1;11341:2257:94;2193:13:93;11341:2257:94;;;2193:34:93;11341:2257:94;-1:-1:-1;11341:2257:94;2193:34:93;:::i;:::-;2527;2523:84;;2617:25;2689:35;2617:25;:56;2689:35;2617:25;;;11341:2257:94;;2193:13:93;11341:2257:94;;;;;;;2617:25:93;819:34:75;837:15;819:34;:::i;:::-;2617:56:93;;:::i;:::-;-1:-1:-1;;11341:2257:94;;;;;;;;;;;;2689:35:93;;;;11341:2257:94;2523:84:93;11341:2257:94;-1:-1:-1;;;2584:12:93;;11341:2257:94;;2584:12:93;2415:98;11341:2257:94;-1:-1:-1;;;2478:24:93;;11341:2257:94;;2478:24:93;11341:2257:94;;;;;;-1:-1:-1;;11341:2257:94;;;;;;1537:38:89;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;1632:54:89;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;11341:2257:94;435:10:95;:19;431:71;;11341:2257:94;12172:64;11341:2257;;;;-1:-1:-1;11341:2257:94;12172:13;11341:2257;;;-1:-1:-1;11341:2257:94;12172:64;:::i;:::-;11341:2257;;;;;;;;;;;;;;;;;;;431:71:95;11341:2257:94;;-1:-1:-1;;;477:14:95;;11341:2257:94;;477:14:95;11341:2257:94;;;;;;-1:-1:-1;;11341:2257:94;;;;;;1743:56:89;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;3361:103:30;;;:::i;:::-;11341:2257:94;;-1:-1:-1;;;4285:48:89;;4322:10;11341:2257:94;4285:48:89;;11341:2257:94;;;;;-1:-1:-1;;;;;4295:16:89;11341:2257:94;4285:48:89;;;;;;;-1:-1:-1;4285:48:89;;;11341:2257:94;4284:49:89;;4280:99;;-1:-1:-1;;;;;11341:2257:94;-1:-1:-1;;4322:10:89;297:2:101;11341:2257:94;;267:46:101;4459:27:89;;;;11341:2257:94;;4459:15:89;11341:2257:94;;;;;;;4459:27:89;11341:2257:94;4459:37:89;4455:87;;4654:38;4552:27;4654:38;4552:27;;;11341:2257:94;;4459:15:89;11341:2257:94;;;;;;;4552:27:89;11341:2257:94;4631:6:89;;;;:::i;:::-;11341:2257:94;;;;;;;;;;;;;4654:38:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;11341:2257:94;3860:283:30;3426:1;11341:2257:94;4455:87:89;11341:2257:94;;-1:-1:-1;;;4519:12:89;;11341:2257:94;;4519:12:89;4280:99;11341:2257:94;;-1:-1:-1;;;4356:12:89;;11341:2257:94;;4356:12:89;4285:48;;;;11341:2257:94;4285:48:89;11341:2257:94;4285:48:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;11341:2257:94:-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;-1:-1:-1;11341:2257:94;-1:-1:-1;;;;;;;;;;;11341:2257:94;;;4919:24:23;11341:2257:94;-1:-1:-1;11341:2257:94;4919:24:23;11341:2257:94;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;11341:2257:94;;;;;;;;-1:-1:-1;;11341:2257:94;;;;:::o;:::-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;322:32:82;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;5350:25:23;11341:2257:94;;;;;;;:::i;:::-;;-1:-1:-1;11341:2257:94;-1:-1:-1;;;;;;;;;;;11341:2257:94;;3202:4:23;4919:24;11341:2257:94;-1:-1:-1;11341:2257:94;4919:24:23;11341:2257:94;3202:4:23;:::i;:::-;5350:25;:::i;11341:2257:94:-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;11341:2257:94;;6441:34:23;6437:102;;6549:37;11341:2257:94;;;6549:37:23;:::i;6437:102::-;11341:2257:94;;-1:-1:-1;;;6498:30:23;;11341:2257:94;;6498:30:23;11341:2257:94;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;11341:2257:94;;;;;;;;;;1356:26:89;;11341:2257:94;;4468:23:23;4464:108;;-1:-1:-1;4861:4:89;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;;;;;4861:13:89;;4857:63;;-1:-1:-1;;;;;;11341:2257:94;;;4861:4:89;11341:2257:94;4958:14:89;-1:-1:-1;;4958:14:89;4861:4;-1:-1:-1;;;;;;;;;;;11341:2257:94;;4464:108:23;11341:2257:94;;;;4514:47:23;;;;;;966:10:28;11341:2257:94;4514:47:23;;11341:2257:94;;;;;4514:47:23;11341:2257:94;;;;;;-1:-1:-1;;11341:2257:94;;;;;;-1:-1:-1;11341:2257:94;2193:13:93;11341:2257:94;;;2193:34:93;11341:2257:94;-1:-1:-1;11341:2257:94;2193:34:93;:::i;:::-;11341:2257:94;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;11341:2257:94;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;11341:2257:94;;;;;;;4301:16:26;11341:2257:94;;4726:16:26;;:34;;;;11341:2257:94;4805:1:26;4790:16;:50;;;;11341:2257:94;4855:13:26;:30;;;;11341:2257:94;4851:91:26;;;-1:-1:-1;;;;;;;;;;;11341:2257:94;;-1:-1:-1;;11341:2257:94;;;;;718:4:82;;4951:18:26;4979:67;;718:4:82;:::i;:::-;5066:101:26;;11341:2257:94;5066:101:26;-1:-1:-1;;;;;;;;;;;11341:2257:94;;-1:-1:-1;;;;11341:2257:94;;;;;-1:-1:-1;11341:2257:94;;5142:14:26;;11341:2257:94;;5142:14:26;11341:2257:94;4979:67:26;-1:-1:-1;;;;;;;;;;;11341:2257:94;;-1:-1:-1;;;;11341:2257:94;-1:-1:-1;;;11341:2257:94;;;718:4:82;:::i;4851:91:26:-;11341:2257:94;;-1:-1:-1;;;4908:23:26;;11341:2257:94;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;11341:2257:94;;;;;;-1:-1:-1;;11341:2257:94;;;;;;11523:36;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;1253:6:89;11341:2257:94;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;11341:2257:94;;;;;;-1:-1:-1;;11341:2257:94;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;11341:2257:94;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;:::i;:::-;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;1955:60:93;11341:2257:94;;;;;;:::i;:::-;;;;-1:-1:-1;11341:2257:94;1955:13:93;11341:2257:94;;;-1:-1:-1;11341:2257:94;1955:60:93;:::i;11341:2257:94:-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;1356:26:89;11341:2257:94;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;11472:45;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;885:35:93;11341:2257:94;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;989:42:93;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;3901:31:23;11341:2257:94;;;;;:::i;:::-;;;-1:-1:-1;11341:2257:94;-1:-1:-1;;;;;;;;;;;11341:2257:94;;;-1:-1:-1;11341:2257:94;;;;;;;;;;;;;;;;;3901:31:23;11341:2257:94;;;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;11565:45;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;11341:2257:94;;;;-1:-1:-1;11341:2257:94;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;11341:2257:94;;;;;;;;;;477:31:88;;11341:2257:94;;;;;;;;;;;:::i;:::-;477:31:88;11341:2257:94;;477:31:88;;;;;;:::i;:::-;518:79;;;11341:2257:94;518:79:88;;11341:2257:94;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;-1:-1:-1;;;;;404:28:82;11341:2257:94;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;1439:41:89;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;-1:-1:-1;11341:2257:94;2009:67:89;11341:2257:94;;;;-1:-1:-1;11341:2257:94;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;5767:26:23;11341:2257:94;;;;;;;:::i;:::-;;-1:-1:-1;11341:2257:94;-1:-1:-1;;;;;;;;;;;11341:2257:94;;3202:4:23;4919:24;11341:2257:94;-1:-1:-1;11341:2257:94;4919:24:23;11341:2257:94;3202:4:23;:::i;:::-;5767:26;:::i;11341:2257:94:-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;11341:2257:94;;;5246:21:89;;:13;;-1:-1:-1;;;;;11341:2257:94;5246:13:89;11341:2257:94;;-1:-1:-1;;;;;11341:2257:94;;;5246:21:89;11341:2257:94;;-1:-1:-1;;;5246:23:89;;11341:2257:94;;;;;5246:23:89;;;;;;;-1:-1:-1;5246:23:89;;;11341:2257:94;-1:-1:-1;;;;;;11341:2257:94;;;5232:10:89;:37;5228:87;;5341:4;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;;;5355:469:89;;11341:2257:94;-1:-1:-1;;11341:2257:94;;;;;;;;;;;;;;;;5839:55:89;;11341:2257:94;;;;5839:55:89;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;11341:2257:94;3860:283:30;5355:469:89;11341:2257:94;;;;5435:94:89;;;;11341:2257:94;5435:94:89;;;;;;;;;;;;11341:2257:94;5435:94:89;;;:::i;:::-;;11341:2257:94;;5435:94:89;;;;;;:::i;:::-;11341:2257:94;5548:9:89;:51;5544:118;;-1:-1:-1;5839:55:89;5676:138;;;;5839:55;5676:138;;;1150:7;5676:138;;5355:469;;;5544:118;11341:2257:94;;-1:-1:-1;;;5626:21:89;;11341:2257:94;;5626:21:89;5228:87;11341:2257:94;;-1:-1:-1;;;5292:12:89;;11341:2257:94;;5292:12:89;5246:23;;;;;11341:2257:94;5246:23:89;11341:2257:94;5246:23:89;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;11341:2257:94;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;1150:7:89;11341:2257:94;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;2700:1:89;11341:2257:94;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;11341:2257:94;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;12761:835::-;11341:2257;;-1:-1:-1;;;12978:99:94;;-1:-1:-1;;;;;11341:2257:94;;;12978:99;;;11341:2257;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11341:2257:94;;;12997:20;11341:2257;;12978:99;;;;;;;;;;;12761:835;-1:-1:-1;11341:2257:94;;-1:-1:-1;;;13171:32:94;;;11341:2257;12978:99;11341:2257;;;;13171:32;;;;;;;13131:84;13171:32;12978:99;13171:32;;;;;;;12761:835;-1:-1:-1;11341:2257:94;;-1:-1:-1;;;13131:84:94;;-1:-1:-1;;;;;11341:2257:94;;;12978:99;13131:84;;11341:2257;;;;;;;;;;;;;-1:-1:-1;11341:2257:94;;;;;;;;;13131:84;;13142:11;;11341:2257;13131:84;;;;;;;12978:99;13131:84;;;12761:835;13259:50;;;;;:::i;:::-;11341:2257;;;13324:21;;;:52;;;12761:835;13324:85;;;;12761:835;13320:270;;12761:835;;;:::o;13320:270::-;13432:147;11341:2257;;;;13432:147;11341:2257;;;;:::i;:::-;;;;13171:32;13460:105;;11341:2257;;13460:105;;11341:2257;;;13432:147;;;13171:32;13432:147;;;:::i;13324:85::-;11341:2257;;;13380:29;;13324:85;;:52;11341:2257;;;13349:27;;13324:52;;13131:84;13259:50;13131:84;;;;;;12978:99;13131:84;;;;;;:::i;:::-;;;;;:::i;:::-;;;;13171:32;;;;;;;;;;;;;;:::i;:::-;;;;12978:99;;;;;;;;;;;;;;:::i;:::-;;;;;1827:195:93;;1955:60;1827:195;;-1:-1:-1;11341:2257:94;1955:13:93;11341:2257:94;;;-1:-1:-1;11341:2257:94;1955:60:93;:::i;11341:2257:94:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;11341:2257:94;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;12249:506::-;;;-1:-1:-1;12383:12:94;11341:2257;;;;;12529:96;;;;;;;;;;;;;11341:2257;;;;;;;12529:96;;;;;:::i;:::-;11341:2257;;716:88:95;;11341:2257:94;716:88:95;;;;;;;;;783:4;12529:96:94;716:88:95;;11341:2257:94;;;;;;;;;;;:::i;:::-;716:88:95;11341:2257:94;716:88:95;11341:2257:94;;716:88:95;;;;;;;;:::i;:::-;698:107;;;;;857:45;698:107;;:::i;:::-;11341:2257:94;;;;857:45:95;;;;;;:::i;:::-;916:8;;912:175;;11341:2257:94;;;12437:240;11341:2257;;12437:240;;;;;;:::i;:::-;12688:61;;;;12249:506;;;:::o;12688:61::-;12721:17;11341:2257;;;;12721:17;11341:2257;;12721:17;;;;;11341:2257;;;;;;;;;;;;12721:17;;;;;;;;;:::i;912:175:95:-;11341:2257:94;;;;944:22:95;;;940:36;;990:87;;11341:2257:94;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2764:920:89:-;;2978:48;2764:920;;;;2978:48;;;;:::i;:::-;3036:36;;;11341:2257:94;;:::i;:::-;;;;3086:20:89;3082:107;;2764:920;3216:11;;;;:193;;;;;2764:920;3216:394;;;;2764:920;3199:455;;;;;;2764:920;:::o;3199:455::-;3635:8;-1:-1:-1;3635:8:89;:::o;3216:394::-;3553:39;;;;;3430:180;3553:39;;;11341:2257:94;;;;;;;;;;3430:180:89;;467:2:101;11341:2257:94;3430:180:89;;;;;:::i;:::-;;11341:2257:94;3444:31:89;-1:-1:-1;;;;;11341:2257:94;3430:180:89;;;;;;;-1:-1:-1;3430:180:89;;;3216:394;3429:181;;3216:394;;;;;;3430:180;;;;3553:39;3430:180;3553:39;3430:180;;;;;;;:::i;:::-;;;;3216:193;-1:-1:-1;11341:2257:94;;;-1:-1:-1;;;;;;11341:2257:94;3248:161:89;3354:37;;;11341:2257:94;3248:161:89;11341:2257:94;;;;;;;;;;3248:161:89;;;;;;;:::i;:::-;;11341:2257:94;3262:29:89;-1:-1:-1;;;;;11341:2257:94;3248:161:89;;;;;;;-1:-1:-1;3248:161:89;;;3216:193;3247:162;;3216:193;;;3248:161;;;;;;;;;;;;;;:::i;:::-;;;;3082:107;3139:39;;;;;;;;;;;;;:::i;:::-;3082:107;;;;;11341:2257:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;8889:1:99;11341:2257:94;;;;;;;:::o;:::-;;:::i;3740:389:89:-;3918:5;11341:2257:94;;;-1:-1:-1;;;3853:71:89;;;-1:-1:-1;;;;;11341:2257:94;;;3853:71:89;;;11341:2257:94;;;;;;;;3740:389:89;;11341:2257:94;3853:71:89;;11341:2257:94;;3853:71:89;11341:2257:94;;;3867:29:89;11341:2257:94;;3853:71:89;;;;;;;3918:5;3853:71;;;3740:389;3852:72;;11341:2257:94;;;3852:181:89;;3740:389;3835:242;;;;;;4094:28;;;:::i;3835:242::-;4058:8;;3918:5;4058:8;:::o;3852:181::-;11341:2257:94;;3945:88:89;;;-1:-1:-1;;;;;11341:2257:94;;3853:71:89;3945:88;;11341:2257:94;467:2:101;11341:2257:94;;;;;;;;-1:-1:-1;11341:2257:94;;;;;;;;3959:31:89;11341:2257:94;3945:88:89;;;;;;;3918:5;3945:88;;;3852:181;3944:89;;;3852:181;;;;;3945:88;;;;;;-1:-1:-1;3945:88:89;;;;;;:::i;:::-;;;;;3853:71;;;;;;;;;;;;;;:::i;:::-;;;;4148:103:23;966:10:28;-1:-1:-1;11341:2257:94;;;;;;;;;885:35:93;;11341:2257:94;;3901:31:23;11341:2257:94;;4468:23:23;4464:108;;4148:103;:::o;:::-;-1:-1:-1;11341:2257:94;;;-1:-1:-1;;;;;;;;;;;11341:2257:94;;;;;;;;966:10:28;11341:2257:94;;;;;;;;;3901:31:23;11341:2257:94;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11341:2257:94;;-1:-1:-1;11341:2257:94;;;-1:-1:-1;11341:2257:94;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;;11341:2257:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;:::o;6246:584:99:-;;;;;6360:12;;;11341:2257:94;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;11341:2257:94;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;6644:21:99;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;11341:2257:94;;8310:38:73;;-1:-1:-1;;;;;11341:2257:94;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;11341:2257:94;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;11341:2257:94;;;;;;6360:12:99;11341:2257:94;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:99;;;11341:2257:94;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:99:-;;;11341:2257:94;;8620:15:99;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;11341:2257:94;9219:31:99;11341:2257:94;9130:48:99;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;11341:2257:94;:::i;:::-;;9176:1:99;11341:2257:94;9232:17:99;11341:2257:94;;;;;;;;9232:17:99;;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;;;9219:12:99;;:31;:::i;:::-;11341:2257:94;;;;;;;;;9259:7:99;;:::i;:::-;11341:2257:94;;;;9252:15:99;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:99;;-1:-1:-1;8578:11:99;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;11341:2257:94;;;;;;;8939:60:99;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;11341:2257:94;;;;;;8759:49:99;11341:2257:94;;;;8753:55:99;11341:2257:94;;;8753:55:99;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;11341:2257:94;;3670:20:30;3666:88;;1991:1;11341:2257:94;;3470:384:30:o;3666:88::-;11341:2257:94;;-1:-1:-1;;;3713:30:30;;;;;3701:308:93;;11341:2257:94;-1:-1:-1;11341:2257:94;3832:13:93;11341:2257:94;;;-1:-1:-1;11341:2257:94;11124:30:99;;;;:::i;:::-;11173;;;-1:-1:-1;11173:30:99;;;;11182:17;;-1:-1:-1;;;;;11341:2257:94;;11182:12:99;;:17;:::i;:::-;11341:2257:94;;;3832:13:93;11341:2257:94;;11173:30:99;3890::93;;;11173::99;3886:117:93;;;;3701:308;;:::o;3886:117::-;3936:56;11341:2257:94;-1:-1:-1;11341:2257:94;3832:13:93;11341:2257:94;;;-1:-1:-1;11341:2257:94;819:34:75;837:15;819:34;:::i;3936:56:93:-;3701:308;;:::o;3890:30::-;3900:20;;-1:-1:-1;3890:30:93;;;;11173::99;;;-1:-1:-1;11173:30:99;;7270:387:23;-1:-1:-1;;;;;11341:2257:94;;-1:-1:-1;11341:2257:94;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;11341:2257:94;;;;-1:-1:-1;11341:2257:94;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;-1:-1:-1;;11341:2257:94;7509:4:23;11341:2257:94;;;966:10:28;;-1:-1:-1;;;;;11341:2257:94;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7270:387::-;-1:-1:-1;;;;;11341:2257:94;;-1:-1:-1;11341:2257:94;;;;;;;;;1356:26:89;;-1:-1:-1;;;;;;;;;;;2887:71:23;11341:2257:94;;3901:31:23;11341:2257:94;;;;-1:-1:-1;11341:2257:94;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;-1:-1:-1;;11341:2257:94;7509:4:23;11341:2257:94;;;966:10:28;;-1:-1:-1;;;;;11341:2257:94;;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;;;;;11341:2257:94;;-1:-1:-1;11341:2257:94;;;;;;;;;885:35:93;;-1:-1:-1;;;;;;;;;;;2887:71:23;11341:2257:94;;3901:31:23;11341:2257:94;7270:387:23;-1:-1:-1;11341:2257:94;;;-1:-1:-1;;;;;;;;;;;11341:2257:94;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;3901:31:23;11341:2257:94;7892:388:23;-1:-1:-1;11341:2257:94;;;-1:-1:-1;;;;;;;;;;;11341:2257:94;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;;-1:-1:-1;11341:2257:94;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;966:10:28;;-1:-1:-1;;;;;11341:2257:94;;8155:40:23;-1:-1:-1;;8155:40:23;11341:2257:94;8209:11:23;:::o;10580:184:99:-;11341:2257:94;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;11341:2257:94;;10726:7:99;11341:2257:94;;10736:12:99;:17;:12;;:17;:::i;10446:63:73:-;11341:2257:94;;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;;-1:-1:-1;13267:109:99;;;11341:2257:94;;;10446:63:73;;11341:2257:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;:::i;5907:716:89:-;6030:34;5907:716;6030:34;;;;:::i;:::-;11341:2257:94;;-1:-1:-1;;;6080:41:89;;-1:-1:-1;;;;;11341:2257:94;;;6080:41:89;;;11341:2257:94;;;;;6080:41:89;11341:2257:94;;;6090:13:89;11341:2257:94;;6080:41:89;;;;;;;-1:-1:-1;6080:41:89;;;5907:716;6079:42;;6075:90;;6266:27;11341:2257:94;2684:111:30;6210:14:89;11341:2257:94;2684:111:30;;;:::i;:::-;11341:2257:94;;;;;;-1:-1:-1;;;;;11341:2257:94;;-1:-1:-1;11341:2257:94;;;-1:-1:-1;11341:2257:94;;6210:14:89;6266:27;:::i;:::-;6080:41;6311:15;;11341:2257:94;;;;-1:-1:-1;;;;;;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;6337:143:89;;5907:716;-1:-1:-1;6493:28:89;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;;;;;;6489:128:89;;5907:716;:::o;6489:128::-;6551:55;;;:::i;:::-;;5907:716::o;6337:143::-;6404:65;;;:::i;:::-;;6337:143;;;6075:90;11341:2257:94;;-1:-1:-1;;;6144:10:89;;6080:41;;6144:10;6080:41;;;;;;;;;;;;;;:::i;:::-;;;;11341:2257:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;11341:2257:94;;7686:17:99;7682:83;;11341:2257:94;7789:27:99;11341:2257:94;7789:27:99;11341:2257:94;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;11341:2257:94;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;11341:2257:94;8075:24:99;:::o;7975:84::-;11341:2257:94;;;8009:16:99;11341:2257:94;;8009:16:99;:::i;:::-;11341:2257:94;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;11341:2257:94;;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;11341:2257:94;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;11341:2257:94:-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;2737:699:93:-;;;;;11341:2257:94;;:::i;:::-;;;;2978:16:93;2974:92;;2737:699;-1:-1:-1;;3080:8:93;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;;;;3080:21:93;3076:85;;-1:-1:-1;11341:2257:94;3218:67:93;;11341:2257:94;;3257:27:93;;3218;;:13;;-1:-1:-1;;;;;11341:2257:94;3218:13:93;11341:2257:94;3218:27:93;3257;;;;11341:2257:94;;;;;;;;;;;3218:67:93;;;3080:8;3218:67;;;:::i;:::-;;;;;;;;;;3192:192;3218:67;-1:-1:-1;3218:67:93;;;2737:699;3341:28;3303:67;3341:28;;11341:2257:94;3341:28:93;;;3303:67;;:::i;:::-;3192:192;3463:5:70;;;;3066;;11341:2257:94;3060:42:70;3371:111;;3192:192:93;3398:21;;2737:699;:::o;3218:67::-;3303;3218;;;;3257:27;3218:67;3257:27;3218:67;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;3076:85;-1:-1:-1;;3128:21:93;;-1:-1:-1;;3117:33:93:o;2974:92::-;3024:31;;;;;;;;;;;;;:::i;:::-;2974:92;;;;;3442:253;3552:8;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;;;;;;3552:21:93;3548:60;;3634:27;3552:8;11341:2257:94;-1:-1:-1;11341:2257:94;;;;;;;;;;;3634:27:93;;;;;;;;;-1:-1:-1;3634:27:93;;;3442:253;2193:25;;:34;:25;11341:2257:94;;2193:13:93;11341:2257:94;;;;;;;2193:25:93;:34;:::i;3634:27::-;2193:34;3634:27;;;;2193:25;3634:27;;;;;;;;;;;:::i;:::-;;;;;;14296:213:71;11341:2257:94;14374:24:71;;;;14370:103;;11341:2257:94;14296:213:71;:::o;14370:103::-;11341:2257:94;;;;14421:41:71;;;;;;14452:2;14421:41;;;11341:2257:94;;;;;14421:41:71;10695:389:73;11341:2257:94;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;11341:2257:94;;;;;;;;;;10833:17:73;13267:109:99;;10833:17:73;13267:109:99;;;11341:2257:94;11014:1:73;11341:2257:94;;;;;;;11030:37:73;:::o;18080:5181:70:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;11341:2257:94;18246:1:70;11341:2257:94;22284:6:70;;;;:::i;:::-;11341:2257:94;;;;;22278:18:70;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;;;11341:2257:94;23216:28:70;11341:2257:94;;18080:5181:70;:::o;19887:61::-;18246:1;11341:2257:94;19887:61:70;;19787:87;11341:2257:94;;;;;19787:87:70;;;19687;11341:2257:94;;;;;19687:87:70;;;19585:89;11341:2257:94;;;;;19585:89:70;;;19482:90;11341:2257:94;;;;;19482:90:70;;;19379;11341:2257:94;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;11341:2257:94;-1:-1:-1;11341:2257:94;;;;19274:92:70;;12497:447:99;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:70;;;;;;11341:2257:94;;3731:5:70;;;11341:2257:94;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;11341:2257:94;13267:109:99;;;-1:-1:-1;13267:109:99;;11341:2257:94;;;;;-1:-1:-1;12771:136:99;11341:2257:94;;;12830:10:99;;12771:136;;12687:230;;;;12771:136;11341:2257:94;;;;;;;;;;;12771:136:99;;;6893:76:26;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;11341:2257:94;6893:76:26:o;11341:2257:94:-;;;;;;;:::i;:::-;-1:-1:-1;11341:2257:94;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;4015:918:93:-;11341:2257:94;;:::i;:::-;;4163:30:93;11341:2257:94;;4163:30:93;;;;;;;;;;;:::i;:::-;4208:17;;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;4208:17:93;11341:2257:94;;4208:54:93;;:103;;4015:918;4204:161;;4418:15;;;;11341:2257:94;;;;-1:-1:-1;;;4380:54:93;;-1:-1:-1;;;;;11341:2257:94;;;4380:54:93;;;;11341:2257:94;;;;4380:54:93;4418:15;;;;11341:2257:94;;;;;;;;4390:17:93;11341:2257:94;4380:54:93;;;;;;;4208:17;4380:54;;;4015:918;4379:55;;4375:106;;4496:9;;4511:33;;;4208:17;4553:3;4511:33;;11341:2257:94;;4507:44:93;;;;;4576:36;;;:50;:36;;:::i;:::-;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;;4576:50:93;;4572:119;;4709:73;4710:72;4745:36;;:33;;;:36;:::i;:::-;4710:72;:::i;:::-;4709:73;;11341:2257:94;4709:73:93;4705:140;;11341:2257:94;;4496:9:93;;4705:140;11341:2257:94;;-1:-1:-1;;;4809:21:93;;11341:2257:94;;4809:21:93;4572:119;11341:2257:94;;-1:-1:-1;;;4653:23:93;;11341:2257:94;;4653:23:93;4507:44;-1:-1:-1;;11341:2257:94;;4380:54:93;11341:2257:94;;-1:-1:-1;;;;;;11341:2257:94;-1:-1:-1;;;;;11341:2257:94;;;;;;;;;;-1:-1:-1;4865:26:93;;-1:-1:-1;;11341:2257:94;4865:26:93;4909:17;4015:918;:::o;4375:106::-;4418:15;11341:2257:94;-1:-1:-1;;;4457:13:93;;4380:54;;4457:13;4380:54;;;;;;;;;;;;;;:::i;:::-;;;;4204:161;11341:2257:94;;-1:-1:-1;;;4334:20:93;;;;;4208:103;4266:33;;;;;11341:2257:94;4266:45:93;4208:103;;6999:207:99;;11341:2257:94;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;11341:2257:94;;7168:7:99;11341:2257:94;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:99;;;;;;13089:293;;10135:41:73;11341:2257:94;;;;;10135:48:73;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;11341:2257:94;;;;;;;10049:53:73;13267:109:99;;-1:-1:-1;13267:109:99;11341:2257:94;13267:109:99;;;-1:-1:-1;13267:109:99;;11341:2257:94;;;;;9870:48:73;9866:149;11341:2257:94;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;11341:2257:94;;;;;;;:::i;:::-;-1:-1:-1;11341:2257:94;;;;;;;:::o;11486:272:99:-;;11341:2257:94;11452:22:73;11718:31:99;11486:272;11341:2257:94;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;11341:2257:94;;:::i;:::-;;11718:12:99;11341:2257:94;;;;;11731:17:99;11341:2257:94;;;;;11731:17:99;;11341:2257:94;;11718:12:99;;:31;:::i;:::-;11341:2257:94;;;;;;;;;:::i;:::-;;;;;;11731:17:99;11672:79;;11341:2257:94;11486:272:99;:::o;11341:2257:94:-;;;-1:-1:-1;;;11341:2257:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;11341:2257:94;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;11341:2257:94;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:99;;;;;;13089:293;;11916:28:73;11341:2257:94;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;11341:2257:94;;;;;;;;;;;;;;;;;12285:19:73;11341:2257:94;;12423:25:73;;:::o;12247:163::-;11341:2257:94;;;12343:52:73;11341:2257:94;12353:41:73;11341:2257:94;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;11341:2257:94;;12353:41:73;;;11341:2257:94;12343:52:73;:::i;:::-;12247:163;;12099:89;11341:2257:94;;-1:-1:-1;;;12143:30:73;;;;;11860:713;11341:2257:94;;12479:52:73;11341:2257:94;12489:41:73;11341:2257:94;;:::i;12489:41:73:-;-1:-1:-1;;;;;11341:2257:94;;12489:41:73;;;11341:2257:94;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o;7084:141:26:-;11341:2257:94;-1:-1:-1;;;;;;;;;;;11341:2257:94;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;11341:2257:94;;-1:-1:-1;;;7191:17:26;;;;","linkReferences":{},"immutableReferences":{"60120":[{"start":1956,"length":32}],"60123":[{"start":3948,"length":32}],"61074":[{"start":1429,"length":32},{"start":4005,"length":32}],"61077":[{"start":959,"length":32},{"start":8857,"length":32}],"61080":[{"start":1027,"length":32},{"start":6514,"length":32},{"start":6817,"length":32}],"61083":[{"start":1299,"length":32},{"start":6361,"length":32},{"start":6943,"length":32}],"62999":[{"start":3534,"length":32},{"start":11007,"length":32}],"64267":[{"start":3369,"length":32},{"start":5274,"length":32}],"64269":[{"start":2830,"length":32},{"start":5435,"length":32}],"64271":[{"start":3696,"length":32}],"64680":[{"start":1164,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","DEFAULT_ADMIN_ROLE()":"a217fddf","FACTORY()":"2dd31000","HOOK_GAS_LIMIT()":"ff54740f","HOOK_RESERVE()":"557cab44","HOOK_SET_ROLE()":"6679191e","NETWORK_LIMIT_SET_ROLE()":"7d24bb27","NETWORK_REGISTRY()":"c0cd7c3e","OPERATOR_NETWORK_OPT_IN_SERVICE()":"1a80e500","OPERATOR_REGISTRY()":"83ce0322","OPERATOR_VAULT_OPT_IN_SERVICE()":"128e5d82","OPT_IN_SERVICE_HINTS()":"9b656b22","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VAULT_HINTS()":"45e78fcb","VERSION()":"ffa1ad74","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hook()":"7f5a7c7b","initialize(bytes)":"439fab91","maxNetworkLimit(bytes32)":"d15b740e","networkLimit(bytes32)":"3eb22c0f","networkLimitAt(bytes32,uint48,bytes)":"5d32a1c9","networkLimitHint(address,bytes32,uint48)":"da749d2b","networkLimitHintInternal(bytes32,uint48)":"197aa7ea","onSlash(bytes32,address,uint256,uint48,bytes)":"e49561ee","operator()":"570ca735","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setHook(address)":"3dfd3873","setMaxNetworkLimit(uint96,uint256)":"23f752d5","setNetworkLimit(bytes32,uint256)":"02145348","stake(bytes32,address)":"fd4d447c","stakeAt(bytes32,address,uint48,bytes)":"e02f6937","stakeHints(address,bytes32,address,uint48)":"25dc9708","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultHints\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optInServiceHints\",\"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\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateRoleHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedsMaxNetworkLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientHookGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoleHolders\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOperator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"ZeroAddressRoleHolder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"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\":\"hook\",\"type\":\"address\"}],\"name\":\"SetHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetMaxNetworkLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SetNetworkLimit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_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\":\"HOOK_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_NETWORK_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_VAULT_OPT_IN_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPT_IN_SERVICE_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"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\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"maxNetworkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"}],\"name\":\"networkLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"networkLimitAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"networkLimitHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"hook_\",\"type\":\"address\"}],\"name\":\"setHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMaxNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setNetworkLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"stakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"stakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(bytes32,address,uint256,uint48)\":{\"params\":{\"amount\":\"amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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`)\"},\"SetHook(address)\":{\"params\":{\"hook\":\"address of the hook\"}},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new maximum subnetwork's limit (how much stake the subnetwork is ready to get)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"SetNetworkLimit(bytes32,uint256)\":{\"params\":{\"amount\":\"new subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}}},\"kind\":\"dev\",\"methods\":{\"VERSION()\":{\"details\":\"Must return 1 for this one.\",\"returns\":{\"_0\":\"version of the delegator\"}},\"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(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"networkLimit(bytes32)\":{\"params\":{\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"limit of the subnetwork\"}},\"networkLimitAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the subnetwork limit at\"},\"returns\":{\"_0\":\"limit of the subnetwork at the given timestamp\"}},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only the vault's slasher can call this function.\",\"params\":{\"amount\":\"amount of the collateral slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"data\":\"some additional data\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"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.\"},\"setHook(address)\":{\"details\":\"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.\",\"params\":{\"hook\":\"address of the hook\"}},\"setMaxNetworkLimit(uint96,uint256)\":{\"details\":\"Only a network can call this function.\",\"params\":{\"amount\":\"new maximum subnetwork's limit\"}},\"setNetworkLimit(bytes32,uint256)\":{\"details\":\"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"amount\":\"new limit of the subnetwork\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"stake(bytes32,address)\":{\"details\":\"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.\",\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"slashable stake until the end of the next epoch\"}},\"stakeAt(bytes32,address,uint48,bytes)\":{\"details\":\"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.\",\"params\":{\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to capture the stake at\"},\"returns\":{\"_0\":\"slashable stake at the given timestamp until the end of the consequent epoch\"}},\"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}.\"}},\"version\":1},\"userdoc\":{\"events\":{\"OnSlash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetHook(address)\":{\"notice\":\"Emitted when a hook is set.\"},\"SetMaxNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's maximum limit is set.\"},\"SetNetworkLimit(bytes32,uint256)\":{\"notice\":\"Emitted when a subnetwork's limit is set.\"}},\"kind\":\"user\",\"methods\":{\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"HOOK_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the hook.\"},\"HOOK_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the hook's execution.\"},\"HOOK_SET_ROLE()\":{\"notice\":\"Get a hook setter's role.\"},\"NETWORK_LIMIT_SET_ROLE()\":{\"notice\":\"Get a subnetwork limit setter's role.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"OPERATOR_NETWORK_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-network opt-in service's address.\"},\"OPERATOR_REGISTRY()\":{\"notice\":\"Get the operator registry's address.\"},\"OPERATOR_VAULT_OPT_IN_SERVICE()\":{\"notice\":\"Get the operator-vault opt-in service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"VERSION()\":{\"notice\":\"Get a version of the delegator (different versions mean different interfaces).\"},\"hook()\":{\"notice\":\"Get the hook's address.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"maxNetworkLimit(bytes32)\":{\"notice\":\"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake).\"},\"networkLimit(bytes32)\":{\"notice\":\"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"networkLimitAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork).\"},\"onSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Called when a slash happens.\"},\"operator()\":{\"notice\":\"Get an operator managing the vault's funds.\"},\"setHook(address)\":{\"notice\":\"Set a new hook.\"},\"setMaxNetworkLimit(uint96,uint256)\":{\"notice\":\"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork\"},\"setNetworkLimit(bytes32,uint256)\":{\"notice\":\"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork).\"},\"stake(bytes32,address)\":{\"notice\":\"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork).\"},\"stakeAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork).\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/DelegatorHints.sol\":\"OperatorSpecificDelegatorHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"},{"internalType":"address","name":"vaultHints","type":"address"},{"internalType":"address","name":"optInServiceHints","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":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DuplicateRoleHolder"},{"inputs":[],"type":"error","name":"ExceedsMaxNetworkLimit"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientHookGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"MissingRoleHolders"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotOperator"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"ZeroAddressRoleHolder"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","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":"hook","type":"address","indexed":true}],"type":"event","name":"SetHook","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetMaxNetworkLimit","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"SetNetworkLimit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_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":"HOOK_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HOOK_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_NETWORK_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_VAULT_OPT_IN_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPT_IN_SERVICE_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"VERSION","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"maxNetworkLimit","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"}],"stateMutability":"view","type":"function","name":"networkLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"networkLimitAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"networkLimitHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onSlash"},{"inputs":[],"stateMutability":"view","type":"function","name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setHook"},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkLimit"},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"stakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"stakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"VERSION()":{"details":"Must return 1 for this one.","returns":{"_0":"version of the delegator"}},"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(bytes)":{"params":{"data":"some data to use"}},"networkLimit(bytes32)":{"params":{"subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"limit of the subnetwork"}},"networkLimitAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the subnetwork limit at"},"returns":{"_0":"limit of the subnetwork at the given timestamp"}},"onSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only the vault's slasher can call this function.","params":{"amount":"amount of the collateral slashed","captureTimestamp":"time point when the stake was captured","data":"some additional data","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"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."},"setHook(address)":{"details":"Only a HOOK_SET_ROLE holder can call this function. The hook can have arbitrary logic under certain functions, however, it doesn't affect the stake guarantees.","params":{"hook":"address of the hook"}},"setMaxNetworkLimit(uint96,uint256)":{"details":"Only a network can call this function.","params":{"amount":"new maximum subnetwork's limit"}},"setNetworkLimit(bytes32,uint256)":{"details":"Only a NETWORK_LIMIT_SET_ROLE holder can call this function.","params":{"amount":"new limit of the subnetwork","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"}},"stake(bytes32,address)":{"details":"Warning: this function is not safe to use for stake capturing, as it can change by the end of the block.","params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"slashable stake until the end of the next epoch"}},"stakeAt(bytes32,address,uint48,bytes)":{"details":"Warning: it is not safe to use timestamp >= current one for the stake capturing, as it can change later.","params":{"hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to capture the stake at"},"returns":{"_0":"slashable stake at the given timestamp until the end of the consequent epoch"}},"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}."}},"version":1},"userdoc":{"kind":"user","methods":{"FACTORY()":{"notice":"Get the factory's address."},"HOOK_GAS_LIMIT()":{"notice":"Get a gas limit for the hook."},"HOOK_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the hook's execution."},"HOOK_SET_ROLE()":{"notice":"Get a hook setter's role."},"NETWORK_LIMIT_SET_ROLE()":{"notice":"Get a subnetwork limit setter's role."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"OPERATOR_NETWORK_OPT_IN_SERVICE()":{"notice":"Get the operator-network opt-in service's address."},"OPERATOR_REGISTRY()":{"notice":"Get the operator registry's address."},"OPERATOR_VAULT_OPT_IN_SERVICE()":{"notice":"Get the operator-vault opt-in service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"VERSION()":{"notice":"Get a version of the delegator (different versions mean different interfaces)."},"hook()":{"notice":"Get the hook's address."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"maxNetworkLimit(bytes32)":{"notice":"Get a particular subnetwork's maximum limit (meaning the subnetwork is not ready to get more as a stake)."},"networkLimit(bytes32)":{"notice":"Get a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"networkLimitAt(bytes32,uint48,bytes)":{"notice":"Get a subnetwork's limit at a given timestamp using a hint (how much stake the vault curator is ready to give to the subnetwork)."},"onSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Called when a slash happens."},"operator()":{"notice":"Get an operator managing the vault's funds."},"setHook(address)":{"notice":"Set a new hook."},"setMaxNetworkLimit(uint96,uint256)":{"notice":"Set a maximum limit for a subnetwork (how much stake the subnetwork is ready to get). identifier identifier of the subnetwork"},"setNetworkLimit(bytes32,uint256)":{"notice":"Set a subnetwork's limit (how much stake the vault curator is ready to give to the subnetwork)."},"stake(bytes32,address)":{"notice":"Get a stake that a given subnetwork will be able to slash for a certain operator until the end of the next epoch (if no cross-slashing and no slashings by the subnetwork)."},"stakeAt(bytes32,address,uint48,bytes)":{"notice":"Get a stake that a given subnetwork could be able to slash for a certain operator at a given timestamp until the end of the consequent epoch using hints (if no cross-slashing and no slashings by the subnetwork)."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/DelegatorHints.sol":"OperatorSpecificDelegatorHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":94} \ No newline at end of file diff --git a/out/SlasherHints.sol/BaseSlasherHints.json b/out/SlasherHints.sol/BaseSlasherHints.json index c9b5874..74aa9f7 100644 --- a/out/SlasherHints.sol/BaseSlasherHints.json +++ b/out/SlasherHints.sol/BaseSlasherHints.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"BURNER_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BURNER_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SLASHER_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VETO_SLASHER_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlashAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"cumulativeSlashHint","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlashHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isBurnerHook","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"latestSlashedCaptureTimestamp","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"slashableStake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"slashableStakeHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientBurnerGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NoBurner","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetworkMiddleware","inputs":[]},{"type":"error","name":"NotVault","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":"0x610180346101e757601f61728b38819003918201601f19168301926001600160401b03929091838511838610176101825781602092849260409788528339810103126101e75751906001600160a01b039081831683036101e757306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460ff81871c166101d65780838080931603610196575b5050505f60a0525f60c0525f60e052610100935f855261012093845280516120108082019082821085831117610182576020918391611b7983393081520301905ff09182156101785783610140931683528151906137028083019183831090831117610182576020918391613b8983393081520301905ff09283156101785761016093168352519261198d94856101ec8639608051856105f5015260a051856102cb015260c05185610904015260e0518581816101690152610e7f015251846102870152518381816106960152610c2a015251826105570152518161059b0152f35b50513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03191617905583518181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8181610096565b855163f92ee8a960e01b8152600490fd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063103f2907146101545780631a2be2c41461014f578063267de1f31461014a5780632964f8dc146101455780632c9d45b3146101405780632dd310001461013b57806334d098ea14610136578063439fab91146101315780634a7196551461012c5780634ea2e926146101275780634eb5a242146101225780636565b7db1461011d578063770280461461011857806379d89614146101135780639f86fd851461010e578063aa8e648914610109578063aab3595f14610104578063bb24fe8a146100ff578063d5c24e1a146100fa5763fbfa77cf146100f5575f80fd5b610945565b610928565b6108e5565b6108c0565b610882565b6106c5565b610681565b6105ca565b610586565b610542565b610525565b6104f0565b61034b565b6102fa565b6102b6565b610272565b610256565b610201565b6101ad565b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b6001600160a01b0381160361019857565b346101985760403660031901126101985760206101f96101f46024356101d28161019c565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b610da5565b604051908152f35b3461019857604036600319011261019857602065ffffffffffff61024c60243561022a8161019c565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610198575f366003190112610198576020604051614e208152f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f36600319011261019857602060ff5f5460a01c166040519015158152f35b9181601f84011215610198578235916001600160401b038311610198576020838186019501011161019857565b34610198576020366003190112610198576001600160401b036004358181116101985761037c90369060040161031e565b5f80516020611938833981519152549260ff8460401c161593168015908161047b575b6001149081610471575b159081610468575b50610456575f80516020611938833981519152805467ffffffffffffffff191660011790556103e4918361043257610e47565b6103ea57005b5f80516020611938833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611938833981519152805460ff60401b1916600160401b179055610e47565b60405163f92ee8a960e01b8152600490fd5b9050155f6103b1565b303b1591506103a9565b84915061039f565b65ffffffffffff81160361019857565b6080906003190112610198576004356104ab8161019c565b90602435906044356104bc8161019c565b906064356104c981610483565b90565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346101985761052161050d61050436610493565b929190916109ab565b6040519182916020835260208301906104cc565b0390f35b346101985761052161050d61053936610493565b92919091610b76565b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198576060366003190112610198576024356105e78161019c565b6044356105f381610483565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361066f5761064d610652926004355f52600260205260405f209060018060a01b03165f5260205260405f2090565b611045565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198576040366003190112610198576004356106e28161019c565b6024356001600160401b038111610198575f916107048392369060040161031e565b90816040519283928337810184815203915af4610751610722610d21565b916107436040519384921515602084015260408084015260608301906104cc565b03601f1981018352826107a8565b805190602001fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761078857604052565b610759565b60a081019081106001600160401b0382111761078857604052565b90601f801991011681019081106001600160401b0382111761078857604052565b604051906107d68261076d565b565b6001600160401b03811161078857601f01601f191660200190565b81601f820112156101985780359061080a826107d8565b9261081860405194856107a8565b8284526020838301011161019857815f926020809301838601378301015290565b90608060031983011261019857600435916024356108568161019c565b9160443561086381610483565b91606435906001600160401b038211610198576104c9916004016107f3565b346101985760206101f96108bb61089836610839565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611173565b346101985760206108dc6108d336610839565b92919091611342565b50604051908152f35b34610198575f3660031901126101985760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610198575f366003190112610198576020604051620249f08152f35b34610198575f366003190112610198575f546040516001600160a01b039091168152602090f35b5190811515820361019857565b519063ffffffff8216820361019857565b9190826040910312610198576104c960206109a48461096c565b9301610979565b5f809195949593929365ffffffffffff60609760405195602097633b81402360e11b89890152602488015260018060a01b03166044870152166064850152606484526109f68461078d565b6040519384610a2387820192639f86fd8560e01b84523060248401526040604484015260648301906104cc565b0394610a37601f19968781018352826107a8565b51915afa50610a55610a47610d21565b838082518301019101610fb0565b9015610aa857808380610a6d9351830101910161098a565b9290610a7857505050565b6104c992939450610a9c604051948592830191909163ffffffff6020820193169052565b039081018352826107a8565b809150519182156101985701fd5b9081602091031261019857516104c98161019c565b6040513d5f823e3d90fd5b81601f8201121561019857805190610aed826107d8565b92610afb60405194856107a8565b8284526020838301011161019857815f9260208093018386015e8301015290565b906020828203126101985781516001600160401b038111610198576104c99201610ad6565b906104c991602081526020610b61835160408385015260608401906104cc565b920151906040601f19828503019101526104cc565b60405163fbfa77cf60e01b815260609594919391926020926001600160a01b03929091908481600481878b165afa908115610cd257849186915f91610d04575b50600460405180948193630ce9b79360e41b8352165afa8015610cd25786948385925f948591610cd7575b506040516304bb92e160e31b81526001600160a01b039182166004820152602481019290925292909216604483015265ffffffffffff97909716606482015295869060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa948515610cd2575f95610caa575b50610c669394956109ab565b825115801590610ca0575b610c7a57505050565b6104c992939450610c896107c9565b938452818401526107436040519384928301610b41565b5080511515610c71565b610c66949550610ccb903d805f833e610cc381836107a8565b810190610b1c565b9493610c5a565b610acb565b610cf79150893d8b11610cfd575b610cef81836107a8565b810190610ab6565b5f610be1565b503d610ce5565b610d1b9150823d8411610cfd57610cef81836107a8565b5f610bb6565b3d15610d4b573d90610d32826107d8565b91610d4060405193846107a8565b82523d5f602084013e565b606090565b5f9081526002602090815260408083206001600160a01b039094168352929052206104c9929190611173565b8054821015610d91575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b805480610dda57505f5b6001600160d01b03811615610dd4576001610dca9201610d7c565b90549060031b1c90565b50505f90565b5f19908082810111610df857825f5260205f2001015460301c610daf565b610fe4565b919091604081840312610198578035610e158161019c565b9260208201356001600160401b038111610198576104c992016107f3565b90816020910312610198576104c99061096c565b610e5391810190610dfd565b506040516302910f8b60e31b81526001600160a01b0391821660048201819052919060209081816024817f000000000000000000000000000000000000000000000000000000000000000087165afa908115610cd2575f91610f83575b5015610f7157610ebe61159c565b5f80546001600160a01b0319166001600160a01b038516179055600481610ee36115d2565b94604051928380926313c085b760e11b82525afa918215610cd2575f92610f54575b5050161580610f4a575b610f3857516107d69015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515610f0f565b610f6a9250803d10610cfd57610cef81836107a8565b5f80610f05565b6040516362df054560e01b8152600490fd5b610fa39150823d8411610fa9575b610f9b81836107a8565b810190610e33565b5f610eb0565b503d610f91565b91909160408184031261019857610fc68161096c565b9260208201516001600160401b038111610198576104c99201610ad6565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610df857565b91908203918211610df857565b9060018201809211610df857565b9060405161102e8161076d565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116110e3575b61106193508561173d565b9081156110d7576110d06110c76110c1610dca61109361108e61108388610ff8565b895f5260205f200190565b611021565b9660016110ba60206110ab8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101610d7c565b93610ff8565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926110ee81611612565b8103908111610df85761106193865f526111226111178360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015611138575091611056565b92915061114490611013565b90611056565b90816020910312610198576104c990610979565b90600163ffffffff80931601918211610df857565b91805115611241578060208061118e9351830101910161114a565b91611199838261186f565b926111aa845165ffffffffffff1690565b9065ffffffffffff808516921682811461123557821191826111e0575b50506111d7576104c9925061179f565b50506020015190565b9091506111ed8354610ff8565b63ffffffff831614918215611206575b50505f806111c7565b61122d91925061122161121b6111179261115e565b8561186f565b5165ffffffffffff1690565b115f806111fd565b50505050506020015190565b506104c99161179f565b604051906112588261076d565b60606020838281520152565b906020828203126101985781516001600160401b0392838211610198570190604082820312610198576040519261129a8461076d565b825181811161019857826112af918501610ad6565b84526020830151908111610198576112c79201610ad6565b602082015290565b9081602091031261019857516104c981610483565b65ffffffffffff9182169082160391908211610df857565b90816020910312610198575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526104c9929101906104cc565b9261134b61124b565b90805180611582575b505061135f42611905565b5f5490949061138490611378906001600160a01b031681565b6001600160a01b031690565b93604051956327f843b560e11b875260209687816004818a5afa8015610cd2576113b992611117925f92611553575b506112e4565b65ffffffffffff821690811090811561153c575b811561150b575b506114ff578560049560405196878092630ce9b79360e41b82525afa948515610cd2576114269587915f916114e2575b50845190604051808099819463e02f693760e01b8352878b8a6004860161130b565b03916001600160a01b03165afa938415610cd25761149e955f956114a1575b509261148d85936114939361148d96869a6114846101f48361146f875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610d50565b90611006565b818082109118021890565b91565b61149392955061148d9491936114cf61148d928a3d8c116114db575b6114c781836107a8565b8101906112fc565b96935093919450611445565b503d6114bd565b6114f99150823d8411610cfd57610cef81836107a8565b5f611404565b5050505050505f905f90565b90506115356111176115298761146f875f52600160205260405f2090565b5465ffffffffffff1690565b115f6113d4565b905061154a61111742611905565b811015906113cd565b6115749192508a3d8c1161157b575b61156c81836107a8565b8101906112cf565b905f6113b3565b503d611562565b6115959250602080918301019101611264565b5f80611354565b6115a46118d7565b6115ac6118d7565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60405190602082018281106001600160401b03821117610788576040525f8252565b81156115fe570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156104c957600181600160801b81101561172b575b6116d36116c96116bf6116b56116ab6116a16116df97600488600160401b6116da9a101561171e575b640100000000811015611711575b62010000811015611704575b6101008110156116f8575b60108110156116ec575b10156116e4575b60030260011c61169a818b6115f4565b0160011c90565b61169a818a6115f4565b61169a81896115f4565b61169a81886115f4565b61169a81876115f4565b61169a81866115f4565b80936115f4565b821190565b900390565b60011b61168a565b811c9160021b91611683565b60081c91811b91611679565b60101c9160081b9161166e565b60201c9160101b91611662565b60401c9160201b91611654565b50600160401b9050608082901c61162b565b91905b83821061174d5750505090565b909192808316906001818518811c8301809311610df857855f5265ffffffffffff808460205f20015416908516105f1461178c575050925b9190611740565b909493508101809111610df85791611785565b908154905f829160058411611809575b6117ba93508461173d565b806117e257505f905b6001600160d01b03821615610dd4576104c9916001610dca9201610d7c565b6117fc6117f161180392610ff8565b835f5260205f200190565b5460301c90565b906117c3565b919261181481611612565b8103908111610df8576117ba93855f5265ffffffffffff808360205f20015416908516105f146118455750916117af565b92915061185190611013565b906117af565b604051906118648261076d565b5f6020838281520152565b906118986118926118b992611882611857565b5061188b611857565b5084610d7c565b50611021565b91600165ffffffffffff845116936020828060d01b03910151169101610d7c565b905490604051926118c98461076d565b835260031b1c602082015290565b60ff5f805160206119388339815191525460401c16156118f357565b604051631afcd79f60e31b8152600490fd5b65ffffffffffff90818111611918571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f277a4f1d79c926d3cf47f1d1c69c51a336ff12303565531614d4d54627d5eb964736f6c634300081900336101403461015d576001600160401b0390601f61201038819003918201601f1916830191848311848410176101615780849260209460405283398101031261015d5751906001600160a01b038216820361015d57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661014b578080831603610106575b835f60a0525f60c0525f60e052610100905f825261012090815260405190611e9a9283610176843960805183505060a051836104f2015260c0518381816109490152611373015260e05183818161031d01526116a301525182818161021c01526104ae0152518181816106920152610d390152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b60405163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063021a815614610124578063103f29071461011f5780631a2be2c41461011a578063238ab85f14610115578063267de1f3146101105780632964f8dc1461010b5780632c9d45b3146101065780632dd310001461010157806334d098ea146100fc578063439fab91146100f7578063457821b7146100f25780639f86fd85146100ed578063aa8e6489146100e8578063aab3595f146100e3578063bb24fe8a146100de578063d5c24e1a146100d95763fbfa77cf146100d4575f80fd5b61098a565b61096d565b61092a565b610905565b6108c7565b6106c1565b61067d565b610545565b610521565b6104dd565b610499565b61047d565b610428565b6103c4565b61034c565b610308565b61017b565b6001600160a01b0381160361013a57565b5f80fd5b65ffffffffffff81160361013a57565b9181601f8401121561013a578235916001600160401b03831161013a576020838186019501011161013a57565b3461013a5760a036600319011261013a5760043560243561019b81610129565b6064356101a78161013e565b6084356001600160401b03811161013a576101c690369060040161014e565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146102ec5760029055604051635daf681960e11b8152606086901c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa9182156102e7575f926102b6575b50339116036102a4576102a0946102679460443591610a63565b61029060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6040519081529081906020820190565b0390f35b60405163227bf64d60e01b8152600490fd5b6102d991925060203d6020116102e0575b6102d181836107dd565b810190610de5565b905f61024d565b503d6102c7565b610a27565b604051633ee5aeb560e01b8152600490fd5b5f91031261013a57565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a57604036600319011261013a57602061039861039360243561037181610129565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6115c2565b604051908152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461013a5760c036600319011261013a576102a06104146004356103e781610129565b6103f2602435610129565b6064356103fe81610129565b60a4359161040b8361013e565b60443590610ced565b6040519182916020835260208301906103a0565b3461013a57604036600319011261013a57602065ffffffffffff61047360243561045181610129565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b3461013a575f36600319011261013a576020604051614e208152f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a57602060ff5f5460a01c166040519015158152f35b3461013a57602036600319011261013a576001600160401b0360043581811161013a5761057690369060040161014e565b5f80516020611e45833981519152549260ff8460401c1615931680159081610675575b600114908161066b575b159081610662575b50610650575f80516020611e45833981519152805467ffffffffffffffff191660011790556105de918361062c5761166c565b6105e457005b5f80516020611e45833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611e45833981519152805460ff60401b1916600160401b17905561166c565b60405163f92ee8a960e01b8152600490fd5b9050155f6105ab565b303b1591506105a3565b849150610599565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a5760408060031936011261013a576004356106df81610129565b602435906001600160401b03821161013a575f809161070561076994369060040161014e565b908187519283928337810184815203915af43d156107715761075b3d61072a8161081a565b90610737865192836107dd565b81523d5f602083013e5b8451948593151560208501528084015260608301906103a0565b03601f1981018352826107dd565b805190602001fd5b61075b6060610741565b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176107aa57604052565b61077b565b604081019081106001600160401b038211176107aa57604052565b6001600160401b0381116107aa57604052565b90601f801991011681019081106001600160401b038211176107aa57604052565b6040519061080b826107af565b565b6040519061080b8261078f565b6001600160401b0381116107aa57601f01601f191660200190565b81601f8201121561013a5780359061084c8261081a565b9261085a60405194856107dd565b8284526020838301011161013a57815f926020809301838601378301015290565b90608060031983011261013a576004359160243561089881610129565b916044356108a58161013e565b91606435906001600160401b03821161013a576108c491600401610835565b90565b3461013a5760206103986109006108dd3661087b565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611806565b3461013a5760206109216109183661087b565b92919091610edf565b50604051908152f35b3461013a575f36600319011261013a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461013a575f36600319011261013a576020604051620249f08152f35b3461013a575f36600319011261013a575f546040516001600160a01b039091168152602090f35b604051906109be8261078f565b60608252565b9060208282031261013a5781356001600160401b039283821161013a57019060208282031261013a57604051926109fa8461078f565b823590811161013a57610a0d9201610835565b815290565b9081602091031261013a57516108c48161013e565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9182169082160391908211610a5e57565b610a32565b92939594919095610a726109b1565b9280610c53575b5050610a84426118de565b5f54600490602090610aac90610aa0906001600160a01b031681565b6001600160a01b031690565b6040516327f843b560e11b815292839182905afa80156102e757610ae692610adb925f92610c22575b50610a46565b65ffffffffffff1690565b65ffffffffffff8516908110908115610c0c575b50610bfa57610b0f610b1e9251858886610edf565b92909180831890831102821890565b958615610be857610ba361075b610b9a610be3947fe0cbbe1f1e6fd806ca87036fafcebaf7ab5247474a3b20e1c37bb50122c3a88496610b5f8a878b611115565b610b6a8c878b6111a3565b610b726107fe565b9182526020820152604051928391602083019190916020806040830194805184520151910152565b8689848861130f565b610bad8588611418565b610bb98588838761149d565b6040805188815265ffffffffffff90961660208701526001600160a01b0390911694918291820190565b0390a3565b60405163167f871760e31b8152600490fd5b604051631357ac9160e11b8152600490fd5b9050610c1a610adb426118de565b11155f610afa565b610c4591925060203d602011610c4c575b610c3d81836107dd565b810190610a12565b905f610ad5565b503d610c33565b610c619293508101906109c4565b905f80610a79565b81601f8201121561013a57805190610c808261081a565b92610c8e60405194856107dd565b8284526020838301011161013a57815f9260208093018386015e8301015290565b9060208282031261013a5781516001600160401b03811161013a576108c49201610c69565b60406108c49260208352519160208082015201906103a0565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252918216604482015265ffffffffffff909216606483015260609291905f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156102e7575f91610d97575b508051610d735750565b61075b9192506108c490610d8561080d565b90815260405192839160208301610cd4565b610db391503d805f833e610dab81836107dd565b810190610caf565b5f610d69565b5f9081526002602090815260408083206001600160a01b039094168352929052206108c4929190611806565b9081602091031261013a57516108c481610129565b60405190610e07826107af565b60606020838281520152565b9060208282031261013a5781516001600160401b039283821161013a57019060408282031261013a5760405192610e49846107af565b825181811161013a5782610e5e918501610c69565b8452602083015190811161013a57610e769201610c69565b602082015290565b9081602091031261013a575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526108c4929101906103a0565b5f19810191908211610a5e57565b91908203918211610a5e57565b92610ee8610dfa565b908051806110fb575b5050610efc426118de565b5f54909490610f1590610aa0906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa80156102e757610f4992610adb925f926110e35750610a46565b65ffffffffffff82169081109081156110cc575b811561109b575b5061108f578560049560405196878092630ce9b79360e41b82525afa9485156102e757610fb69587915f91611072575b50845190604051808099819463e02f693760e01b8352878b8a60048601610e8d565b03916001600160a01b03165afa9384156102e75761102e955f95611031575b509261101d85936110239361101d96869a61101461039383610fff875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610db9565b90610ed2565b818082109118021890565b91565b61102392955061101d94919361105f61101d928a3d8c1161106b575b61105781836107dd565b810190610e7e565b96935093919450610fd5565b503d61104d565b6110899150823d84116102e0576102d181836107dd565b5f610f94565b5050505050505f905f90565b90506110c5610adb6110b987610fff875f52600160205260405f2090565b5465ffffffffffff1690565b115f610f64565b90506110da610adb426118de565b81101590610f5d565b610c459192508a3d8c11610c4c57610c3d81836107dd565b61110e9250602080918301019101610e13565b5f80610ef1565b919091805f52600160205265ffffffffffff806111458560405f209060018060a01b03165f5260205260405f2090565b54169083161161115457505050565b61080b9261117c915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9060018201809211610a5e57565b9190825f5260026020526111fb6103936111d08360405f209060018060a01b03165f5260205260405f2090565b926111da426118de565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211610a5e57600181019081541561129f575b61121b81611b1c565b50949083549561122a846115c2565b508161128a575b50156112695750505f198301928311610a5e5761080b9261125191611599565b90919082549060031b91821b915f19901b1916179055565b61080b94611283926001600160d01b039091169190611bdd565b505061193d565b65ffffffffffff83811691161490505f611231565b6112a882611910565b611212565b606060206108c4938184526001600160401b038151168285015201519160408082015201906103a0565b919360a0936108c4969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103a0565b9293906004602061132c610aa0610aa05f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa9081156102e75761075b916113aa915f916113f9575b506001600160a01b0316936113696107fe565b6001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152906020820152604051928391602083016112ad565b823b1561013a575f946113d586926040519889978896879563724ab0f760e11b8752600487016112d7565b03925af180156102e7576113e65750565b806113f361080b926107ca565b806102fe565b611412915060203d6020116102e0576102d181836107dd565b5f611356565b5f8054604051631c9e38c760e21b8152600481019390935265ffffffffffff9390931660248301529091602091839160449183916001600160a01b03165af180156102e7576114645750565b61147c9060203d60201161106b5761105781836107dd565b50565b8115611489570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c166114b5575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa9182156102e7575f92611572575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff909116608483015261153f8260a481015b03601f1981018452836107dd565b6202a15c5a10611560575f928380935192620249f0f1505f808080806114ae565b604051632153f33560e21b8152600490fd5b61153f92506115926115319160203d6020116102e0576102d181836107dd565b92506114e6565b80548210156115ae575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054806115f757505f5b6001600160d01b038116156115f15760016115e79201611599565b90549060031b1c90565b50505f90565b5f19908082810111610a5e57825f5260205f2001015460301c6115cc565b91909160408184031261013a57803561162d81610129565b9260208201356001600160401b03811161013a576108c49201610835565b5190811515820361013a57565b9081602091031261013a576108c49061164b565b61167891810190611615565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156102e7575f916117a8575b501561179657816117086004926116e9611960565b5f80546001600160a01b0319166001600160a01b038916179055611996565b94604051928380926313c085b760e11b82525afa9182156102e7575f92611779575b505016158061176f575b61175d575161080b9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515611734565b61178f9250803d106102e0576102d181836107dd565b5f8061172a565b6040516362df054560e01b8152600490fd5b6117c89150833d85116117ce575b6117c081836107dd565b810190611658565b5f6116d4565b503d6117b6565b9081602091031261013a575163ffffffff8116810361013a5790565b90600163ffffffff80931601918211610a5e57565b918051156118d45780602080611821935183010191016117d5565b9161182c8382611aae565b9261183d845165ffffffffffff1690565b9065ffffffffffff80851692168281146118c85782119182611873575b505061186a576108c492506119de565b50506020015190565b9091506118808354610ec4565b63ffffffff831614918215611899575b50505f8061185a565b6118c09192506118b46118ae610adb926117f1565b85611aae565b5165ffffffffffff1690565b115f80611890565b50505050506020015190565b506108c4916119de565b65ffffffffffff908181116118f1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b8054600160401b8110156107aa5761192d91600182018155611599565b8154905f199060031b1b19169055565b90815491600160401b8310156107aa578261125191600161080b95018155611599565b611968611b55565b611970611b55565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6040516119a38161078f565b5260208180518101031261013a576020906040516119c08161078f565b6119d86040519384936119d28561078f565b0161164b565b82525290565b908154905f829160058411611a48575b6119f9935084611de5565b80611a2157505f905b6001600160d01b038216156115f1576108c49160016115e79201611599565b611a3b611a30611a4292610ec4565b835f5260205f200190565b5460301c90565b90611a02565b9192611a5381611cba565b8103908111610a5e576119f993855f5265ffffffffffff808360205f20015416908516105f14611a845750916119ee565b929150611a9090611195565b906119ee565b60405190611aa3826107af565b5f6020838281520152565b9060206001611ad2611afe93611ac2611a96565b50611acb611a96565b5085611599565b509360405194611ae1866107af565b549465ffffffffffff86169586825260301c938491015201611599565b90549060405192611b0e846107af565b835260031b1c602082015290565b805480611b2d5750505f905f905f90565b5f19918183810111610a5e575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020611e458339815191525460401c1615611b7157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156107aa57611ba091600182018155611599565b611bca57815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c9057611bf4611bff91610ec4565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c7e57879303611c455750611c3e92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c7991611c65611c576107fe565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b83565b611c3e565b604051632520601d60e01b8152600490fd5b5090611cb591611ca1611c576107fe565b6001600160d01b0385166020830152611b83565b5f9190565b60018111156108c457600181600160801b811015611dd3575b611d7b611d71611d67611d5d611d53611d49611d8797600488600160401b611d829a1015611dc6575b640100000000811015611db9575b62010000811015611dac575b610100811015611da0575b6010811015611d94575b1015611d8c575b60030260011c611d42818b61147f565b0160011c90565b611d42818a61147f565b611d42818961147f565b611d42818861147f565b611d42818761147f565b611d42818661147f565b809361147f565b821190565b900390565b60011b611d32565b811c9160021b91611d2b565b60081c91811b91611d21565b60101c9160081b91611d16565b60201c9160101b91611d0a565b60401c9160201b91611cfc565b50600160401b9050608082901c611cd3565b91905b838210611df55750505090565b9091928083169080841860011c8201809211610a5e57845f5265ffffffffffff808360205f20015416908416105f14611e325750925b9190611de8565b939250611e3e90611195565b91611e2b56fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f6c8c6e53e56abe4ba9bf3f192a97636699c1edad17d1630537b4ec239db2d6c64736f6c634300081900336101603461017c576001600160401b0390601f61370238819003918201601f1916830191848311848410176101805780849260209460405283398101031261017c5751906001600160a01b038216820361017c57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661016a578080831603610125575b835f60a0525f60c0525f60e052610100905f8252610120905f82526101409081526040519161356d9384610195853960805184610b68015260a0518461047b015260c05184818161158e0152612c56015260e0518481816102e801526122c2015251838181610437015261244c015251828181610c7a01526115e40152518181816108060152818161191c0152611d110152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b60405163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80622a087514610213578063103f29071461020e5780631a2be2c4146102095780631dd5f60014610204578063267de1f3146101ff5780632964f8dc146101fa5780632c9d45b3146101f55780632dd31000146101f057806331ce4dfe146101eb57806334d098ea146101e6578063439fab91146101e1578063457821b7146101dc5780635264679b146101d7578063545ce389146101d257806369f78920146101cd5780638f42f9ab146101c85780638f82f931146101c35780639168f9d2146101be5780639a896551146101b95780639f86fd85146101b4578063a4ef9b4f146101af578063aa8e6489146101aa578063aab3595f146101a5578063b94c386e146101a0578063bb24fe8a1461019b578063bc6eac5b14610196578063c0cd7c3e14610191578063cd05b8a11461018c578063d5c24e1a14610187578063e054e08b14610182578063f9268d181461017d5763fbfa77cf14610178575f80fd5b61181b565b6116ad565b611688565b61166b565b611613565b6115cf565b6115b2565b61156f565b61121d565b6111c5565b611187565b611124565b611090565b611005565b610bda565b610b49565b610b2c565b610ae7565b61084f565b610835565b6107f1565b6106b9565b610668565b6105ff565b610466565b610422565b610406565b6103b1565b610397565b610317565b6102d3565b610261565b6001600160a01b0381160361022957565b5f80fd5b65ffffffffffff81160361022957565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102295760c0366003190112610229576102c56102b160043561028481610218565b61028f602435610218565b60643561029b81610218565b60a435916102a88361022d565b604435906118d1565b60405191829160208352602083019061023d565b0390f35b5f91031261022957565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022957604036600319011261022957602061036361035e60243561033c81610218565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6120da565b604051908152f35b60609060031901126102295760043561038381610218565b90602435906044356103948161022d565b90565b34610229576102c56102b16103ab3661036b565b916119a8565b3461022957604036600319011261022957602065ffffffffffff6103fc6024356103da81610218565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610229575f366003190112610229576020604051614e208152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176104d957604052565b6104aa565b604081019081106001600160401b038211176104d957604052565b606081019081106001600160401b038211176104d957604052565b6001600160401b0381116104d957604052565b608081019081106001600160401b038211176104d957604052565b90601f801991011681019081106001600160401b038211176104d957604052565b6040519060c082018281106001600160401b038211176104d957604052565b6040519061058f826104f9565b565b6040519061058f826104de565b6001600160401b0381116104d957601f01601f191660200190565b81601f82011215610229578035906105d08261059e565b926105de6040519485610542565b8284526020838301011161022957815f926020809301838601378301015290565b346102295760603660031901126102295760243561061c8161022d565b604435906001600160401b0382116102295761065f61064160209336906004016105b9565b6004355f90815260068552604090206001600160a01b039390612152565b16604051908152f35b34610229575f36600319011261022957602060ff5f5460a01c166040519015158152f35b9181601f84011215610229578235916001600160401b038311610229576020838186019501011161022957565b34610229576020366003190112610229576001600160401b03600435818111610229576106ea90369060040161068c565b5f80516020613518833981519152549260ff8460401c16159316801590816107e9575b60011490816107df575b1590816107d6575b506107c4575f80516020613518833981519152805467ffffffffffffffff1916600117905561075291836107a05761228b565b61075857005b5f80516020613518833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020613518833981519152805460ff60401b1916600160401b17905561228b565b60405163f92ee8a960e01b8152600490fd5b9050155f61071f565b303b159150610717565b84915061070d565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576102c56102b16108493661036b565b91611a2c565b346102295760a0366003190112610229576024356004803561087083610218565b604435926064356108808161022d565b6084356001600160401b0381116102295761089e903690860161068c565b94906108a86123f5565b6108b185612424565b6108b9611abe565b9580610ad1575b50506108cb426125f5565b906108e66108df825465ffffffffffff1690565b8093611b1f565b5f5490969061090b906108ff906001600160a01b031681565b6001600160a01b031690565b968260206040998a51928380926327f843b560e11b82525afa8015610acc5761094a9261093f925f92610a9b575b50611a14565b65ffffffffffff1690565b65ffffffffffff8516908110908115610a85575b50610a765761097090518486886127d0565b5096878082109118028088189714610a68576102c5610a41878988887f3cb7f4ff6cecf74cee0eb9ae3ebf8933fa60a53014cce52f96da72a78dba8464896109c08a6109bb426125f5565b611b1f565b92600354978894610a116109d2610563565b8881526001600160a01b0385166020820152808b018a905265ffffffffffff8616606082015265ffffffffffff831660808201525f60a0820152611b61565b885197885265ffffffffffff938416602089015290921660408701526001600160a01b0316949081906060820190565b0390a4610a5a60015f805160206134f883398151915255565b519081529081906020820190565b855163167f871760e31b8152fd5b508551631357ac9160e11b8152fd5b9050610a9361093f426125f5565b11155f61095e565b610abe91925060203d602011610ac5575b610ab68183610542565b810190611b39565b905f610939565b503d610aac565b6118ad565b610adf929650810190611ad1565b935f806108c0565b34610229576080366003190112610229576102c56102b1600435610b0a81610218565b604435610b1681610218565b60643591610b238361022d565b60243590611c97565b34610229575f366003190112610229576020600354604051908152f35b3461022957604036600319011261022957602435610b668161022d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610bc85763ffffffff610bb36040926004355f526006602052835f206124df565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102295760603660031901126102295760048035906bffffffffffffffffffffffff8216820361022957602435610c1181610218565b6044356001600160401b03811161022957610c2f903690840161068c565b90610c386123f5565b610c40611abe565b5081610fa0575b5050604080516302910f8b60e31b8152338185019081526001600160a01b0395929491602091829082908190830103818a7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610acc575f91610f73575b5015610f64575f54610ce5906001600160a01b0316936bffffffffffffffffffffffff166bffffffffffffffffffffffff193360601b161790565b95610d00610cfb885f52600660205260405f2090565b613223565b50949015610efa57610d1461093f426125f5565b65ffffffffffff9586161115610ec457610d3e610d39895f52600660205260405f2090565b6125b6565b505b610d636108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b612e74565b91808716928303610dcf575b505050505050610db4907f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b7570925b516001600160a01b0390911681529081906020820190565b0390a2610dcd60015f805160206134f883398151915255565b005b610de68998959796985f52600660205260405f2090565b911692845163186a323160e21b815281818981885afa908115610acc575f91610ea7575b5081600554958751998a80926327f843b560e11b82525afa908115610acc5789610e6f610e81977f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b75709c610e7695610db49d610e7b985f92610e8a575b50501690611de6565b9116611e07565b6125f5565b9061341a565b82958495610d6f565b610ea09250803d10610ac557610ab68183610542565b5f80610e66565b610ebe9150823d8411610ac557610ab68183610542565b5f610e0a565b610ee26108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b82871603610d4057865163a741a04560e01b81528490fd5b5093949385169250508115610f56575091610db491610f4f7f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b757094610f46875f52600660205260405f2090565b610e7b426125f5565b5050610d9c565b825163a741a04560e01b8152fd5b5083516323d53b9760e21b8152fd5b610f939150823d8411610f99575b610f8b8183610542565b810190611dd2565b5f610caa565b503d610f81565b610fac91810190611ad1565b505f80610c47565b634e487b7160e01b5f52603260045260245ffd5b6003548110156110005760035f5260021b7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01905f90565b610fb4565b34610229576020366003190112610229576004356003548110156102295761102c90610fc8565b50805460018201546002830154600390930154604080519384526001600160a01b0390921660208401529082019290925265ffffffffffff808316606080840191909152603084901c90911660808301529190911c60ff16151560a082015260c090f35b34610229576040366003190112610229576004356110ad81610218565b6024356001600160401b038111610229575f916110cf8392369060040161068c565b90816040519283928337810184815203915af461111c6110ed611e14565b9161110e60405193849215156020840152604080840152606083019061023d565b03601f198101835282610542565b805190602001fd5b34610229576102c56102b16111383661036b565b91611e75565b906080600319830112610229576004359160243561115b81610218565b916044356111688161022d565b91606435906001600160401b03821161022957610394916004016105b9565b346102295760206103636111c061119d3661113e565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b61265b565b346102295760206111e16111d83661113e565b929190916127d0565b50604051908152f35b9060406003198301126102295760043591602435906001600160401b038211610229576112199160040161068c565b9091565b346102295761122b366111ea565b91906112356123f5565b61123d611f9a565b9280611559575b50506003548110156115475761125981610fc8565b509081549061126782612424565b6003830180549365ffffffffffff9384861660018060a01b0361128c895183856119bf565b1615158061151c575b80611503575b6114f1576112b1816112ac426125f5565b611a14565b5f546112c7906108ff906001600160a01b031681565b96600460206040998a51928380926327f843b560e11b82525afa8015610acc5782915f916114d2575b50169116116114c157600183018054909861131b93929188906001600160a01b0316910151926127d0565b90611330816002850154818082109118021890565b9687156114b05760601c60ff1661149f579261145861144b89946114236114108b9687876102c59f61141e8f9d8f9e61145e9f61137a86600160601b60ff60601b19825416179055565b8a54855461139c91906001600160a01b0316885465ffffffffffff1691612a06565b8a5485546113b59189916001600160a01b031690612a86565b8a5494546113d3906001600160a01b0316965465ffffffffffff1690565b976113dc610582565b9384526020840152818301525196879160208301919091604080606083019480518452602081015160208501520151910152565b03601f198101875286610542565b612bf2565b61143c611436855465ffffffffffff1690565b86612cfb565b5494546001600160a01b031690565b915465ffffffffffff1690565b92612d78565b81518381527f5cc28df3b54da9d06f805d87616ebf969c81310f2aa8369cb14ca50f815d411190602090a2610a5a60015f805160206134f883398151915255565b8551633428e90760e01b8152600490fd5b865163167f871760e31b8152600490fd5b8551639ea153eb60e01b8152600490fd5b6114eb915060203d602011610ac557610ab68183610542565b5f6112f0565b60405163b62b15c760e01b8152600490fd5b5061151061093f426125f5565b868860301c161161129b565b506115406108ff61153461152f426125f5565b6119f8565b60208b015190856119bf565b1515611295565b604051637822972360e11b8152600490fd5b611567929350810190611fb9565b905f80611244565b34610229575f3660031901126102295760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610229575f366003190112610229576020600554604051908152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576040366003190112610229576024356001600160401b0381116102295761165961164860209236906004016105b9565b611651426125f5565b6004356119bf565b6040516001600160a01b039091168152f35b34610229575f366003190112610229576020604051620249f08152f35b34610229575f36600319011261022957602065ffffffffffff60045416604051908152f35b34610229576116bb366111ea565b906116c46123f5565b6116cc612041565b9180611807575b5050600354821015611547576116e882610fc8565b506003815491019182549165ffffffffffff9160018060a01b036117108251858716856119bf565b169182159182156117de575b50506117cc5733036117ba5761173461093f426125f5565b908260301c1611156117a95760601c60ff1661179757805460ff60601b1916600160601b17905533907f7d3d269c851b72257a5194a401d151902e9be4347d555996dcff3ff86a077e925f80a3610dcd60015f805160206134f883398151915255565b604051633428e90760e01b8152600490fd5b60405162c457e560e81b8152600490fd5b604051635d154fe160e11b8152600490fd5b60405163dd1ebd9d60e01b8152600490fd5b6117ff9250906108ff9160206117f661152f426125f5565b910151916119bf565b155f8061171c565b611814925081019061205a565b5f806116d3565b34610229575f366003190112610229575f546040516001600160a01b039091168152602090f35b81601f82011215610229578051906118598261059e565b926118676040519485610542565b8284526020838301011161022957815f9260208093018386015e8301015290565b906020828203126102295781516001600160401b038111610229576103949201611842565b6040513d5f823e3d90fd5b604061039492602083525191602080820152019061023d565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252909116604482015265ffffffffffff9091166064820152606091905f81806084810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610acc575f91611986575b50805161195e5750565b61110e9192506103949060405190611975826104be565b8152604051928391602083016118b8565b6119a291503d805f833e61199a8183610542565b810190611888565b5f611954565b92916119b691606094611e75565b805161195e5750565b5f9081526006602052604090206001600160a01b03926119e0929091612152565b1690565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9081165f190191908211611a0f57565b6119e4565b65ffffffffffff9182169082160391908211611a0f57565b611a4d90939293611a406060958483611e75565b9261113861152f426125f5565b815115801590611ab4575b611a60575050565b611aa19293509061110e6103949260405192611a7b846104de565b83526020830190815260405194859360208086015251604080860152608085019061023d565b9051838203603f1901606085015261023d565b5080511515611a58565b60405190611acb826104be565b60608252565b906020828203126102295781356001600160401b03928382116102295701906020828203126102295760405192611b07846104be565b823590811161022957611b1a92016105b9565b815290565b91909165ffffffffffff80809416911601918211611a0f57565b9081602091031261022957516103948161022d565b634e487b7160e01b5f525f60045260245ffd5b600354600160401b8110156104d957806001611b809201600355610fc8565b919091611c43578051825560208101516001830180546001600160a01b0319166001600160a01b039290921691909117905561058f91611c299060a090600390604085015160028201550192611bf665ffffffffffff606083015116859065ffffffffffff1665ffffffffffff19825416179055565b60808101516bffffffffffff00000000000085549160301b16906bffffffffffff00000000000019161784550151151590565b815460ff60601b191690151560601b60ff60601b16179055565b611b4e565b906103949160208152611c67825160606020840152608083019061023d565b9060606040611c87602086015194601f199586868303018487015261023d565b940151928285030191015261023d565b919093925f606095611caa838287611e75565b94611d0d611cc4611cbd61152f426125f5565b8484611e75565b604051632751749360e11b81526001600160a01b039384166004820152602481019490945291909516604483015265ffffffffffff909316606482015292839081906084820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610acc575f92611da9575b50825115801590611d9f575b8015611d95575b611d6557505050565b61110e939450906103949291611d79610582565b9283526020830152604082015260405192839160208301611c48565b5081511515611d5c565b5080511515611d55565b611dbe9192503d805f833e61199a8183610542565b905f611d49565b5190811515820361022957565b908160209103126102295761039490611dc5565b81810292918115918404141715611a0f57565b9060018201809211611a0f57565b91908201809211611a0f57565b3d15611e3e573d90611e258261059e565b91611e336040519384610542565b82523d5f602084013e565b606090565b519063ffffffff8216820361022957565b9190826040910312610229576103946020611e6e84611dc5565b9301611e43565b92915f8060609565ffffffffffff60405194602096638f82f93160e01b88880152602487015216604485015260448452611eae84610527565b6040519384611edb87820192639f86fd8560e01b845230602484015260406044840152606483019061023d565b0394611eef601f1996878101835282610542565b51915afa50611f0d611eff611e14565b838082518301019101612627565b9015611f6057808380611f2593518301019101611e54565b9290611f3057505050565b61039492939450611f54604051948592830191909163ffffffff6020820193169052565b03908101835282610542565b809150519182156102295701fd5b5f9081526002602090815260408083206001600160a01b0390941683529290522061039492919061265b565b60405190611fa7826104f9565b60606040838281528260208201520152565b906020828203126102295781356001600160401b03928382116102295701906060828203126102295760405192611fef846104f9565b823581811161022957826120049185016105b9565b84526020830135818111610229578261201e9185016105b9565b602085015260408301359081116102295761203992016105b9565b604082015290565b6040519061204e826104de565b60606020838281520152565b906020828203126102295781356001600160401b03928382116102295701906040828203126102295760405192612090846104de565b823581811161022957826120a59185016105b9565b84526020830135908111610229576120bd92016105b9565b602082015290565b8054821015611000575f5260205f2001905f90565b6120e381612e74565b6001600160d01b038116156121085760016120fe92016120c5565b90549060031b1c90565b50505f90565b908160209103126102295761039490611e43565b5f19810191908211611a0f57565b91908203918211611a0f57565b90600163ffffffff80931601918211611a0f57565b91805115612236578060208061216d9351830101910161210e565b916121788382612eb4565b92612189845165ffffffffffff1690565b9065ffffffffffff808516921682811461221d57821191826121c8575b50506121b6576103949250613319565b5050602001516001600160d01b031690565b9091506121d58354612122565b63ffffffff8316149182156121ee575b50505f806121a6565b61221591925061220961220361093f9261213d565b85612eb4565b5165ffffffffffff1690565b115f806121e5565b50505050602091909101516001600160d01b0316905090565b5061039491613319565b91909160408184031261022957803561225881610218565b9260208201356001600160401b0381116102295761039492016105b9565b90816020910312610229575161039481610218565b61229791810190612240565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610acc575f916123d8575b50156123c65781612328600492612308612f08565b5f80546001600160a01b0319166001600160a01b03891617905586612f95565b94604051928380926313c085b760e11b82525afa918215610acc575f92612399575b505016158061238f575b61237d575161058f9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515612354565b6123b89250803d106123bf575b6123b08183610542565b810190612276565b5f8061234a565b503d6123a6565b6040516362df054560e01b8152600490fd5b6123ef9150833d8511610f9957610f8b8183610542565b5f6122f3565b5f805160206134f883398151915260028154146124125760029055565b604051633ee5aeb560e01b8152600490fd5b604051635daf681960e11b815260609190911c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa918215610acc575f9261249a575b503391160361248857565b60405163227bf64d60e01b8152600490fd5b6124b491925060203d6020116123bf576123b08183610542565b905f61247d565b906040516124c8816104de565b915465ffffffffffff8116835260301c6020830152565b908154905f829160058411612568575b6124fa9350846131c1565b90811561255c5761251b9061250e83612122565b905f5260205f20016124bb565b9161255561254c6125466020612537875165ffffffffffff1690565b9601516001600160d01b031690565b93612122565b63ffffffff1690565b6001939291565b50505f905f905f905f90565b919261257381613096565b8103908111611a0f576124fa93855f5265ffffffffffff808360205f20015416908516105f146125a45750916124ef565b9291506125b090611df9565b906124ef565b906125c082612e74565b91805480156125e1575f1901906125d782826120c5565b611c43575f905555565b634e487b7160e01b5f52603160045260245ffd5b65ffffffffffff90818111612608571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b9190916040818403126102295761263d81611dc5565b9260208201516001600160401b038111610229576103949201611842565b9180511561271d57806020806126769351830101910161210e565b916126818382613267565b92612692845165ffffffffffff1690565b9065ffffffffffff808516921682811461271157821191826126c8575b50506126bf57610394925061325c565b50506020015190565b9091506126d58354612122565b63ffffffff8316149182156126ee575b50505f806126af565b61270991925061220961270361093f9261213d565b85613267565b115f806126e5565b50505050506020015190565b506103949161325c565b906020828203126102295781516001600160401b0392838211610229570190604082820312610229576040519261275d846104de565b82518181116102295782612772918501611842565b84526020830151908111610229576120bd9201611842565b90816020910312610229575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526103949291019061023d565b926127d9612041565b908051806129ec575b50506127ed426125f5565b5f54909490612806906108ff906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa8015610acc5761283a9261093f925f926129d45750611a14565b65ffffffffffff82169081109081156129bd575b811561298c575b50612980578560049560405196878092630ce9b79360e41b82525afa948515610acc576128a79587915f91612963575b50845190604051808099819463e02f693760e01b8352878b8a60048601612799565b03916001600160a01b03165afa938415610acc5761291f955f95612922575b509261290e85936129149361290e96869a61290561035e836128f0875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192611f6e565b90612130565b818082109118021890565b91565b61291492955061290e94919361295061290e928a3d8c1161295c575b6129488183610542565b81019061278a565b969350939194506128c6565b503d61293e565b61297a9150823d84116123bf576123b08183610542565b5f612885565b5050505050505f905f90565b90506129b661093f6129aa876128f0875f52600160205260405f2090565b5465ffffffffffff1690565b115f612855565b90506129cb61093f426125f5565b8110159061284e565b610abe9192508a3d8c11610ac557610ab68183610542565b6129ff9250602080918301019101612727565b5f806127e2565b919091805f52600160205265ffffffffffff80612a368560405f209060018060a01b03165f5260205260405f2090565b541690831611612a4557505050565b61058f92612a6d915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9190825f526002602052612ade61035e612ab38360405f209060018060a01b03165f5260205260405f2090565b92612abd426125f5565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211611a0f576001810190815415612b82575b612afe81613223565b509490835495612b0d846120da565b5081612b6d575b5015612b4c5750505f198301928311611a0f5761058f92612b34916120c5565b90919082549060031b91821b915f19901b1916179055565b61058f94612b66926001600160d01b03909116919061341a565b50506132f6565b65ffffffffffff83811691161490505f612b14565b612b8b826132c9565b612af5565b60606020610394938184526001600160401b0381511682850152015191604080820152019061023d565b919360a093610394969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061023d565b92939060046020612c0f6108ff6108ff5f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa908115610acc5761110e91612c8d915f91612cdc575b506001600160a01b031693612c4c610591565b6001600160401b037f000000000000000000000000000000000000000000000000000000000000000016815290602082015260405192839160208301612b90565b823b15610229575f94612cb886926040519889978896879563724ab0f760e11b875260048701612bba565b03925af18015610acc57612cc95750565b80612cd661058f92610514565b806102c9565b612cf5915060203d6020116123bf576123b08183610542565b5f612c39565b65ffffffffffff9160446020925f60018060a01b038154166040519687958694631c9e38c760e21b865260048601521660248401525af18015610acc57612d3f5750565b612d579060203d60201161295c576129488183610542565b50565b8115612d64570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c16612d90575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa918215610acc575f92612e4d575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff9091166084830152612e1a8260a481015b03601f198101845283610542565b6202a15c5a10612e3b575f928380935192620249f0f1505f80808080612d89565b604051632153f33560e21b8152600490fd5b612e1a9250612e6d612e0c9160203d6020116123bf576123b08183610542565b9250612dc1565b805480612e815750505f90565b5f19918183810111611a0f575f5260205f2001015460301c90565b60405190612ea9826104de565b5f6020838281520152565b612ed991612ed391612ec4612e9c565b50612ecd612e9c565b506120c5565b506124bb565b65ffffffffffff81511690602060018060d01b039101511660405191612efe836104de565b8252602082015290565b612f106133a5565b612f186133a5565b60015f805160206134f883398151915255565b60405190612f38826104be565b5f8252565b809103906060821261022957602060405192612f58846104f9565b12610229576040908151612f6b816104be565b612f7482611dc5565b815283526020810151612f868161022d565b60208401520151604082015290565b90600490612fa1612f2b565b508051612fb8602092838080948301019101612f3d565b6040516327f843b560e11b815290949093849182906001600160a01b03165afa918215610acc575f92613077575b50820190612ffa825165ffffffffffff1690565b65ffffffffffff91821691161015613065576040820160038151106130535761304961302f61304f935165ffffffffffff1690565b65ffffffffffff1665ffffffffffff196004541617600455565b51600555565b5190565b6040516354f778f360e01b8152600490fd5b6040516367d5e3df60e11b8152600490fd5b8161308f9293503d8411610ac557610ab68183610542565b905f612fe6565b600181111561039457600181600160801b8110156131af575b61315761314d61314361313961312f61312561316397600488600160401b61315e9a10156131a2575b640100000000811015613195575b62010000811015613188575b61010081101561317c575b6010811015613170575b1015613168575b60030260011c61311e818b612d5a565b0160011c90565b61311e818a612d5a565b61311e8189612d5a565b61311e8188612d5a565b61311e8187612d5a565b61311e8186612d5a565b8093612d5a565b821190565b900390565b60011b61310e565b811c9160021b91613107565b60081c91811b916130fd565b60101c9160081b916130f2565b60201c9160101b916130e6565b60401c9160201b916130d8565b50600160401b9050608082901c6130af565b91905b8382106131d15750505090565b909192808316906001818518811c8301809311611a0f57855f5265ffffffffffff808460205f20015416908516105f14613210575050925b91906131c4565b909493508101809111611a0f5791613209565b8054806132345750505f905f905f90565b5f19918183810111611a0f575f5260205f2001015460019165ffffffffffff82169160301c90565b906120e39082613319565b9061328a612ed36132ab9261327a612e9c565b50613283612e9c565b50846120c5565b91600165ffffffffffff845116936020828060d01b039101511691016120c5565b905490604051926132bb846104de565b835260031b1c602082015290565b8054600160401b8110156104d9576132e6916001820181556120c5565b8154905f199060031b1b19169055565b90815491600160401b8310156104d95782612b3491600161058f950181556120c5565b908154905f829160058411613357575b6133349350846131c1565b8061333f5750505f90565b61334890612122565b905f5260205f20015460301c90565b919261336281613096565b8103908111611a0f5761333493855f5265ffffffffffff808360205f20015416908516105f14613393575091613329565b92915061339f90611df9565b90613329565b60ff5f805160206135188339815191525460401c16156133c157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156104d9576133f0916001820181556120c5565b611c4357815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b805492939280156134cd5761343161343c91612122565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116134bb57879303613482575061347b92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506134b6916134a2613494610591565b65ffffffffffff9093168352565b6001600160d01b03861660208301526133d3565b61347b565b604051632520601d60e01b8152600490fd5b50906134f2916134de613494610591565b6001600160d01b03851660208301526133d3565b5f919056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122083c9d2c27050cb61d0026c4a120151139ad36b1ef086f66b4ca1715f04bbc28864736f6c63430008190033","sourceMap":"624:2139:95:-:0;;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;348:4:93;332:21;;8837:64:26;624:2139:95;;;;;;;7896:76:26;;624:2139:95;;;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:80;;;-1:-1:-1;525:17:80;;-1:-1:-1;552:12:80;;-1:-1:-1;2353:28:103;;2391:53;;-1:-1:-1;2391:53:103;;987:41:95;;;;624:2139;;1062:31;;;;;;;;;;;;;;624:2139;1062:31;;;;;;348:4:93;624:2139:95;;1062:31;;;-1:-1:-1;1062:31:95;;;;;;1038:56;;624:2139;;1038:56;;624:2139;;1133:35;;;;;;;;;;;;;;;624:2139;1133:35;;;;;;348:4:93;624:2139:95;;1133:35;;;-1:-1:-1;1133:35:95;;;;;;1104:65;624:2139;;1104:65;;624:2139;;;;;;;;332:21:93;624:2139:95;;;;;525:17:80;624:2139:95;;;;;552:12:80;624:2139:95;;;;;2353:28:103;624:2139:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1133:35;624:2139;;;-1:-1:-1;624:2139:95;;;;;1133:35;624:2139;;;-1:-1:-1;624:2139:95;;;;;-1:-1:-1;624:2139:95;7981:146:26;-1:-1:-1;;;;;;624:2139:95;;;;;;;;;8087:29:26;;624:2139:95;;8087:29:26;7981:146;;;;;7896:76;624:2139:95;;-1:-1:-1;;;7938:23:26;;;;;624:2139:95;-1:-1:-1;624:2139:95;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c8063103f2907146101545780631a2be2c41461014f578063267de1f31461014a5780632964f8dc146101455780632c9d45b3146101405780632dd310001461013b57806334d098ea14610136578063439fab91146101315780634a7196551461012c5780634ea2e926146101275780634eb5a242146101225780636565b7db1461011d578063770280461461011857806379d89614146101135780639f86fd851461010e578063aa8e648914610109578063aab3595f14610104578063bb24fe8a146100ff578063d5c24e1a146100fa5763fbfa77cf146100f5575f80fd5b610945565b610928565b6108e5565b6108c0565b610882565b6106c5565b610681565b6105ca565b610586565b610542565b610525565b6104f0565b61034b565b6102fa565b6102b6565b610272565b610256565b610201565b6101ad565b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b6001600160a01b0381160361019857565b346101985760403660031901126101985760206101f96101f46024356101d28161019c565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b610da5565b604051908152f35b3461019857604036600319011261019857602065ffffffffffff61024c60243561022a8161019c565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610198575f366003190112610198576020604051614e208152f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f36600319011261019857602060ff5f5460a01c166040519015158152f35b9181601f84011215610198578235916001600160401b038311610198576020838186019501011161019857565b34610198576020366003190112610198576001600160401b036004358181116101985761037c90369060040161031e565b5f80516020611938833981519152549260ff8460401c161593168015908161047b575b6001149081610471575b159081610468575b50610456575f80516020611938833981519152805467ffffffffffffffff191660011790556103e4918361043257610e47565b6103ea57005b5f80516020611938833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611938833981519152805460ff60401b1916600160401b179055610e47565b60405163f92ee8a960e01b8152600490fd5b9050155f6103b1565b303b1591506103a9565b84915061039f565b65ffffffffffff81160361019857565b6080906003190112610198576004356104ab8161019c565b90602435906044356104bc8161019c565b906064356104c981610483565b90565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346101985761052161050d61050436610493565b929190916109ab565b6040519182916020835260208301906104cc565b0390f35b346101985761052161050d61053936610493565b92919091610b76565b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198576060366003190112610198576024356105e78161019c565b6044356105f381610483565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361066f5761064d610652926004355f52600260205260405f209060018060a01b03165f5260205260405f2090565b611045565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198576040366003190112610198576004356106e28161019c565b6024356001600160401b038111610198575f916107048392369060040161031e565b90816040519283928337810184815203915af4610751610722610d21565b916107436040519384921515602084015260408084015260608301906104cc565b03601f1981018352826107a8565b805190602001fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761078857604052565b610759565b60a081019081106001600160401b0382111761078857604052565b90601f801991011681019081106001600160401b0382111761078857604052565b604051906107d68261076d565b565b6001600160401b03811161078857601f01601f191660200190565b81601f820112156101985780359061080a826107d8565b9261081860405194856107a8565b8284526020838301011161019857815f926020809301838601378301015290565b90608060031983011261019857600435916024356108568161019c565b9160443561086381610483565b91606435906001600160401b038211610198576104c9916004016107f3565b346101985760206101f96108bb61089836610839565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611173565b346101985760206108dc6108d336610839565b92919091611342565b50604051908152f35b34610198575f3660031901126101985760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610198575f366003190112610198576020604051620249f08152f35b34610198575f366003190112610198575f546040516001600160a01b039091168152602090f35b5190811515820361019857565b519063ffffffff8216820361019857565b9190826040910312610198576104c960206109a48461096c565b9301610979565b5f809195949593929365ffffffffffff60609760405195602097633b81402360e11b89890152602488015260018060a01b03166044870152166064850152606484526109f68461078d565b6040519384610a2387820192639f86fd8560e01b84523060248401526040604484015260648301906104cc565b0394610a37601f19968781018352826107a8565b51915afa50610a55610a47610d21565b838082518301019101610fb0565b9015610aa857808380610a6d9351830101910161098a565b9290610a7857505050565b6104c992939450610a9c604051948592830191909163ffffffff6020820193169052565b039081018352826107a8565b809150519182156101985701fd5b9081602091031261019857516104c98161019c565b6040513d5f823e3d90fd5b81601f8201121561019857805190610aed826107d8565b92610afb60405194856107a8565b8284526020838301011161019857815f9260208093018386015e8301015290565b906020828203126101985781516001600160401b038111610198576104c99201610ad6565b906104c991602081526020610b61835160408385015260608401906104cc565b920151906040601f19828503019101526104cc565b60405163fbfa77cf60e01b815260609594919391926020926001600160a01b03929091908481600481878b165afa908115610cd257849186915f91610d04575b50600460405180948193630ce9b79360e41b8352165afa8015610cd25786948385925f948591610cd7575b506040516304bb92e160e31b81526001600160a01b039182166004820152602481019290925292909216604483015265ffffffffffff97909716606482015295869060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa948515610cd2575f95610caa575b50610c669394956109ab565b825115801590610ca0575b610c7a57505050565b6104c992939450610c896107c9565b938452818401526107436040519384928301610b41565b5080511515610c71565b610c66949550610ccb903d805f833e610cc381836107a8565b810190610b1c565b9493610c5a565b610acb565b610cf79150893d8b11610cfd575b610cef81836107a8565b810190610ab6565b5f610be1565b503d610ce5565b610d1b9150823d8411610cfd57610cef81836107a8565b5f610bb6565b3d15610d4b573d90610d32826107d8565b91610d4060405193846107a8565b82523d5f602084013e565b606090565b5f9081526002602090815260408083206001600160a01b039094168352929052206104c9929190611173565b8054821015610d91575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b805480610dda57505f5b6001600160d01b03811615610dd4576001610dca9201610d7c565b90549060031b1c90565b50505f90565b5f19908082810111610df857825f5260205f2001015460301c610daf565b610fe4565b919091604081840312610198578035610e158161019c565b9260208201356001600160401b038111610198576104c992016107f3565b90816020910312610198576104c99061096c565b610e5391810190610dfd565b506040516302910f8b60e31b81526001600160a01b0391821660048201819052919060209081816024817f000000000000000000000000000000000000000000000000000000000000000087165afa908115610cd2575f91610f83575b5015610f7157610ebe61159c565b5f80546001600160a01b0319166001600160a01b038516179055600481610ee36115d2565b94604051928380926313c085b760e11b82525afa918215610cd2575f92610f54575b5050161580610f4a575b610f3857516107d69015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515610f0f565b610f6a9250803d10610cfd57610cef81836107a8565b5f80610f05565b6040516362df054560e01b8152600490fd5b610fa39150823d8411610fa9575b610f9b81836107a8565b810190610e33565b5f610eb0565b503d610f91565b91909160408184031261019857610fc68161096c565b9260208201516001600160401b038111610198576104c99201610ad6565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610df857565b91908203918211610df857565b9060018201809211610df857565b9060405161102e8161076d565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116110e3575b61106193508561173d565b9081156110d7576110d06110c76110c1610dca61109361108e61108388610ff8565b895f5260205f200190565b611021565b9660016110ba60206110ab8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101610d7c565b93610ff8565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926110ee81611612565b8103908111610df85761106193865f526111226111178360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015611138575091611056565b92915061114490611013565b90611056565b90816020910312610198576104c990610979565b90600163ffffffff80931601918211610df857565b91805115611241578060208061118e9351830101910161114a565b91611199838261186f565b926111aa845165ffffffffffff1690565b9065ffffffffffff808516921682811461123557821191826111e0575b50506111d7576104c9925061179f565b50506020015190565b9091506111ed8354610ff8565b63ffffffff831614918215611206575b50505f806111c7565b61122d91925061122161121b6111179261115e565b8561186f565b5165ffffffffffff1690565b115f806111fd565b50505050506020015190565b506104c99161179f565b604051906112588261076d565b60606020838281520152565b906020828203126101985781516001600160401b0392838211610198570190604082820312610198576040519261129a8461076d565b825181811161019857826112af918501610ad6565b84526020830151908111610198576112c79201610ad6565b602082015290565b9081602091031261019857516104c981610483565b65ffffffffffff9182169082160391908211610df857565b90816020910312610198575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526104c9929101906104cc565b9261134b61124b565b90805180611582575b505061135f42611905565b5f5490949061138490611378906001600160a01b031681565b6001600160a01b031690565b93604051956327f843b560e11b875260209687816004818a5afa8015610cd2576113b992611117925f92611553575b506112e4565b65ffffffffffff821690811090811561153c575b811561150b575b506114ff578560049560405196878092630ce9b79360e41b82525afa948515610cd2576114269587915f916114e2575b50845190604051808099819463e02f693760e01b8352878b8a6004860161130b565b03916001600160a01b03165afa938415610cd25761149e955f956114a1575b509261148d85936114939361148d96869a6114846101f48361146f875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610d50565b90611006565b818082109118021890565b91565b61149392955061148d9491936114cf61148d928a3d8c116114db575b6114c781836107a8565b8101906112fc565b96935093919450611445565b503d6114bd565b6114f99150823d8411610cfd57610cef81836107a8565b5f611404565b5050505050505f905f90565b90506115356111176115298761146f875f52600160205260405f2090565b5465ffffffffffff1690565b115f6113d4565b905061154a61111742611905565b811015906113cd565b6115749192508a3d8c1161157b575b61156c81836107a8565b8101906112cf565b905f6113b3565b503d611562565b6115959250602080918301019101611264565b5f80611354565b6115a46118d7565b6115ac6118d7565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60405190602082018281106001600160401b03821117610788576040525f8252565b81156115fe570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156104c957600181600160801b81101561172b575b6116d36116c96116bf6116b56116ab6116a16116df97600488600160401b6116da9a101561171e575b640100000000811015611711575b62010000811015611704575b6101008110156116f8575b60108110156116ec575b10156116e4575b60030260011c61169a818b6115f4565b0160011c90565b61169a818a6115f4565b61169a81896115f4565b61169a81886115f4565b61169a81876115f4565b61169a81866115f4565b80936115f4565b821190565b900390565b60011b61168a565b811c9160021b91611683565b60081c91811b91611679565b60101c9160081b9161166e565b60201c9160101b91611662565b60401c9160201b91611654565b50600160401b9050608082901c61162b565b91905b83821061174d5750505090565b909192808316906001818518811c8301809311610df857855f5265ffffffffffff808460205f20015416908516105f1461178c575050925b9190611740565b909493508101809111610df85791611785565b908154905f829160058411611809575b6117ba93508461173d565b806117e257505f905b6001600160d01b03821615610dd4576104c9916001610dca9201610d7c565b6117fc6117f161180392610ff8565b835f5260205f200190565b5460301c90565b906117c3565b919261181481611612565b8103908111610df8576117ba93855f5265ffffffffffff808360205f20015416908516105f146118455750916117af565b92915061185190611013565b906117af565b604051906118648261076d565b5f6020838281520152565b906118986118926118b992611882611857565b5061188b611857565b5084610d7c565b50611021565b91600165ffffffffffff845116936020828060d01b03910151169101610d7c565b905490604051926118c98461076d565b835260031b1c602082015290565b60ff5f805160206119388339815191525460401c16156118f357565b604051631afcd79f60e31b8152600490fd5b65ffffffffffff90818111611918571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f277a4f1d79c926d3cf47f1d1c69c51a336ff12303565531614d4d54627d5eb964736f6c63430008190033","sourceMap":"624:2139:95:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;624:2139:95;;;;;;1435:38:103;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;:::o;:::-;;;;;;-1:-1:-1;;624:2139:95;;;;;2936:47:103;:38;624:2139:95;;;;;:::i;:::-;;;-1:-1:-1;624:2139:95;2936:16:103;624:2139:95;;;-1:-1:-1;624:2139:95;;;;;;;;;;;;;;;;;2936:38:103;:47;:::i;:::-;624:2139:95;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;1788:109:103;624:2139:95;;;;;:::i;:::-;;;-1:-1:-1;624:2139:95;1788:109:103;624:2139:95;;;-1:-1:-1;624:2139:95;;;;;;;;;;;;;;;;;1788:109:103;624:2139:95;;;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;;1374:6:103;624:2139:95;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;1528:51:103;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;322:32:80;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;624:2139:95;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;624:2139:95;;;;;;;4301:16:26;624:2139:95;;4726:16:26;;:34;;;;624:2139:95;4805:1:26;4790:16;:50;;;;624:2139:95;4855:13:26;:30;;;;624:2139:95;4851:91:26;;;-1:-1:-1;;;;;;;;;;;624:2139:95;;-1:-1:-1;;624:2139:95;;;;;718:4:80;;4951:18:26;4979:67;;718:4:80;:::i;:::-;5066:101:26;;624:2139:95;5066:101:26;-1:-1:-1;;;;;;;;;;;624:2139:95;;-1:-1:-1;;;;624:2139:95;;;;;-1:-1:-1;624:2139:95;;5142:14:26;;624:2139:95;;5142:14:26;624:2139:95;4979:67:26;-1:-1:-1;;;;;;;;;;;624:2139:95;;-1:-1:-1;;;;624:2139:95;-1:-1:-1;;;624:2139:95;;;718:4:80;:::i;4851:91:26:-;624:2139:95;;-1:-1:-1;;;4908:23:26;;624:2139:95;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;624:2139:95;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;624:2139:95;;;;;;;;-1:-1:-1;;624:2139:95;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;624:2139:95;;;;;;778:38;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;822:43;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;624:2139:95;435:10:93;:19;431:71;;1400:38:95;:77;624:2139;;;-1:-1:-1;624:2139:95;1400:16;624:2139;;;-1:-1:-1;624:2139:95;;;;;;;;;;;;;;;;;1400:38;:77;:::i;:::-;624:2139;;;;;;;;;;;;;;;;;;;-1:-1:-1;;624:2139:95;431:71:93;624:2139:95;;-1:-1:-1;;;477:14:93;;624:2139:95;;477:14:93;624:2139:95;;;;;;-1:-1:-1;;624:2139:95;;;;;;727:45;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;624:2139:95;;;;-1:-1:-1;624:2139:95;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;624:2139:95;;;;;;;;;;477:31:86;;624:2139:95;;;;;;;;;;;:::i;:::-;477:31:86;624:2139:95;;477:31:86;;;;;;:::i;:::-;518:79;;;624:2139:95;518:79:86;;624:2139:95;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;624:2139:95;;;;;;-1:-1:-1;;624:2139:95;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;624:2139:95;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;624:2139:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;;:::i;:::-;;;;;2692:73:103;:38;624:2139:95;;;:::i;:::-;;;;;-1:-1:-1;624:2139:95;2692:16:103;624:2139:95;;;-1:-1:-1;624:2139:95;;;;;;;;;;;;;;;;;2692:38:103;:73;:::i;624:2139:95:-;;;;;3248:62:103;624:2139:95;;;:::i;:::-;3248:62:103;;;;;:::i;:::-;624:2139:95;;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;;-1:-1:-1;;;;;404:28:80;624:2139:95;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;;1271:7:103;624:2139:95;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;1490:514::-;-1:-1:-1;1490:514:95;;;;;;;;624:2139;;;;;1779:95;;;;;;;;;;;;;624:2139;;;;;;;;;;;;;;;;;1779:95;;;;;:::i;:::-;624:2139;;716:88:93;;624:2139:95;716:88:93;;;;;;;;;783:4;1779:95:95;716:88:93;;624:2139:95;;;;;;;;;;;:::i;:::-;716:88:93;624:2139:95;716:88:93;624:2139:95;;716:88:93;;;;;;;;:::i;:::-;698:107;;;;;857:45;698:107;;:::i;:::-;624:2139:95;;;;857:45:93;;;;;;:::i;:::-;916:8;;912:175;;624:2139:95;;;1705:221;624:2139;;1705:221;;;;;;:::i;:::-;1937:61;;;;1490:514;;;:::o;1937:61::-;1970:17;624:2139;;;;1970:17;624:2139;;1970:17;;;;;624:2139;;;;;;;;;;;;1970:17;;;;;;;;;:::i;912:175:93:-;624:2139:95;;;;944:22:93;;;940:36;;990:87;;624:2139:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;624:2139:95;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;2010:751::-;624:2139;;-1:-1:-1;;;2301:28:95;;624:2139;;2010:751;;;;;2301:28;;-1:-1:-1;;;;;624:2139:95;2010:751;;;2301:28;624:2139;2301:28;624:2139;;;;2301:28;;;;;;;;;;;;;;;2010:751;624:2139;2301:28;624:2139;;;;;;;;;2295:47;;624:2139;2295:47;;;;;;;;;;;2301:28;2295:47;;;;;2010:751;-1:-1:-1;624:2139:95;;-1:-1:-1;;;2230:162:95;;-1:-1:-1;;;;;624:2139:95;;;2301:28;2230:162;;624:2139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2249:20;624:2139;2230:162;;;;;;;2301:28;2230:162;;;2010:751;2442:68;;;;;;:::i;:::-;624:2139;;2525:21;;;:59;;;2010:751;2521:234;;2010:751;;;:::o;2521:234::-;2607:137;624:2139;;;;;;:::i;:::-;;;;2635:95;;;624:2139;2607:137;624:2139;;2607:137;;;;;;:::i;2525:59::-;624:2139;;;2550:34;;2525:59;;2230:162;2442:68;2230:162;;;;;;;2301:28;2230:162;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;:::i;2295:47::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;2301:28;;;;;;;;;;;;;;:::i;:::-;;;;624:2139;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;624:2139:95;;;;:::o;:::-;;;:::o;2505:267:103:-;-1:-1:-1;624:2139:95;;;2692:16:103;624:2139:95;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;;2692:73:103;;2505:267;;2692:73;:::i;624:2139:95:-;;;;;;;;-1:-1:-1;624:2139:95;;-1:-1:-1;624:2139:95;;;-1:-1:-1;624:2139:95;:::o;:::-;;;;;;;;;;;;10580:184:97;624:2139:95;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;624:2139:95;;10726:7:97;624:2139:95;;10736:12:97;:17;:12;;:17;:::i;:::-;624:2139:95;;;;;;10580:184:97;:::o;10726:31::-;;;-1:-1:-1;10580:184:97;:::o;10446:63:71:-;624:2139:95;;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;;-1:-1:-1;13267:109:97;;;624:2139:95;;;10446:63:71;;624:2139:95;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;6491:564:103:-;6614:34;6491:564;6614:34;;;;:::i;:::-;-1:-1:-1;624:2139:95;;-1:-1:-1;;;6664:41:103;;-1:-1:-1;;;;;624:2139:95;;;6664:41:103;;;624:2139:95;;;;;6664:41:103;;;624:2139:95;;;6674:13:103;624:2139:95;;6664:41:103;;;;;;;-1:-1:-1;6664:41:103;;;6491:564;6663:42;;6659:90;;2684:111:30;;:::i;:::-;-1:-1:-1;624:2139:95;;-1:-1:-1;;;;;;624:2139:95;-1:-1:-1;;;;;624:2139:95;;;;;6664:41:103;624:2139:95;;;:::i;:::-;;;;;;;;;;;6892:23:103;;;;;;;;;-1:-1:-1;6892:23:103;;;6491:564;624:2139:95;;;6892:37:103;:64;;;6491:564;6888:112;;624:2139:95;7010:38:103;;624:2139:95;;-1:-1:-1;624:2139:95;;-1:-1:-1;;;;624:2139:95;;;;;;-1:-1:-1;;;624:2139:95;;;;;;;;6888:112:103;624:2139:95;;-1:-1:-1;;;6979:10:103;;6664:41;;6979:10;6892:64;-1:-1:-1;624:2139:95;;;;6892:64:103;;:23;;;;;;-1:-1:-1;6892:23:103;;;;;;:::i;:::-;;;;;6659:90;624:2139:95;;-1:-1:-1;;;6728:10:103;;6664:41;;6728:10;6664:41;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;624:2139:95;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;624:2139:95;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;8889:1:97;624:2139:95;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:97:-;;;624:2139:95;;8620:15:97;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;624:2139:95;9219:31:97;624:2139:95;9130:48:97;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;624:2139:95;:::i;:::-;;9176:1:97;624:2139:95;9232:17:97;624:2139:95;;;;;;;;9232:17:97;;624:2139:95;-1:-1:-1;;;;;624:2139:95;;;;9219:12:97;;:31;:::i;624:2139:95:-;9259:7:97;;:::i;:::-;624:2139:95;;;;9252:15:97;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:97;;-1:-1:-1;8578:11:97;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;624:2139:95;;;;;;;8939:60:97;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;624:2139:95;;;;;;8759:49:97;624:2139:95;;;;8753:55:97;624:2139:95;;;8753:55:97;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;624:2139:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:97:-;;624:2139:95;;7686:17:97;7682:83;;624:2139:95;7789:27:97;624:2139:95;7789:27:97;624:2139:95;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;624:2139:95;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;624:2139:95;8075:24:97;:::o;7975:84::-;624:2139:95;;;8009:16:97;624:2139:95;;8009:16:97;:::i;:::-;624:2139:95;;;8001:24:97;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;624:2139:95;;;;;8029:29:97;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;624:2139:95;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;624:2139:95:-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3323:1122:103:-;;624:2139:95;;:::i;:::-;;;;3608:16:103;3604:109;;3323:1122;837:15:73;;819:34;837:15;819:34;:::i;:::-;-1:-1:-1;624:2139:95;;;;3778:27:103;;:13;;-1:-1:-1;;;;;624:2139:95;3778:13:103;624:2139:95;;-1:-1:-1;;;;;624:2139:95;;;3778:27:103;624:2139:95;;;;;;;3778:29:103;;;;;;;;;;;;;;;3740:67;3778:29;3759:48;3778:29;-1:-1:-1;3778:29:103;;;3323:1122;3759:48;;:::i;3740:67::-;624:2139:95;;;3740:67:103;;;:107;;;;;3323:1122;3740:197;;;;3323:1122;3723:263;;;624:2139:95;3778:29:103;624:2139:95;;;;;;;;;;4025:25:103;;;;;;;;;4010:143;4025:25;;;-1:-1:-1;4025:25:103;;;3323:1122;4113:30;;;624:2139:95;;;;;;;;;;;4010:143:103;;;;;3778:29;4010:143;;;:::i;:::-;;;-1:-1:-1;;;;;624:2139:95;4010:143:103;;;;;;;4181:257;4010:143;-1:-1:-1;4010:143:103;;;3323:1122;3996:157;;4293:102;3996:157;;4233:162;3996:157;4207:231;3996:157;;2936:28;:47;:38;:28;;;624:2139:95;;2936:16:103;624:2139:95;;;;;;;2936:28:103;624:2139:95;;;;;;;;;;;;;;;;2936:47:103;4351:43;;;4293:102;;:::i;:::-;4233:162;;:::i;:::-;3463:5:68;;;;3066;;624:2139:95;3060:42:68;3371:111;;4181:257:103;3323:1122;:::o;4010:143::-;4233:162;4010:143;;;4207:231;4010:143;;;;4293:102;4010:143;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;4025:25;;;;;;;;;;;;;;:::i;:::-;;;;3723:263;3962:13;;;;;;-1:-1:-1;3962:13:103;-1:-1:-1;3962:13:103;:::o;3740:197::-;3886:41;;3867:70;3886:51;;:41;;;624:2139:95;;3886:29:103;624:2139:95;;;;;;;3886:51:103;624:2139:95;;;;;3867:70:103;-1:-1:-1;3740:197:103;;;:107;837:15:73;;3811:36:103;819:34:73;837:15;819:34;:::i;3811:36:103:-;;;;3740:107;;;3778:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3604:109;3662:40;;;;;;;;;;;;:::i;:::-;3604:109;;;;6893:76:26;;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1949:1;6893:76:26:o;624:2139:95:-;;;;;;;;;;-1:-1:-1;;;;;624:2139:95;;;;;;;-1:-1:-1;624:2139:95;;:::o;:::-;;;;;;;:::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;624:2139:95;18246:1:68;624:2139:95;22284:6:68;;;;:::i;:::-;624:2139:95;;;;;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;;;624:2139:95;23216:28:68;624:2139:95;;18080:5181:68;:::o;19887:61::-;18246:1;624:2139:95;19887:61:68;;19787:87;624:2139:95;;;;;19787:87:68;;;19687;624:2139:95;;;;;19687:87:68;;;19585:89;624:2139:95;;;;;19585:89:68;;;19482:90;624:2139:95;;;;;19482:90:68;;;19379;624:2139:95;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;624:2139:95;-1:-1:-1;624:2139:95;;;;19274:92:68;;12497:447:97;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:68;;;;;;624:2139:95;;3731:5:68;;;624:2139:95;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;624:2139:95;13267:109:97;;;-1:-1:-1;13267:109:97;;624:2139:95;;;;;-1:-1:-1;12771:136:97;624:2139:95;;;12830:10:97;;12771:136;;12687:230;;;;12771:136;624:2139:95;;;;;;;;;;;12771:136:97;;;6999:207;;624:2139:95;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;624:2139:95;;7168:7:97;624:2139:95;;;7178:12:97;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:97;;;;;;13089:293;;10135:41:71;624:2139:95;;;;;10135:48:71;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;624:2139:95;;;;;;;10049:53:71;13267:109:97;;-1:-1:-1;13267:109:97;624:2139:95;13267:109:97;;;-1:-1:-1;13267:109:97;;624:2139:95;;;;;9870:48:71;9866:149;624:2139:95;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;624:2139:95;;;;;;;:::i;:::-;-1:-1:-1;624:2139:95;;;;;;;:::o;11486:272:97:-;;624:2139:95;11452:22:71;11718:31:97;11486:272;624:2139:95;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;624:2139:95;;:::i;:::-;;11718:12:97;624:2139:95;;;;;11731:17:97;624:2139:95;;;;;11731:17:97;;624:2139:95;;11718:12:97;;:31;:::i;:::-;624:2139:95;;;;;;;;;:::i;:::-;;;;;;11731:17:97;11672:79;;624:2139:95;11486:272:97;:::o;7084:141:26:-;624:2139:95;-1:-1:-1;;;;;;;;;;;624:2139:95;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;624:2139:95;;-1:-1:-1;;;7191:17:26;;;;;14296:213:69;624:2139:95;14374:24:69;;;;14370:103;;624:2139:95;14296:213:69;:::o;14370:103::-;624:2139:95;;;;14421:41:69;;;;;;14452:2;14421:41;;;624:2139:95;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"59800":[{"start":715,"length":32}],"59803":[{"start":2308,"length":32}],"64360":[{"start":1525,"length":32}],"64703":[{"start":1686,"length":32},{"start":3114,"length":32}],"64705":[{"start":1367,"length":32}],"64707":[{"start":1435,"length":32}],"67584":[{"start":361,"length":32},{"start":3711,"length":32}],"67587":[{"start":647,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","BURNER_GAS_LIMIT()":"d5c24e1a","BURNER_RESERVE()":"2964f8dc","FACTORY()":"2dd31000","NETWORK_MIDDLEWARE_SERVICE()":"2c9d45b3","SLASHER_HINTS()":"4eb5a242","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VETO_SLASHER_HINTS()":"6565b7db","cumulativeSlash(bytes32,address)":"1a2be2c4","cumulativeSlashAt(bytes32,address,uint48,bytes)":"aa8e6489","cumulativeSlashHint(address,bytes32,address,uint48)":"4a719655","cumulativeSlashHintInternal(bytes32,address,uint48)":"77028046","initialize(bytes)":"439fab91","isBurnerHook()":"34d098ea","latestSlashedCaptureTimestamp(bytes32,address)":"267de1f3","slashableStake(bytes32,address,uint48,bytes)":"aab3595f","slashableStakeHints(address,bytes32,address,uint48)":"4ea2e926","staticDelegateCall(address,bytes)":"9f86fd85","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBurnerGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoBurner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetworkMiddleware\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_MIDDLEWARE_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SLASHER_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VETO_SLASHER_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"cumulativeSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"cumulativeSlashAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"cumulativeSlashHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"cumulativeSlashHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isBurnerHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"latestSlashedCaptureTimestamp\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"value\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"slashableStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"slashableStakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"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\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"cumulativeSlash(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"cumulative slash amount\"}},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the cumulative slash amount until (inclusively)\"},\"returns\":{\"_0\":\"cumulative slash amount until the given timestamp (inclusively)\"}},\"initialize(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"slashableStake(bytes32,address,uint48,bytes)\":{\"params\":{\"captureTimestamp\":\"time point to get the stake amount at\",\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"amount\":\"slashable amount of the stake\"}},\"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\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"BURNER_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the burner.\"},\"BURNER_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the burner's execution.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"NETWORK_MIDDLEWARE_SERVICE()\":{\"notice\":\"Get the network middleware service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"cumulativeSlash(bytes32,address)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork.\"},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"isBurnerHook()\":{\"notice\":\"Get if the burner is needed to be called on a slashing.\"},\"latestSlashedCaptureTimestamp(bytes32,address)\":{\"notice\":\"Get the latest capture timestamp that was slashed on a subnetwork.\"},\"slashableStake(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a slashable amount of a stake got at a given capture timestamp using hints.\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/SlasherHints.sol\":\"BaseSlasherHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/SlasherHints.sol\":{\"keccak256\":\"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595\",\"dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/slasher/BaseSlasher.sol\":{\"keccak256\":\"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06\",\"dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF\"]},\"src/contracts/slasher/Slasher.sol\":{\"keccak256\":\"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61\",\"dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3\"]},\"src/contracts/slasher/VetoSlasher.sol\":{\"keccak256\":\"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429\",\"dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/INetworkMiddlewareService.sol\":{\"keccak256\":\"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c\",\"dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/slasher/IBurner.sol\":{\"keccak256\":\"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447\",\"dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW\"]},\"src/interfaces/slasher/ISlasher.sol\":{\"keccak256\":\"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1\",\"dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ\"]},\"src/interfaces/slasher/IVetoSlasher.sol\":{\"keccak256\":\"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508\",\"dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientBurnerGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NoBurner"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetworkMiddleware"},{"inputs":[],"type":"error","name":"NotVault"},{"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":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VETO_SLASHER_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"cumulativeSlash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"cumulativeSlashAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"cumulativeSlashHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"cumulativeSlashHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isBurnerHook","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"latestSlashedCaptureTimestamp","outputs":[{"internalType":"uint48","name":"value","type":"uint48"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"slashableStake","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"slashableStakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"cumulativeSlash(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"cumulative slash amount"}},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the cumulative slash amount until (inclusively)"},"returns":{"_0":"cumulative slash amount until the given timestamp (inclusively)"}},"initialize(bytes)":{"params":{"data":"some data to use"}},"slashableStake(bytes32,address,uint48,bytes)":{"params":{"captureTimestamp":"time point to get the stake amount at","hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"amount":"slashable amount of the stake"}},"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"}}},"version":1},"userdoc":{"kind":"user","methods":{"BURNER_GAS_LIMIT()":{"notice":"Get a gas limit for the burner."},"BURNER_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the burner's execution."},"FACTORY()":{"notice":"Get the factory's address."},"NETWORK_MIDDLEWARE_SERVICE()":{"notice":"Get the network middleware service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"cumulativeSlash(bytes32,address)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork."},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"isBurnerHook()":{"notice":"Get if the burner is needed to be called on a slashing."},"latestSlashedCaptureTimestamp(bytes32,address)":{"notice":"Get the latest capture timestamp that was slashed on a subnetwork."},"slashableStake(bytes32,address,uint48,bytes)":{"notice":"Get a slashable amount of a stake got at a given capture timestamp using hints."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/SlasherHints.sol":"BaseSlasherHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/SlasherHints.sol":{"keccak256":"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f","urls":["bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595","dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/slasher/BaseSlasher.sol":{"keccak256":"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6","urls":["bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06","dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF"],"license":"BUSL-1.1"},"src/contracts/slasher/Slasher.sol":{"keccak256":"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f","urls":["bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61","dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3"],"license":"BUSL-1.1"},"src/contracts/slasher/VetoSlasher.sol":{"keccak256":"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897","urls":["bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429","dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/INetworkMiddlewareService.sol":{"keccak256":"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783","urls":["bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c","dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/slasher/IBurner.sol":{"keccak256":"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b","urls":["bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447","dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW"],"license":"MIT"},"src/interfaces/slasher/ISlasher.sol":{"keccak256":"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625","urls":["bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1","dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ"],"license":"MIT"},"src/interfaces/slasher/IVetoSlasher.sol":{"keccak256":"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9","urls":["bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508","dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":95} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"baseDelegatorHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_DELEGATOR_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"BURNER_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BURNER_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SLASHER_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VETO_SLASHER_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlashAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"cumulativeSlashHint","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlashHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isBurnerHook","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"latestSlashedCaptureTimestamp","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"slashableStake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"slashableStakeHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientBurnerGas","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NoBurner","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetworkMiddleware","inputs":[]},{"type":"error","name":"NotVault","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":"0x610180346101e757601f61728b38819003918201601f19168301926001600160401b03929091838511838610176101825781602092849260409788528339810103126101e75751906001600160a01b039081831683036101e757306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460ff81871c166101d65780838080931603610196575b5050505f60a0525f60c0525f60e052610100935f855261012093845280516120108082019082821085831117610182576020918391611b7983393081520301905ff09182156101785783610140931683528151906137028083019183831090831117610182576020918391613b8983393081520301905ff09283156101785761016093168352519261198d94856101ec8639608051856105f5015260a051856102cb015260c05185610904015260e0518581816101690152610e7f015251846102870152518381816106960152610c2a015251826105570152518161059b0152f35b50513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03191617905583518181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8181610096565b855163f92ee8a960e01b8152600490fd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063103f2907146101545780631a2be2c41461014f578063267de1f31461014a5780632964f8dc146101455780632c9d45b3146101405780632dd310001461013b57806334d098ea14610136578063439fab91146101315780634a7196551461012c5780634ea2e926146101275780634eb5a242146101225780636565b7db1461011d578063770280461461011857806379d89614146101135780639f86fd851461010e578063aa8e648914610109578063aab3595f14610104578063bb24fe8a146100ff578063d5c24e1a146100fa5763fbfa77cf146100f5575f80fd5b610945565b610928565b6108e5565b6108c0565b610882565b6106c5565b610681565b6105ca565b610586565b610542565b610525565b6104f0565b61034b565b6102fa565b6102b6565b610272565b610256565b610201565b6101ad565b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b6001600160a01b0381160361019857565b346101985760403660031901126101985760206101f96101f46024356101d28161019c565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b610da5565b604051908152f35b3461019857604036600319011261019857602065ffffffffffff61024c60243561022a8161019c565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610198575f366003190112610198576020604051614e208152f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f36600319011261019857602060ff5f5460a01c166040519015158152f35b9181601f84011215610198578235916001600160401b038311610198576020838186019501011161019857565b34610198576020366003190112610198576001600160401b036004358181116101985761037c90369060040161031e565b5f80516020611938833981519152549260ff8460401c161593168015908161047b575b6001149081610471575b159081610468575b50610456575f80516020611938833981519152805467ffffffffffffffff191660011790556103e4918361043257610e47565b6103ea57005b5f80516020611938833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611938833981519152805460ff60401b1916600160401b179055610e47565b60405163f92ee8a960e01b8152600490fd5b9050155f6103b1565b303b1591506103a9565b84915061039f565b65ffffffffffff81160361019857565b6080906003190112610198576004356104ab8161019c565b90602435906044356104bc8161019c565b906064356104c981610483565b90565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346101985761052161050d61050436610493565b929190916109ab565b6040519182916020835260208301906104cc565b0390f35b346101985761052161050d61053936610493565b92919091610b76565b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198576060366003190112610198576024356105e78161019c565b6044356105f381610483565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361066f5761064d610652926004355f52600260205260405f209060018060a01b03165f5260205260405f2090565b611045565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198576040366003190112610198576004356106e28161019c565b6024356001600160401b038111610198575f916107048392369060040161031e565b90816040519283928337810184815203915af4610751610722610d21565b916107436040519384921515602084015260408084015260608301906104cc565b03601f1981018352826107a8565b805190602001fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761078857604052565b610759565b60a081019081106001600160401b0382111761078857604052565b90601f801991011681019081106001600160401b0382111761078857604052565b604051906107d68261076d565b565b6001600160401b03811161078857601f01601f191660200190565b81601f820112156101985780359061080a826107d8565b9261081860405194856107a8565b8284526020838301011161019857815f926020809301838601378301015290565b90608060031983011261019857600435916024356108568161019c565b9160443561086381610483565b91606435906001600160401b038211610198576104c9916004016107f3565b346101985760206101f96108bb61089836610839565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611173565b346101985760206108dc6108d336610839565b92919091611342565b50604051908152f35b34610198575f3660031901126101985760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610198575f366003190112610198576020604051620249f08152f35b34610198575f366003190112610198575f546040516001600160a01b039091168152602090f35b5190811515820361019857565b519063ffffffff8216820361019857565b9190826040910312610198576104c960206109a48461096c565b9301610979565b5f809195949593929365ffffffffffff60609760405195602097633b81402360e11b89890152602488015260018060a01b03166044870152166064850152606484526109f68461078d565b6040519384610a2387820192639f86fd8560e01b84523060248401526040604484015260648301906104cc565b0394610a37601f19968781018352826107a8565b51915afa50610a55610a47610d21565b838082518301019101610fb0565b9015610aa857808380610a6d9351830101910161098a565b9290610a7857505050565b6104c992939450610a9c604051948592830191909163ffffffff6020820193169052565b039081018352826107a8565b809150519182156101985701fd5b9081602091031261019857516104c98161019c565b6040513d5f823e3d90fd5b81601f8201121561019857805190610aed826107d8565b92610afb60405194856107a8565b8284526020838301011161019857815f9260208093018386015e8301015290565b906020828203126101985781516001600160401b038111610198576104c99201610ad6565b906104c991602081526020610b61835160408385015260608401906104cc565b920151906040601f19828503019101526104cc565b60405163fbfa77cf60e01b815260609594919391926020926001600160a01b03929091908481600481878b165afa908115610cd257849186915f91610d04575b50600460405180948193630ce9b79360e41b8352165afa8015610cd25786948385925f948591610cd7575b506040516304bb92e160e31b81526001600160a01b039182166004820152602481019290925292909216604483015265ffffffffffff97909716606482015295869060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa948515610cd2575f95610caa575b50610c669394956109ab565b825115801590610ca0575b610c7a57505050565b6104c992939450610c896107c9565b938452818401526107436040519384928301610b41565b5080511515610c71565b610c66949550610ccb903d805f833e610cc381836107a8565b810190610b1c565b9493610c5a565b610acb565b610cf79150893d8b11610cfd575b610cef81836107a8565b810190610ab6565b5f610be1565b503d610ce5565b610d1b9150823d8411610cfd57610cef81836107a8565b5f610bb6565b3d15610d4b573d90610d32826107d8565b91610d4060405193846107a8565b82523d5f602084013e565b606090565b5f9081526002602090815260408083206001600160a01b039094168352929052206104c9929190611173565b8054821015610d91575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b805480610dda57505f5b6001600160d01b03811615610dd4576001610dca9201610d7c565b90549060031b1c90565b50505f90565b5f19908082810111610df857825f5260205f2001015460301c610daf565b610fe4565b919091604081840312610198578035610e158161019c565b9260208201356001600160401b038111610198576104c992016107f3565b90816020910312610198576104c99061096c565b610e5391810190610dfd565b506040516302910f8b60e31b81526001600160a01b0391821660048201819052919060209081816024817f000000000000000000000000000000000000000000000000000000000000000087165afa908115610cd2575f91610f83575b5015610f7157610ebe61159c565b5f80546001600160a01b0319166001600160a01b038516179055600481610ee36115d2565b94604051928380926313c085b760e11b82525afa918215610cd2575f92610f54575b5050161580610f4a575b610f3857516107d69015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515610f0f565b610f6a9250803d10610cfd57610cef81836107a8565b5f80610f05565b6040516362df054560e01b8152600490fd5b610fa39150823d8411610fa9575b610f9b81836107a8565b810190610e33565b5f610eb0565b503d610f91565b91909160408184031261019857610fc68161096c565b9260208201516001600160401b038111610198576104c99201610ad6565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610df857565b91908203918211610df857565b9060018201809211610df857565b9060405161102e8161076d565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116110e3575b61106193508561173d565b9081156110d7576110d06110c76110c1610dca61109361108e61108388610ff8565b895f5260205f200190565b611021565b9660016110ba60206110ab8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101610d7c565b93610ff8565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926110ee81611612565b8103908111610df85761106193865f526111226111178360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015611138575091611056565b92915061114490611013565b90611056565b90816020910312610198576104c990610979565b90600163ffffffff80931601918211610df857565b91805115611241578060208061118e9351830101910161114a565b91611199838261186f565b926111aa845165ffffffffffff1690565b9065ffffffffffff808516921682811461123557821191826111e0575b50506111d7576104c9925061179f565b50506020015190565b9091506111ed8354610ff8565b63ffffffff831614918215611206575b50505f806111c7565b61122d91925061122161121b6111179261115e565b8561186f565b5165ffffffffffff1690565b115f806111fd565b50505050506020015190565b506104c99161179f565b604051906112588261076d565b60606020838281520152565b906020828203126101985781516001600160401b0392838211610198570190604082820312610198576040519261129a8461076d565b825181811161019857826112af918501610ad6565b84526020830151908111610198576112c79201610ad6565b602082015290565b9081602091031261019857516104c981610483565b65ffffffffffff9182169082160391908211610df857565b90816020910312610198575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526104c9929101906104cc565b9261134b61124b565b90805180611582575b505061135f42611905565b5f5490949061138490611378906001600160a01b031681565b6001600160a01b031690565b93604051956327f843b560e11b875260209687816004818a5afa8015610cd2576113b992611117925f92611553575b506112e4565b65ffffffffffff821690811090811561153c575b811561150b575b506114ff578560049560405196878092630ce9b79360e41b82525afa948515610cd2576114269587915f916114e2575b50845190604051808099819463e02f693760e01b8352878b8a6004860161130b565b03916001600160a01b03165afa938415610cd25761149e955f956114a1575b509261148d85936114939361148d96869a6114846101f48361146f875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610d50565b90611006565b818082109118021890565b91565b61149392955061148d9491936114cf61148d928a3d8c116114db575b6114c781836107a8565b8101906112fc565b96935093919450611445565b503d6114bd565b6114f99150823d8411610cfd57610cef81836107a8565b5f611404565b5050505050505f905f90565b90506115356111176115298761146f875f52600160205260405f2090565b5465ffffffffffff1690565b115f6113d4565b905061154a61111742611905565b811015906113cd565b6115749192508a3d8c1161157b575b61156c81836107a8565b8101906112cf565b905f6113b3565b503d611562565b6115959250602080918301019101611264565b5f80611354565b6115a46118d7565b6115ac6118d7565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60405190602082018281106001600160401b03821117610788576040525f8252565b81156115fe570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156104c957600181600160801b81101561172b575b6116d36116c96116bf6116b56116ab6116a16116df97600488600160401b6116da9a101561171e575b640100000000811015611711575b62010000811015611704575b6101008110156116f8575b60108110156116ec575b10156116e4575b60030260011c61169a818b6115f4565b0160011c90565b61169a818a6115f4565b61169a81896115f4565b61169a81886115f4565b61169a81876115f4565b61169a81866115f4565b80936115f4565b821190565b900390565b60011b61168a565b811c9160021b91611683565b60081c91811b91611679565b60101c9160081b9161166e565b60201c9160101b91611662565b60401c9160201b91611654565b50600160401b9050608082901c61162b565b91905b83821061174d5750505090565b909192808316906001818518811c8301809311610df857855f5265ffffffffffff808460205f20015416908516105f1461178c575050925b9190611740565b909493508101809111610df85791611785565b908154905f829160058411611809575b6117ba93508461173d565b806117e257505f905b6001600160d01b03821615610dd4576104c9916001610dca9201610d7c565b6117fc6117f161180392610ff8565b835f5260205f200190565b5460301c90565b906117c3565b919261181481611612565b8103908111610df8576117ba93855f5265ffffffffffff808360205f20015416908516105f146118455750916117af565b92915061185190611013565b906117af565b604051906118648261076d565b5f6020838281520152565b906118986118926118b992611882611857565b5061188b611857565b5084610d7c565b50611021565b91600165ffffffffffff845116936020828060d01b03910151169101610d7c565b905490604051926118c98461076d565b835260031b1c602082015290565b60ff5f805160206119388339815191525460401c16156118f357565b604051631afcd79f60e31b8152600490fd5b65ffffffffffff90818111611918571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f277a4f1d79c926d3cf47f1d1c69c51a336ff12303565531614d4d54627d5eb964736f6c634300081900336101403461015d576001600160401b0390601f61201038819003918201601f1916830191848311848410176101615780849260209460405283398101031261015d5751906001600160a01b038216820361015d57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661014b578080831603610106575b835f60a0525f60c0525f60e052610100905f825261012090815260405190611e9a9283610176843960805183505060a051836104f2015260c0518381816109490152611373015260e05183818161031d01526116a301525182818161021c01526104ae0152518181816106920152610d390152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b60405163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063021a815614610124578063103f29071461011f5780631a2be2c41461011a578063238ab85f14610115578063267de1f3146101105780632964f8dc1461010b5780632c9d45b3146101065780632dd310001461010157806334d098ea146100fc578063439fab91146100f7578063457821b7146100f25780639f86fd85146100ed578063aa8e6489146100e8578063aab3595f146100e3578063bb24fe8a146100de578063d5c24e1a146100d95763fbfa77cf146100d4575f80fd5b61098a565b61096d565b61092a565b610905565b6108c7565b6106c1565b61067d565b610545565b610521565b6104dd565b610499565b61047d565b610428565b6103c4565b61034c565b610308565b61017b565b6001600160a01b0381160361013a57565b5f80fd5b65ffffffffffff81160361013a57565b9181601f8401121561013a578235916001600160401b03831161013a576020838186019501011161013a57565b3461013a5760a036600319011261013a5760043560243561019b81610129565b6064356101a78161013e565b6084356001600160401b03811161013a576101c690369060040161014e565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146102ec5760029055604051635daf681960e11b8152606086901c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa9182156102e7575f926102b6575b50339116036102a4576102a0946102679460443591610a63565b61029060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6040519081529081906020820190565b0390f35b60405163227bf64d60e01b8152600490fd5b6102d991925060203d6020116102e0575b6102d181836107dd565b810190610de5565b905f61024d565b503d6102c7565b610a27565b604051633ee5aeb560e01b8152600490fd5b5f91031261013a57565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a57604036600319011261013a57602061039861039360243561037181610129565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6115c2565b604051908152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461013a5760c036600319011261013a576102a06104146004356103e781610129565b6103f2602435610129565b6064356103fe81610129565b60a4359161040b8361013e565b60443590610ced565b6040519182916020835260208301906103a0565b3461013a57604036600319011261013a57602065ffffffffffff61047360243561045181610129565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b3461013a575f36600319011261013a576020604051614e208152f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a57602060ff5f5460a01c166040519015158152f35b3461013a57602036600319011261013a576001600160401b0360043581811161013a5761057690369060040161014e565b5f80516020611e45833981519152549260ff8460401c1615931680159081610675575b600114908161066b575b159081610662575b50610650575f80516020611e45833981519152805467ffffffffffffffff191660011790556105de918361062c5761166c565b6105e457005b5f80516020611e45833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611e45833981519152805460ff60401b1916600160401b17905561166c565b60405163f92ee8a960e01b8152600490fd5b9050155f6105ab565b303b1591506105a3565b849150610599565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a5760408060031936011261013a576004356106df81610129565b602435906001600160401b03821161013a575f809161070561076994369060040161014e565b908187519283928337810184815203915af43d156107715761075b3d61072a8161081a565b90610737865192836107dd565b81523d5f602083013e5b8451948593151560208501528084015260608301906103a0565b03601f1981018352826107dd565b805190602001fd5b61075b6060610741565b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176107aa57604052565b61077b565b604081019081106001600160401b038211176107aa57604052565b6001600160401b0381116107aa57604052565b90601f801991011681019081106001600160401b038211176107aa57604052565b6040519061080b826107af565b565b6040519061080b8261078f565b6001600160401b0381116107aa57601f01601f191660200190565b81601f8201121561013a5780359061084c8261081a565b9261085a60405194856107dd565b8284526020838301011161013a57815f926020809301838601378301015290565b90608060031983011261013a576004359160243561089881610129565b916044356108a58161013e565b91606435906001600160401b03821161013a576108c491600401610835565b90565b3461013a5760206103986109006108dd3661087b565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611806565b3461013a5760206109216109183661087b565b92919091610edf565b50604051908152f35b3461013a575f36600319011261013a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461013a575f36600319011261013a576020604051620249f08152f35b3461013a575f36600319011261013a575f546040516001600160a01b039091168152602090f35b604051906109be8261078f565b60608252565b9060208282031261013a5781356001600160401b039283821161013a57019060208282031261013a57604051926109fa8461078f565b823590811161013a57610a0d9201610835565b815290565b9081602091031261013a57516108c48161013e565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9182169082160391908211610a5e57565b610a32565b92939594919095610a726109b1565b9280610c53575b5050610a84426118de565b5f54600490602090610aac90610aa0906001600160a01b031681565b6001600160a01b031690565b6040516327f843b560e11b815292839182905afa80156102e757610ae692610adb925f92610c22575b50610a46565b65ffffffffffff1690565b65ffffffffffff8516908110908115610c0c575b50610bfa57610b0f610b1e9251858886610edf565b92909180831890831102821890565b958615610be857610ba361075b610b9a610be3947fe0cbbe1f1e6fd806ca87036fafcebaf7ab5247474a3b20e1c37bb50122c3a88496610b5f8a878b611115565b610b6a8c878b6111a3565b610b726107fe565b9182526020820152604051928391602083019190916020806040830194805184520151910152565b8689848861130f565b610bad8588611418565b610bb98588838761149d565b6040805188815265ffffffffffff90961660208701526001600160a01b0390911694918291820190565b0390a3565b60405163167f871760e31b8152600490fd5b604051631357ac9160e11b8152600490fd5b9050610c1a610adb426118de565b11155f610afa565b610c4591925060203d602011610c4c575b610c3d81836107dd565b810190610a12565b905f610ad5565b503d610c33565b610c619293508101906109c4565b905f80610a79565b81601f8201121561013a57805190610c808261081a565b92610c8e60405194856107dd565b8284526020838301011161013a57815f9260208093018386015e8301015290565b9060208282031261013a5781516001600160401b03811161013a576108c49201610c69565b60406108c49260208352519160208082015201906103a0565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252918216604482015265ffffffffffff909216606483015260609291905f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156102e7575f91610d97575b508051610d735750565b61075b9192506108c490610d8561080d565b90815260405192839160208301610cd4565b610db391503d805f833e610dab81836107dd565b810190610caf565b5f610d69565b5f9081526002602090815260408083206001600160a01b039094168352929052206108c4929190611806565b9081602091031261013a57516108c481610129565b60405190610e07826107af565b60606020838281520152565b9060208282031261013a5781516001600160401b039283821161013a57019060408282031261013a5760405192610e49846107af565b825181811161013a5782610e5e918501610c69565b8452602083015190811161013a57610e769201610c69565b602082015290565b9081602091031261013a575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526108c4929101906103a0565b5f19810191908211610a5e57565b91908203918211610a5e57565b92610ee8610dfa565b908051806110fb575b5050610efc426118de565b5f54909490610f1590610aa0906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa80156102e757610f4992610adb925f926110e35750610a46565b65ffffffffffff82169081109081156110cc575b811561109b575b5061108f578560049560405196878092630ce9b79360e41b82525afa9485156102e757610fb69587915f91611072575b50845190604051808099819463e02f693760e01b8352878b8a60048601610e8d565b03916001600160a01b03165afa9384156102e75761102e955f95611031575b509261101d85936110239361101d96869a61101461039383610fff875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610db9565b90610ed2565b818082109118021890565b91565b61102392955061101d94919361105f61101d928a3d8c1161106b575b61105781836107dd565b810190610e7e565b96935093919450610fd5565b503d61104d565b6110899150823d84116102e0576102d181836107dd565b5f610f94565b5050505050505f905f90565b90506110c5610adb6110b987610fff875f52600160205260405f2090565b5465ffffffffffff1690565b115f610f64565b90506110da610adb426118de565b81101590610f5d565b610c459192508a3d8c11610c4c57610c3d81836107dd565b61110e9250602080918301019101610e13565b5f80610ef1565b919091805f52600160205265ffffffffffff806111458560405f209060018060a01b03165f5260205260405f2090565b54169083161161115457505050565b61080b9261117c915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9060018201809211610a5e57565b9190825f5260026020526111fb6103936111d08360405f209060018060a01b03165f5260205260405f2090565b926111da426118de565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211610a5e57600181019081541561129f575b61121b81611b1c565b50949083549561122a846115c2565b508161128a575b50156112695750505f198301928311610a5e5761080b9261125191611599565b90919082549060031b91821b915f19901b1916179055565b61080b94611283926001600160d01b039091169190611bdd565b505061193d565b65ffffffffffff83811691161490505f611231565b6112a882611910565b611212565b606060206108c4938184526001600160401b038151168285015201519160408082015201906103a0565b919360a0936108c4969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103a0565b9293906004602061132c610aa0610aa05f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa9081156102e75761075b916113aa915f916113f9575b506001600160a01b0316936113696107fe565b6001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152906020820152604051928391602083016112ad565b823b1561013a575f946113d586926040519889978896879563724ab0f760e11b8752600487016112d7565b03925af180156102e7576113e65750565b806113f361080b926107ca565b806102fe565b611412915060203d6020116102e0576102d181836107dd565b5f611356565b5f8054604051631c9e38c760e21b8152600481019390935265ffffffffffff9390931660248301529091602091839160449183916001600160a01b03165af180156102e7576114645750565b61147c9060203d60201161106b5761105781836107dd565b50565b8115611489570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c166114b5575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa9182156102e7575f92611572575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff909116608483015261153f8260a481015b03601f1981018452836107dd565b6202a15c5a10611560575f928380935192620249f0f1505f808080806114ae565b604051632153f33560e21b8152600490fd5b61153f92506115926115319160203d6020116102e0576102d181836107dd565b92506114e6565b80548210156115ae575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054806115f757505f5b6001600160d01b038116156115f15760016115e79201611599565b90549060031b1c90565b50505f90565b5f19908082810111610a5e57825f5260205f2001015460301c6115cc565b91909160408184031261013a57803561162d81610129565b9260208201356001600160401b03811161013a576108c49201610835565b5190811515820361013a57565b9081602091031261013a576108c49061164b565b61167891810190611615565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156102e7575f916117a8575b501561179657816117086004926116e9611960565b5f80546001600160a01b0319166001600160a01b038916179055611996565b94604051928380926313c085b760e11b82525afa9182156102e7575f92611779575b505016158061176f575b61175d575161080b9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515611734565b61178f9250803d106102e0576102d181836107dd565b5f8061172a565b6040516362df054560e01b8152600490fd5b6117c89150833d85116117ce575b6117c081836107dd565b810190611658565b5f6116d4565b503d6117b6565b9081602091031261013a575163ffffffff8116810361013a5790565b90600163ffffffff80931601918211610a5e57565b918051156118d45780602080611821935183010191016117d5565b9161182c8382611aae565b9261183d845165ffffffffffff1690565b9065ffffffffffff80851692168281146118c85782119182611873575b505061186a576108c492506119de565b50506020015190565b9091506118808354610ec4565b63ffffffff831614918215611899575b50505f8061185a565b6118c09192506118b46118ae610adb926117f1565b85611aae565b5165ffffffffffff1690565b115f80611890565b50505050506020015190565b506108c4916119de565b65ffffffffffff908181116118f1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b8054600160401b8110156107aa5761192d91600182018155611599565b8154905f199060031b1b19169055565b90815491600160401b8310156107aa578261125191600161080b95018155611599565b611968611b55565b611970611b55565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6040516119a38161078f565b5260208180518101031261013a576020906040516119c08161078f565b6119d86040519384936119d28561078f565b0161164b565b82525290565b908154905f829160058411611a48575b6119f9935084611de5565b80611a2157505f905b6001600160d01b038216156115f1576108c49160016115e79201611599565b611a3b611a30611a4292610ec4565b835f5260205f200190565b5460301c90565b90611a02565b9192611a5381611cba565b8103908111610a5e576119f993855f5265ffffffffffff808360205f20015416908516105f14611a845750916119ee565b929150611a9090611195565b906119ee565b60405190611aa3826107af565b5f6020838281520152565b9060206001611ad2611afe93611ac2611a96565b50611acb611a96565b5085611599565b509360405194611ae1866107af565b549465ffffffffffff86169586825260301c938491015201611599565b90549060405192611b0e846107af565b835260031b1c602082015290565b805480611b2d5750505f905f905f90565b5f19918183810111610a5e575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020611e458339815191525460401c1615611b7157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156107aa57611ba091600182018155611599565b611bca57815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c9057611bf4611bff91610ec4565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c7e57879303611c455750611c3e92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c7991611c65611c576107fe565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b83565b611c3e565b604051632520601d60e01b8152600490fd5b5090611cb591611ca1611c576107fe565b6001600160d01b0385166020830152611b83565b5f9190565b60018111156108c457600181600160801b811015611dd3575b611d7b611d71611d67611d5d611d53611d49611d8797600488600160401b611d829a1015611dc6575b640100000000811015611db9575b62010000811015611dac575b610100811015611da0575b6010811015611d94575b1015611d8c575b60030260011c611d42818b61147f565b0160011c90565b611d42818a61147f565b611d42818961147f565b611d42818861147f565b611d42818761147f565b611d42818661147f565b809361147f565b821190565b900390565b60011b611d32565b811c9160021b91611d2b565b60081c91811b91611d21565b60101c9160081b91611d16565b60201c9160101b91611d0a565b60401c9160201b91611cfc565b50600160401b9050608082901c611cd3565b91905b838210611df55750505090565b9091928083169080841860011c8201809211610a5e57845f5265ffffffffffff808360205f20015416908416105f14611e325750925b9190611de8565b939250611e3e90611195565b91611e2b56fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f6c8c6e53e56abe4ba9bf3f192a97636699c1edad17d1630537b4ec239db2d6c64736f6c634300081900336101603461017c576001600160401b0390601f61370238819003918201601f1916830191848311848410176101805780849260209460405283398101031261017c5751906001600160a01b038216820361017c57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661016a578080831603610125575b835f60a0525f60c0525f60e052610100905f8252610120905f82526101409081526040519161356d9384610195853960805184610b68015260a0518461047b015260c05184818161158e0152612c56015260e0518481816102e801526122c2015251838181610437015261244c015251828181610c7a01526115e40152518181816108060152818161191c0152611d110152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b60405163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80622a087514610213578063103f29071461020e5780631a2be2c4146102095780631dd5f60014610204578063267de1f3146101ff5780632964f8dc146101fa5780632c9d45b3146101f55780632dd31000146101f057806331ce4dfe146101eb57806334d098ea146101e6578063439fab91146101e1578063457821b7146101dc5780635264679b146101d7578063545ce389146101d257806369f78920146101cd5780638f42f9ab146101c85780638f82f931146101c35780639168f9d2146101be5780639a896551146101b95780639f86fd85146101b4578063a4ef9b4f146101af578063aa8e6489146101aa578063aab3595f146101a5578063b94c386e146101a0578063bb24fe8a1461019b578063bc6eac5b14610196578063c0cd7c3e14610191578063cd05b8a11461018c578063d5c24e1a14610187578063e054e08b14610182578063f9268d181461017d5763fbfa77cf14610178575f80fd5b61181b565b6116ad565b611688565b61166b565b611613565b6115cf565b6115b2565b61156f565b61121d565b6111c5565b611187565b611124565b611090565b611005565b610bda565b610b49565b610b2c565b610ae7565b61084f565b610835565b6107f1565b6106b9565b610668565b6105ff565b610466565b610422565b610406565b6103b1565b610397565b610317565b6102d3565b610261565b6001600160a01b0381160361022957565b5f80fd5b65ffffffffffff81160361022957565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102295760c0366003190112610229576102c56102b160043561028481610218565b61028f602435610218565b60643561029b81610218565b60a435916102a88361022d565b604435906118d1565b60405191829160208352602083019061023d565b0390f35b5f91031261022957565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022957604036600319011261022957602061036361035e60243561033c81610218565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6120da565b604051908152f35b60609060031901126102295760043561038381610218565b90602435906044356103948161022d565b90565b34610229576102c56102b16103ab3661036b565b916119a8565b3461022957604036600319011261022957602065ffffffffffff6103fc6024356103da81610218565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610229575f366003190112610229576020604051614e208152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176104d957604052565b6104aa565b604081019081106001600160401b038211176104d957604052565b606081019081106001600160401b038211176104d957604052565b6001600160401b0381116104d957604052565b608081019081106001600160401b038211176104d957604052565b90601f801991011681019081106001600160401b038211176104d957604052565b6040519060c082018281106001600160401b038211176104d957604052565b6040519061058f826104f9565b565b6040519061058f826104de565b6001600160401b0381116104d957601f01601f191660200190565b81601f82011215610229578035906105d08261059e565b926105de6040519485610542565b8284526020838301011161022957815f926020809301838601378301015290565b346102295760603660031901126102295760243561061c8161022d565b604435906001600160401b0382116102295761065f61064160209336906004016105b9565b6004355f90815260068552604090206001600160a01b039390612152565b16604051908152f35b34610229575f36600319011261022957602060ff5f5460a01c166040519015158152f35b9181601f84011215610229578235916001600160401b038311610229576020838186019501011161022957565b34610229576020366003190112610229576001600160401b03600435818111610229576106ea90369060040161068c565b5f80516020613518833981519152549260ff8460401c16159316801590816107e9575b60011490816107df575b1590816107d6575b506107c4575f80516020613518833981519152805467ffffffffffffffff1916600117905561075291836107a05761228b565b61075857005b5f80516020613518833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020613518833981519152805460ff60401b1916600160401b17905561228b565b60405163f92ee8a960e01b8152600490fd5b9050155f61071f565b303b159150610717565b84915061070d565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576102c56102b16108493661036b565b91611a2c565b346102295760a0366003190112610229576024356004803561087083610218565b604435926064356108808161022d565b6084356001600160401b0381116102295761089e903690860161068c565b94906108a86123f5565b6108b185612424565b6108b9611abe565b9580610ad1575b50506108cb426125f5565b906108e66108df825465ffffffffffff1690565b8093611b1f565b5f5490969061090b906108ff906001600160a01b031681565b6001600160a01b031690565b968260206040998a51928380926327f843b560e11b82525afa8015610acc5761094a9261093f925f92610a9b575b50611a14565b65ffffffffffff1690565b65ffffffffffff8516908110908115610a85575b50610a765761097090518486886127d0565b5096878082109118028088189714610a68576102c5610a41878988887f3cb7f4ff6cecf74cee0eb9ae3ebf8933fa60a53014cce52f96da72a78dba8464896109c08a6109bb426125f5565b611b1f565b92600354978894610a116109d2610563565b8881526001600160a01b0385166020820152808b018a905265ffffffffffff8616606082015265ffffffffffff831660808201525f60a0820152611b61565b885197885265ffffffffffff938416602089015290921660408701526001600160a01b0316949081906060820190565b0390a4610a5a60015f805160206134f883398151915255565b519081529081906020820190565b855163167f871760e31b8152fd5b508551631357ac9160e11b8152fd5b9050610a9361093f426125f5565b11155f61095e565b610abe91925060203d602011610ac5575b610ab68183610542565b810190611b39565b905f610939565b503d610aac565b6118ad565b610adf929650810190611ad1565b935f806108c0565b34610229576080366003190112610229576102c56102b1600435610b0a81610218565b604435610b1681610218565b60643591610b238361022d565b60243590611c97565b34610229575f366003190112610229576020600354604051908152f35b3461022957604036600319011261022957602435610b668161022d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610bc85763ffffffff610bb36040926004355f526006602052835f206124df565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102295760603660031901126102295760048035906bffffffffffffffffffffffff8216820361022957602435610c1181610218565b6044356001600160401b03811161022957610c2f903690840161068c565b90610c386123f5565b610c40611abe565b5081610fa0575b5050604080516302910f8b60e31b8152338185019081526001600160a01b0395929491602091829082908190830103818a7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610acc575f91610f73575b5015610f64575f54610ce5906001600160a01b0316936bffffffffffffffffffffffff166bffffffffffffffffffffffff193360601b161790565b95610d00610cfb885f52600660205260405f2090565b613223565b50949015610efa57610d1461093f426125f5565b65ffffffffffff9586161115610ec457610d3e610d39895f52600660205260405f2090565b6125b6565b505b610d636108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b612e74565b91808716928303610dcf575b505050505050610db4907f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b7570925b516001600160a01b0390911681529081906020820190565b0390a2610dcd60015f805160206134f883398151915255565b005b610de68998959796985f52600660205260405f2090565b911692845163186a323160e21b815281818981885afa908115610acc575f91610ea7575b5081600554958751998a80926327f843b560e11b82525afa908115610acc5789610e6f610e81977f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b75709c610e7695610db49d610e7b985f92610e8a575b50501690611de6565b9116611e07565b6125f5565b9061341a565b82958495610d6f565b610ea09250803d10610ac557610ab68183610542565b5f80610e66565b610ebe9150823d8411610ac557610ab68183610542565b5f610e0a565b610ee26108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b82871603610d4057865163a741a04560e01b81528490fd5b5093949385169250508115610f56575091610db491610f4f7f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b757094610f46875f52600660205260405f2090565b610e7b426125f5565b5050610d9c565b825163a741a04560e01b8152fd5b5083516323d53b9760e21b8152fd5b610f939150823d8411610f99575b610f8b8183610542565b810190611dd2565b5f610caa565b503d610f81565b610fac91810190611ad1565b505f80610c47565b634e487b7160e01b5f52603260045260245ffd5b6003548110156110005760035f5260021b7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01905f90565b610fb4565b34610229576020366003190112610229576004356003548110156102295761102c90610fc8565b50805460018201546002830154600390930154604080519384526001600160a01b0390921660208401529082019290925265ffffffffffff808316606080840191909152603084901c90911660808301529190911c60ff16151560a082015260c090f35b34610229576040366003190112610229576004356110ad81610218565b6024356001600160401b038111610229575f916110cf8392369060040161068c565b90816040519283928337810184815203915af461111c6110ed611e14565b9161110e60405193849215156020840152604080840152606083019061023d565b03601f198101835282610542565b805190602001fd5b34610229576102c56102b16111383661036b565b91611e75565b906080600319830112610229576004359160243561115b81610218565b916044356111688161022d565b91606435906001600160401b03821161022957610394916004016105b9565b346102295760206103636111c061119d3661113e565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b61265b565b346102295760206111e16111d83661113e565b929190916127d0565b50604051908152f35b9060406003198301126102295760043591602435906001600160401b038211610229576112199160040161068c565b9091565b346102295761122b366111ea565b91906112356123f5565b61123d611f9a565b9280611559575b50506003548110156115475761125981610fc8565b509081549061126782612424565b6003830180549365ffffffffffff9384861660018060a01b0361128c895183856119bf565b1615158061151c575b80611503575b6114f1576112b1816112ac426125f5565b611a14565b5f546112c7906108ff906001600160a01b031681565b96600460206040998a51928380926327f843b560e11b82525afa8015610acc5782915f916114d2575b50169116116114c157600183018054909861131b93929188906001600160a01b0316910151926127d0565b90611330816002850154818082109118021890565b9687156114b05760601c60ff1661149f579261145861144b89946114236114108b9687876102c59f61141e8f9d8f9e61145e9f61137a86600160601b60ff60601b19825416179055565b8a54855461139c91906001600160a01b0316885465ffffffffffff1691612a06565b8a5485546113b59189916001600160a01b031690612a86565b8a5494546113d3906001600160a01b0316965465ffffffffffff1690565b976113dc610582565b9384526020840152818301525196879160208301919091604080606083019480518452602081015160208501520151910152565b03601f198101875286610542565b612bf2565b61143c611436855465ffffffffffff1690565b86612cfb565b5494546001600160a01b031690565b915465ffffffffffff1690565b92612d78565b81518381527f5cc28df3b54da9d06f805d87616ebf969c81310f2aa8369cb14ca50f815d411190602090a2610a5a60015f805160206134f883398151915255565b8551633428e90760e01b8152600490fd5b865163167f871760e31b8152600490fd5b8551639ea153eb60e01b8152600490fd5b6114eb915060203d602011610ac557610ab68183610542565b5f6112f0565b60405163b62b15c760e01b8152600490fd5b5061151061093f426125f5565b868860301c161161129b565b506115406108ff61153461152f426125f5565b6119f8565b60208b015190856119bf565b1515611295565b604051637822972360e11b8152600490fd5b611567929350810190611fb9565b905f80611244565b34610229575f3660031901126102295760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610229575f366003190112610229576020600554604051908152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576040366003190112610229576024356001600160401b0381116102295761165961164860209236906004016105b9565b611651426125f5565b6004356119bf565b6040516001600160a01b039091168152f35b34610229575f366003190112610229576020604051620249f08152f35b34610229575f36600319011261022957602065ffffffffffff60045416604051908152f35b34610229576116bb366111ea565b906116c46123f5565b6116cc612041565b9180611807575b5050600354821015611547576116e882610fc8565b506003815491019182549165ffffffffffff9160018060a01b036117108251858716856119bf565b169182159182156117de575b50506117cc5733036117ba5761173461093f426125f5565b908260301c1611156117a95760601c60ff1661179757805460ff60601b1916600160601b17905533907f7d3d269c851b72257a5194a401d151902e9be4347d555996dcff3ff86a077e925f80a3610dcd60015f805160206134f883398151915255565b604051633428e90760e01b8152600490fd5b60405162c457e560e81b8152600490fd5b604051635d154fe160e11b8152600490fd5b60405163dd1ebd9d60e01b8152600490fd5b6117ff9250906108ff9160206117f661152f426125f5565b910151916119bf565b155f8061171c565b611814925081019061205a565b5f806116d3565b34610229575f366003190112610229575f546040516001600160a01b039091168152602090f35b81601f82011215610229578051906118598261059e565b926118676040519485610542565b8284526020838301011161022957815f9260208093018386015e8301015290565b906020828203126102295781516001600160401b038111610229576103949201611842565b6040513d5f823e3d90fd5b604061039492602083525191602080820152019061023d565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252909116604482015265ffffffffffff9091166064820152606091905f81806084810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610acc575f91611986575b50805161195e5750565b61110e9192506103949060405190611975826104be565b8152604051928391602083016118b8565b6119a291503d805f833e61199a8183610542565b810190611888565b5f611954565b92916119b691606094611e75565b805161195e5750565b5f9081526006602052604090206001600160a01b03926119e0929091612152565b1690565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9081165f190191908211611a0f57565b6119e4565b65ffffffffffff9182169082160391908211611a0f57565b611a4d90939293611a406060958483611e75565b9261113861152f426125f5565b815115801590611ab4575b611a60575050565b611aa19293509061110e6103949260405192611a7b846104de565b83526020830190815260405194859360208086015251604080860152608085019061023d565b9051838203603f1901606085015261023d565b5080511515611a58565b60405190611acb826104be565b60608252565b906020828203126102295781356001600160401b03928382116102295701906020828203126102295760405192611b07846104be565b823590811161022957611b1a92016105b9565b815290565b91909165ffffffffffff80809416911601918211611a0f57565b9081602091031261022957516103948161022d565b634e487b7160e01b5f525f60045260245ffd5b600354600160401b8110156104d957806001611b809201600355610fc8565b919091611c43578051825560208101516001830180546001600160a01b0319166001600160a01b039290921691909117905561058f91611c299060a090600390604085015160028201550192611bf665ffffffffffff606083015116859065ffffffffffff1665ffffffffffff19825416179055565b60808101516bffffffffffff00000000000085549160301b16906bffffffffffff00000000000019161784550151151590565b815460ff60601b191690151560601b60ff60601b16179055565b611b4e565b906103949160208152611c67825160606020840152608083019061023d565b9060606040611c87602086015194601f199586868303018487015261023d565b940151928285030191015261023d565b919093925f606095611caa838287611e75565b94611d0d611cc4611cbd61152f426125f5565b8484611e75565b604051632751749360e11b81526001600160a01b039384166004820152602481019490945291909516604483015265ffffffffffff909316606482015292839081906084820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610acc575f92611da9575b50825115801590611d9f575b8015611d95575b611d6557505050565b61110e939450906103949291611d79610582565b9283526020830152604082015260405192839160208301611c48565b5081511515611d5c565b5080511515611d55565b611dbe9192503d805f833e61199a8183610542565b905f611d49565b5190811515820361022957565b908160209103126102295761039490611dc5565b81810292918115918404141715611a0f57565b9060018201809211611a0f57565b91908201809211611a0f57565b3d15611e3e573d90611e258261059e565b91611e336040519384610542565b82523d5f602084013e565b606090565b519063ffffffff8216820361022957565b9190826040910312610229576103946020611e6e84611dc5565b9301611e43565b92915f8060609565ffffffffffff60405194602096638f82f93160e01b88880152602487015216604485015260448452611eae84610527565b6040519384611edb87820192639f86fd8560e01b845230602484015260406044840152606483019061023d565b0394611eef601f1996878101835282610542565b51915afa50611f0d611eff611e14565b838082518301019101612627565b9015611f6057808380611f2593518301019101611e54565b9290611f3057505050565b61039492939450611f54604051948592830191909163ffffffff6020820193169052565b03908101835282610542565b809150519182156102295701fd5b5f9081526002602090815260408083206001600160a01b0390941683529290522061039492919061265b565b60405190611fa7826104f9565b60606040838281528260208201520152565b906020828203126102295781356001600160401b03928382116102295701906060828203126102295760405192611fef846104f9565b823581811161022957826120049185016105b9565b84526020830135818111610229578261201e9185016105b9565b602085015260408301359081116102295761203992016105b9565b604082015290565b6040519061204e826104de565b60606020838281520152565b906020828203126102295781356001600160401b03928382116102295701906040828203126102295760405192612090846104de565b823581811161022957826120a59185016105b9565b84526020830135908111610229576120bd92016105b9565b602082015290565b8054821015611000575f5260205f2001905f90565b6120e381612e74565b6001600160d01b038116156121085760016120fe92016120c5565b90549060031b1c90565b50505f90565b908160209103126102295761039490611e43565b5f19810191908211611a0f57565b91908203918211611a0f57565b90600163ffffffff80931601918211611a0f57565b91805115612236578060208061216d9351830101910161210e565b916121788382612eb4565b92612189845165ffffffffffff1690565b9065ffffffffffff808516921682811461221d57821191826121c8575b50506121b6576103949250613319565b5050602001516001600160d01b031690565b9091506121d58354612122565b63ffffffff8316149182156121ee575b50505f806121a6565b61221591925061220961220361093f9261213d565b85612eb4565b5165ffffffffffff1690565b115f806121e5565b50505050602091909101516001600160d01b0316905090565b5061039491613319565b91909160408184031261022957803561225881610218565b9260208201356001600160401b0381116102295761039492016105b9565b90816020910312610229575161039481610218565b61229791810190612240565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610acc575f916123d8575b50156123c65781612328600492612308612f08565b5f80546001600160a01b0319166001600160a01b03891617905586612f95565b94604051928380926313c085b760e11b82525afa918215610acc575f92612399575b505016158061238f575b61237d575161058f9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515612354565b6123b89250803d106123bf575b6123b08183610542565b810190612276565b5f8061234a565b503d6123a6565b6040516362df054560e01b8152600490fd5b6123ef9150833d8511610f9957610f8b8183610542565b5f6122f3565b5f805160206134f883398151915260028154146124125760029055565b604051633ee5aeb560e01b8152600490fd5b604051635daf681960e11b815260609190911c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa918215610acc575f9261249a575b503391160361248857565b60405163227bf64d60e01b8152600490fd5b6124b491925060203d6020116123bf576123b08183610542565b905f61247d565b906040516124c8816104de565b915465ffffffffffff8116835260301c6020830152565b908154905f829160058411612568575b6124fa9350846131c1565b90811561255c5761251b9061250e83612122565b905f5260205f20016124bb565b9161255561254c6125466020612537875165ffffffffffff1690565b9601516001600160d01b031690565b93612122565b63ffffffff1690565b6001939291565b50505f905f905f905f90565b919261257381613096565b8103908111611a0f576124fa93855f5265ffffffffffff808360205f20015416908516105f146125a45750916124ef565b9291506125b090611df9565b906124ef565b906125c082612e74565b91805480156125e1575f1901906125d782826120c5565b611c43575f905555565b634e487b7160e01b5f52603160045260245ffd5b65ffffffffffff90818111612608571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b9190916040818403126102295761263d81611dc5565b9260208201516001600160401b038111610229576103949201611842565b9180511561271d57806020806126769351830101910161210e565b916126818382613267565b92612692845165ffffffffffff1690565b9065ffffffffffff808516921682811461271157821191826126c8575b50506126bf57610394925061325c565b50506020015190565b9091506126d58354612122565b63ffffffff8316149182156126ee575b50505f806126af565b61270991925061220961270361093f9261213d565b85613267565b115f806126e5565b50505050506020015190565b506103949161325c565b906020828203126102295781516001600160401b0392838211610229570190604082820312610229576040519261275d846104de565b82518181116102295782612772918501611842565b84526020830151908111610229576120bd9201611842565b90816020910312610229575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526103949291019061023d565b926127d9612041565b908051806129ec575b50506127ed426125f5565b5f54909490612806906108ff906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa8015610acc5761283a9261093f925f926129d45750611a14565b65ffffffffffff82169081109081156129bd575b811561298c575b50612980578560049560405196878092630ce9b79360e41b82525afa948515610acc576128a79587915f91612963575b50845190604051808099819463e02f693760e01b8352878b8a60048601612799565b03916001600160a01b03165afa938415610acc5761291f955f95612922575b509261290e85936129149361290e96869a61290561035e836128f0875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192611f6e565b90612130565b818082109118021890565b91565b61291492955061290e94919361295061290e928a3d8c1161295c575b6129488183610542565b81019061278a565b969350939194506128c6565b503d61293e565b61297a9150823d84116123bf576123b08183610542565b5f612885565b5050505050505f905f90565b90506129b661093f6129aa876128f0875f52600160205260405f2090565b5465ffffffffffff1690565b115f612855565b90506129cb61093f426125f5565b8110159061284e565b610abe9192508a3d8c11610ac557610ab68183610542565b6129ff9250602080918301019101612727565b5f806127e2565b919091805f52600160205265ffffffffffff80612a368560405f209060018060a01b03165f5260205260405f2090565b541690831611612a4557505050565b61058f92612a6d915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9190825f526002602052612ade61035e612ab38360405f209060018060a01b03165f5260205260405f2090565b92612abd426125f5565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211611a0f576001810190815415612b82575b612afe81613223565b509490835495612b0d846120da565b5081612b6d575b5015612b4c5750505f198301928311611a0f5761058f92612b34916120c5565b90919082549060031b91821b915f19901b1916179055565b61058f94612b66926001600160d01b03909116919061341a565b50506132f6565b65ffffffffffff83811691161490505f612b14565b612b8b826132c9565b612af5565b60606020610394938184526001600160401b0381511682850152015191604080820152019061023d565b919360a093610394969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061023d565b92939060046020612c0f6108ff6108ff5f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa908115610acc5761110e91612c8d915f91612cdc575b506001600160a01b031693612c4c610591565b6001600160401b037f000000000000000000000000000000000000000000000000000000000000000016815290602082015260405192839160208301612b90565b823b15610229575f94612cb886926040519889978896879563724ab0f760e11b875260048701612bba565b03925af18015610acc57612cc95750565b80612cd661058f92610514565b806102c9565b612cf5915060203d6020116123bf576123b08183610542565b5f612c39565b65ffffffffffff9160446020925f60018060a01b038154166040519687958694631c9e38c760e21b865260048601521660248401525af18015610acc57612d3f5750565b612d579060203d60201161295c576129488183610542565b50565b8115612d64570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c16612d90575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa918215610acc575f92612e4d575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff9091166084830152612e1a8260a481015b03601f198101845283610542565b6202a15c5a10612e3b575f928380935192620249f0f1505f80808080612d89565b604051632153f33560e21b8152600490fd5b612e1a9250612e6d612e0c9160203d6020116123bf576123b08183610542565b9250612dc1565b805480612e815750505f90565b5f19918183810111611a0f575f5260205f2001015460301c90565b60405190612ea9826104de565b5f6020838281520152565b612ed991612ed391612ec4612e9c565b50612ecd612e9c565b506120c5565b506124bb565b65ffffffffffff81511690602060018060d01b039101511660405191612efe836104de565b8252602082015290565b612f106133a5565b612f186133a5565b60015f805160206134f883398151915255565b60405190612f38826104be565b5f8252565b809103906060821261022957602060405192612f58846104f9565b12610229576040908151612f6b816104be565b612f7482611dc5565b815283526020810151612f868161022d565b60208401520151604082015290565b90600490612fa1612f2b565b508051612fb8602092838080948301019101612f3d565b6040516327f843b560e11b815290949093849182906001600160a01b03165afa918215610acc575f92613077575b50820190612ffa825165ffffffffffff1690565b65ffffffffffff91821691161015613065576040820160038151106130535761304961302f61304f935165ffffffffffff1690565b65ffffffffffff1665ffffffffffff196004541617600455565b51600555565b5190565b6040516354f778f360e01b8152600490fd5b6040516367d5e3df60e11b8152600490fd5b8161308f9293503d8411610ac557610ab68183610542565b905f612fe6565b600181111561039457600181600160801b8110156131af575b61315761314d61314361313961312f61312561316397600488600160401b61315e9a10156131a2575b640100000000811015613195575b62010000811015613188575b61010081101561317c575b6010811015613170575b1015613168575b60030260011c61311e818b612d5a565b0160011c90565b61311e818a612d5a565b61311e8189612d5a565b61311e8188612d5a565b61311e8187612d5a565b61311e8186612d5a565b8093612d5a565b821190565b900390565b60011b61310e565b811c9160021b91613107565b60081c91811b916130fd565b60101c9160081b916130f2565b60201c9160101b916130e6565b60401c9160201b916130d8565b50600160401b9050608082901c6130af565b91905b8382106131d15750505090565b909192808316906001818518811c8301809311611a0f57855f5265ffffffffffff808460205f20015416908516105f14613210575050925b91906131c4565b909493508101809111611a0f5791613209565b8054806132345750505f905f905f90565b5f19918183810111611a0f575f5260205f2001015460019165ffffffffffff82169160301c90565b906120e39082613319565b9061328a612ed36132ab9261327a612e9c565b50613283612e9c565b50846120c5565b91600165ffffffffffff845116936020828060d01b039101511691016120c5565b905490604051926132bb846104de565b835260031b1c602082015290565b8054600160401b8110156104d9576132e6916001820181556120c5565b8154905f199060031b1b19169055565b90815491600160401b8310156104d95782612b3491600161058f950181556120c5565b908154905f829160058411613357575b6133349350846131c1565b8061333f5750505f90565b61334890612122565b905f5260205f20015460301c90565b919261336281613096565b8103908111611a0f5761333493855f5265ffffffffffff808360205f20015416908516105f14613393575091613329565b92915061339f90611df9565b90613329565b60ff5f805160206135188339815191525460401c16156133c157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156104d9576133f0916001820181556120c5565b611c4357815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b805492939280156134cd5761343161343c91612122565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116134bb57879303613482575061347b92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506134b6916134a2613494610591565b65ffffffffffff9093168352565b6001600160d01b03861660208301526133d3565b61347b565b604051632520601d60e01b8152600490fd5b50906134f2916134de613494610591565b6001600160d01b03851660208301526133d3565b5f919056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122083c9d2c27050cb61d0026c4a120151139ad36b1ef086f66b4ca1715f04bbc28864736f6c63430008190033","sourceMap":"624:2139:97:-:0;;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;348:4:95;332:21;;8837:64:26;624:2139:97;;;;;;;7896:76:26;;624:2139:97;;;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:82;;;-1:-1:-1;525:17:82;;-1:-1:-1;552:12:82;;-1:-1:-1;2353:28:105;;2391:53;;-1:-1:-1;2391:53:105;;987:41:97;;;;624:2139;;1062:31;;;;;;;;;;;;;;624:2139;1062:31;;;;;;348:4:95;624:2139:97;;1062:31;;;-1:-1:-1;1062:31:97;;;;;;1038:56;;624:2139;;1038:56;;624:2139;;1133:35;;;;;;;;;;;;;;;624:2139;1133:35;;;;;;348:4:95;624:2139:97;;1133:35;;;-1:-1:-1;1133:35:97;;;;;;1104:65;624:2139;;1104:65;;624:2139;;;;;;;;332:21:95;624:2139:97;;;;;525:17:82;624:2139:97;;;;;552:12:82;624:2139:97;;;;;2353:28:105;624:2139:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1133:35;624:2139;;;-1:-1:-1;624:2139:97;;;;;1133:35;624:2139;;;-1:-1:-1;624:2139:97;;;;;-1:-1:-1;624:2139:97;7981:146:26;-1:-1:-1;;;;;;624:2139:97;;;;;;;;;8087:29:26;;624:2139:97;;8087:29:26;7981:146;;;;;7896:76;624:2139:97;;-1:-1:-1;;;7938:23:26;;;;;624:2139:97;-1:-1:-1;624:2139:97;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c8063103f2907146101545780631a2be2c41461014f578063267de1f31461014a5780632964f8dc146101455780632c9d45b3146101405780632dd310001461013b57806334d098ea14610136578063439fab91146101315780634a7196551461012c5780634ea2e926146101275780634eb5a242146101225780636565b7db1461011d578063770280461461011857806379d89614146101135780639f86fd851461010e578063aa8e648914610109578063aab3595f14610104578063bb24fe8a146100ff578063d5c24e1a146100fa5763fbfa77cf146100f5575f80fd5b610945565b610928565b6108e5565b6108c0565b610882565b6106c5565b610681565b6105ca565b610586565b610542565b610525565b6104f0565b61034b565b6102fa565b6102b6565b610272565b610256565b610201565b6101ad565b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b6001600160a01b0381160361019857565b346101985760403660031901126101985760206101f96101f46024356101d28161019c565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b610da5565b604051908152f35b3461019857604036600319011261019857602065ffffffffffff61024c60243561022a8161019c565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610198575f366003190112610198576020604051614e208152f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f36600319011261019857602060ff5f5460a01c166040519015158152f35b9181601f84011215610198578235916001600160401b038311610198576020838186019501011161019857565b34610198576020366003190112610198576001600160401b036004358181116101985761037c90369060040161031e565b5f80516020611938833981519152549260ff8460401c161593168015908161047b575b6001149081610471575b159081610468575b50610456575f80516020611938833981519152805467ffffffffffffffff191660011790556103e4918361043257610e47565b6103ea57005b5f80516020611938833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611938833981519152805460ff60401b1916600160401b179055610e47565b60405163f92ee8a960e01b8152600490fd5b9050155f6103b1565b303b1591506103a9565b84915061039f565b65ffffffffffff81160361019857565b6080906003190112610198576004356104ab8161019c565b90602435906044356104bc8161019c565b906064356104c981610483565b90565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346101985761052161050d61050436610493565b929190916109ab565b6040519182916020835260208301906104cc565b0390f35b346101985761052161050d61053936610493565b92919091610b76565b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198576060366003190112610198576024356105e78161019c565b6044356105f381610483565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361066f5761064d610652926004355f52600260205260405f209060018060a01b03165f5260205260405f2090565b611045565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b34610198575f366003190112610198576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610198576040366003190112610198576004356106e28161019c565b6024356001600160401b038111610198575f916107048392369060040161031e565b90816040519283928337810184815203915af4610751610722610d21565b916107436040519384921515602084015260408084015260608301906104cc565b03601f1981018352826107a8565b805190602001fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761078857604052565b610759565b60a081019081106001600160401b0382111761078857604052565b90601f801991011681019081106001600160401b0382111761078857604052565b604051906107d68261076d565b565b6001600160401b03811161078857601f01601f191660200190565b81601f820112156101985780359061080a826107d8565b9261081860405194856107a8565b8284526020838301011161019857815f926020809301838601378301015290565b90608060031983011261019857600435916024356108568161019c565b9160443561086381610483565b91606435906001600160401b038211610198576104c9916004016107f3565b346101985760206101f96108bb61089836610839565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611173565b346101985760206108dc6108d336610839565b92919091611342565b50604051908152f35b34610198575f3660031901126101985760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610198575f366003190112610198576020604051620249f08152f35b34610198575f366003190112610198575f546040516001600160a01b039091168152602090f35b5190811515820361019857565b519063ffffffff8216820361019857565b9190826040910312610198576104c960206109a48461096c565b9301610979565b5f809195949593929365ffffffffffff60609760405195602097633b81402360e11b89890152602488015260018060a01b03166044870152166064850152606484526109f68461078d565b6040519384610a2387820192639f86fd8560e01b84523060248401526040604484015260648301906104cc565b0394610a37601f19968781018352826107a8565b51915afa50610a55610a47610d21565b838082518301019101610fb0565b9015610aa857808380610a6d9351830101910161098a565b9290610a7857505050565b6104c992939450610a9c604051948592830191909163ffffffff6020820193169052565b039081018352826107a8565b809150519182156101985701fd5b9081602091031261019857516104c98161019c565b6040513d5f823e3d90fd5b81601f8201121561019857805190610aed826107d8565b92610afb60405194856107a8565b8284526020838301011161019857815f9260208093018386015e8301015290565b906020828203126101985781516001600160401b038111610198576104c99201610ad6565b906104c991602081526020610b61835160408385015260608401906104cc565b920151906040601f19828503019101526104cc565b60405163fbfa77cf60e01b815260609594919391926020926001600160a01b03929091908481600481878b165afa908115610cd257849186915f91610d04575b50600460405180948193630ce9b79360e41b8352165afa8015610cd25786948385925f948591610cd7575b506040516304bb92e160e31b81526001600160a01b039182166004820152602481019290925292909216604483015265ffffffffffff97909716606482015295869060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa948515610cd2575f95610caa575b50610c669394956109ab565b825115801590610ca0575b610c7a57505050565b6104c992939450610c896107c9565b938452818401526107436040519384928301610b41565b5080511515610c71565b610c66949550610ccb903d805f833e610cc381836107a8565b810190610b1c565b9493610c5a565b610acb565b610cf79150893d8b11610cfd575b610cef81836107a8565b810190610ab6565b5f610be1565b503d610ce5565b610d1b9150823d8411610cfd57610cef81836107a8565b5f610bb6565b3d15610d4b573d90610d32826107d8565b91610d4060405193846107a8565b82523d5f602084013e565b606090565b5f9081526002602090815260408083206001600160a01b039094168352929052206104c9929190611173565b8054821015610d91575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b805480610dda57505f5b6001600160d01b03811615610dd4576001610dca9201610d7c565b90549060031b1c90565b50505f90565b5f19908082810111610df857825f5260205f2001015460301c610daf565b610fe4565b919091604081840312610198578035610e158161019c565b9260208201356001600160401b038111610198576104c992016107f3565b90816020910312610198576104c99061096c565b610e5391810190610dfd565b506040516302910f8b60e31b81526001600160a01b0391821660048201819052919060209081816024817f000000000000000000000000000000000000000000000000000000000000000087165afa908115610cd2575f91610f83575b5015610f7157610ebe61159c565b5f80546001600160a01b0319166001600160a01b038516179055600481610ee36115d2565b94604051928380926313c085b760e11b82525afa918215610cd2575f92610f54575b5050161580610f4a575b610f3857516107d69015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515610f0f565b610f6a9250803d10610cfd57610cef81836107a8565b5f80610f05565b6040516362df054560e01b8152600490fd5b610fa39150823d8411610fa9575b610f9b81836107a8565b810190610e33565b5f610eb0565b503d610f91565b91909160408184031261019857610fc68161096c565b9260208201516001600160401b038111610198576104c99201610ad6565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610df857565b91908203918211610df857565b9060018201809211610df857565b9060405161102e8161076d565b915465ffffffffffff8116835260301c6020830152565b91908254905f8291600584116110e3575b61106193508561173d565b9081156110d7576110d06110c76110c1610dca61109361108e61108388610ff8565b895f5260205f200190565b611021565b9660016110ba60206110ab8b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101610d7c565b93610ff8565b63ffffffff1690565b6001939291565b5f925082915081908190565b91926110ee81611612565b8103908111610df85761106193865f526111226111178360205f200165ffffffffffff90541690565b65ffffffffffff1690565b65ffffffffffff85161015611138575091611056565b92915061114490611013565b90611056565b90816020910312610198576104c990610979565b90600163ffffffff80931601918211610df857565b91805115611241578060208061118e9351830101910161114a565b91611199838261186f565b926111aa845165ffffffffffff1690565b9065ffffffffffff808516921682811461123557821191826111e0575b50506111d7576104c9925061179f565b50506020015190565b9091506111ed8354610ff8565b63ffffffff831614918215611206575b50505f806111c7565b61122d91925061122161121b6111179261115e565b8561186f565b5165ffffffffffff1690565b115f806111fd565b50505050506020015190565b506104c99161179f565b604051906112588261076d565b60606020838281520152565b906020828203126101985781516001600160401b0392838211610198570190604082820312610198576040519261129a8461076d565b825181811161019857826112af918501610ad6565b84526020830151908111610198576112c79201610ad6565b602082015290565b9081602091031261019857516104c981610483565b65ffffffffffff9182169082160391908211610df857565b90816020910312610198575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526104c9929101906104cc565b9261134b61124b565b90805180611582575b505061135f42611905565b5f5490949061138490611378906001600160a01b031681565b6001600160a01b031690565b93604051956327f843b560e11b875260209687816004818a5afa8015610cd2576113b992611117925f92611553575b506112e4565b65ffffffffffff821690811090811561153c575b811561150b575b506114ff578560049560405196878092630ce9b79360e41b82525afa948515610cd2576114269587915f916114e2575b50845190604051808099819463e02f693760e01b8352878b8a6004860161130b565b03916001600160a01b03165afa938415610cd25761149e955f956114a1575b509261148d85936114939361148d96869a6114846101f48361146f875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610d50565b90611006565b818082109118021890565b91565b61149392955061148d9491936114cf61148d928a3d8c116114db575b6114c781836107a8565b8101906112fc565b96935093919450611445565b503d6114bd565b6114f99150823d8411610cfd57610cef81836107a8565b5f611404565b5050505050505f905f90565b90506115356111176115298761146f875f52600160205260405f2090565b5465ffffffffffff1690565b115f6113d4565b905061154a61111742611905565b811015906113cd565b6115749192508a3d8c1161157b575b61156c81836107a8565b8101906112cf565b905f6113b3565b503d611562565b6115959250602080918301019101611264565b5f80611354565b6115a46118d7565b6115ac6118d7565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60405190602082018281106001600160401b03821117610788576040525f8252565b81156115fe570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156104c957600181600160801b81101561172b575b6116d36116c96116bf6116b56116ab6116a16116df97600488600160401b6116da9a101561171e575b640100000000811015611711575b62010000811015611704575b6101008110156116f8575b60108110156116ec575b10156116e4575b60030260011c61169a818b6115f4565b0160011c90565b61169a818a6115f4565b61169a81896115f4565b61169a81886115f4565b61169a81876115f4565b61169a81866115f4565b80936115f4565b821190565b900390565b60011b61168a565b811c9160021b91611683565b60081c91811b91611679565b60101c9160081b9161166e565b60201c9160101b91611662565b60401c9160201b91611654565b50600160401b9050608082901c61162b565b91905b83821061174d5750505090565b909192808316906001818518811c8301809311610df857855f5265ffffffffffff808460205f20015416908516105f1461178c575050925b9190611740565b909493508101809111610df85791611785565b908154905f829160058411611809575b6117ba93508461173d565b806117e257505f905b6001600160d01b03821615610dd4576104c9916001610dca9201610d7c565b6117fc6117f161180392610ff8565b835f5260205f200190565b5460301c90565b906117c3565b919261181481611612565b8103908111610df8576117ba93855f5265ffffffffffff808360205f20015416908516105f146118455750916117af565b92915061185190611013565b906117af565b604051906118648261076d565b5f6020838281520152565b906118986118926118b992611882611857565b5061188b611857565b5084610d7c565b50611021565b91600165ffffffffffff845116936020828060d01b03910151169101610d7c565b905490604051926118c98461076d565b835260031b1c602082015290565b60ff5f805160206119388339815191525460401c16156118f357565b604051631afcd79f60e31b8152600490fd5b65ffffffffffff90818111611918571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f277a4f1d79c926d3cf47f1d1c69c51a336ff12303565531614d4d54627d5eb964736f6c63430008190033","sourceMap":"624:2139:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;624:2139:97;;;;;;1435:38:105;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;:::o;:::-;;;;;;-1:-1:-1;;624:2139:97;;;;;2936:47:105;:38;624:2139:97;;;;;:::i;:::-;;;-1:-1:-1;624:2139:97;2936:16:105;624:2139:97;;;-1:-1:-1;624:2139:97;;;;;;;;;;;;;;;;;2936:38:105;:47;:::i;:::-;624:2139:97;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;1788:109:105;624:2139:97;;;;;:::i;:::-;;;-1:-1:-1;624:2139:97;1788:109:105;624:2139:97;;;-1:-1:-1;624:2139:97;;;;;;;;;;;;;;;;;1788:109:105;624:2139:97;;;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;;1374:6:105;624:2139:97;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;1528:51:105;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;322:32:82;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;624:2139:97;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;624:2139:97;;;;;;;4301:16:26;624:2139:97;;4726:16:26;;:34;;;;624:2139:97;4805:1:26;4790:16;:50;;;;624:2139:97;4855:13:26;:30;;;;624:2139:97;4851:91:26;;;-1:-1:-1;;;;;;;;;;;624:2139:97;;-1:-1:-1;;624:2139:97;;;;;718:4:82;;4951:18:26;4979:67;;718:4:82;:::i;:::-;5066:101:26;;624:2139:97;5066:101:26;-1:-1:-1;;;;;;;;;;;624:2139:97;;-1:-1:-1;;;;624:2139:97;;;;;-1:-1:-1;624:2139:97;;5142:14:26;;624:2139:97;;5142:14:26;624:2139:97;4979:67:26;-1:-1:-1;;;;;;;;;;;624:2139:97;;-1:-1:-1;;;;624:2139:97;-1:-1:-1;;;624:2139:97;;;718:4:82;:::i;4851:91:26:-;624:2139:97;;-1:-1:-1;;;4908:23:26;;624:2139:97;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;624:2139:97;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;624:2139:97;;;;;;;;-1:-1:-1;;624:2139:97;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;624:2139:97;;;;;;778:38;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;822:43;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;624:2139:97;435:10:95;:19;431:71;;1400:38:97;:77;624:2139;;;-1:-1:-1;624:2139:97;1400:16;624:2139;;;-1:-1:-1;624:2139:97;;;;;;;;;;;;;;;;;1400:38;:77;:::i;:::-;624:2139;;;;;;;;;;;;;;;;;;;-1:-1:-1;;624:2139:97;431:71:95;624:2139:97;;-1:-1:-1;;;477:14:95;;624:2139:97;;477:14:95;624:2139:97;;;;;;-1:-1:-1;;624:2139:97;;;;;;727:45;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;624:2139:97;;;;-1:-1:-1;624:2139:97;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;624:2139:97;;;;;;;;;;477:31:88;;624:2139:97;;;;;;;;;;;:::i;:::-;477:31:88;624:2139:97;;477:31:88;;;;;;:::i;:::-;518:79;;;624:2139:97;518:79:88;;624:2139:97;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;624:2139:97;;;;;;-1:-1:-1;;624:2139:97;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;624:2139:97;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;624:2139:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;;:::i;:::-;;;;;2692:73:105;:38;624:2139:97;;;:::i;:::-;;;;;-1:-1:-1;624:2139:97;2692:16:105;624:2139:97;;;-1:-1:-1;624:2139:97;;;;;;;;;;;;;;;;;2692:38:105;:73;:::i;624:2139:97:-;;;;;3248:62:105;624:2139:97;;;:::i;:::-;3248:62:105;;;;;:::i;:::-;624:2139:97;;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;;-1:-1:-1;;;;;404:28:82;624:2139:97;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;;1271:7:105;624:2139:97;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;1490:514::-;-1:-1:-1;1490:514:97;;;;;;;;624:2139;;;;;1779:95;;;;;;;;;;;;;624:2139;;;;;;;;;;;;;;;;;1779:95;;;;;:::i;:::-;624:2139;;716:88:95;;624:2139:97;716:88:95;;;;;;;;;783:4;1779:95:97;716:88:95;;624:2139:97;;;;;;;;;;;:::i;:::-;716:88:95;624:2139:97;716:88:95;624:2139:97;;716:88:95;;;;;;;;:::i;:::-;698:107;;;;;857:45;698:107;;:::i;:::-;624:2139:97;;;;857:45:95;;;;;;:::i;:::-;916:8;;912:175;;624:2139:97;;;1705:221;624:2139;;1705:221;;;;;;:::i;:::-;1937:61;;;;1490:514;;;:::o;1937:61::-;1970:17;624:2139;;;;1970:17;624:2139;;1970:17;;;;;624:2139;;;;;;;;;;;;1970:17;;;;;;;;;:::i;912:175:95:-;624:2139:97;;;;944:22:95;;;940:36;;990:87;;624:2139:97;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;624:2139:97;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;2010:751::-;624:2139;;-1:-1:-1;;;2301:28:97;;624:2139;;2010:751;;;;;2301:28;;-1:-1:-1;;;;;624:2139:97;2010:751;;;2301:28;624:2139;2301:28;624:2139;;;;2301:28;;;;;;;;;;;;;;;2010:751;624:2139;2301:28;624:2139;;;;;;;;;2295:47;;624:2139;2295:47;;;;;;;;;;;2301:28;2295:47;;;;;2010:751;-1:-1:-1;624:2139:97;;-1:-1:-1;;;2230:162:97;;-1:-1:-1;;;;;624:2139:97;;;2301:28;2230:162;;624:2139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2249:20;624:2139;2230:162;;;;;;;2301:28;2230:162;;;2010:751;2442:68;;;;;;:::i;:::-;624:2139;;2525:21;;;:59;;;2010:751;2521:234;;2010:751;;;:::o;2521:234::-;2607:137;624:2139;;;;;;:::i;:::-;;;;2635:95;;;624:2139;2607:137;624:2139;;2607:137;;;;;;:::i;2525:59::-;624:2139;;;2550:34;;2525:59;;2230:162;2442:68;2230:162;;;;;;;2301:28;2230:162;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;:::i;2295:47::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;2301:28;;;;;;;;;;;;;;:::i;:::-;;;;624:2139;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;624:2139:97;;;;:::o;:::-;;;:::o;2505:267:105:-;-1:-1:-1;624:2139:97;;;2692:16:105;624:2139:97;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;;2692:73:105;;2505:267;;2692:73;:::i;624:2139:97:-;;;;;;;;-1:-1:-1;624:2139:97;;-1:-1:-1;624:2139:97;;;-1:-1:-1;624:2139:97;:::o;:::-;;;;;;;;;;;;10580:184:99;624:2139:97;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;624:2139:97;;10726:7:99;624:2139:97;;10736:12:99;:17;:12;;:17;:::i;:::-;624:2139:97;;;;;;10580:184:99;:::o;10726:31::-;;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;624:2139:97;;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;;-1:-1:-1;13267:109:99;;;624:2139:97;;;10446:63:73;;624:2139:97;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;6491:564:105:-;6614:34;6491:564;6614:34;;;;:::i;:::-;-1:-1:-1;624:2139:97;;-1:-1:-1;;;6664:41:105;;-1:-1:-1;;;;;624:2139:97;;;6664:41:105;;;624:2139:97;;;;;6664:41:105;;;624:2139:97;;;6674:13:105;624:2139:97;;6664:41:105;;;;;;;-1:-1:-1;6664:41:105;;;6491:564;6663:42;;6659:90;;2684:111:30;;:::i;:::-;-1:-1:-1;624:2139:97;;-1:-1:-1;;;;;;624:2139:97;-1:-1:-1;;;;;624:2139:97;;;;;6664:41:105;624:2139:97;;;:::i;:::-;;;;;;;;;;;6892:23:105;;;;;;;;;-1:-1:-1;6892:23:105;;;6491:564;624:2139:97;;;6892:37:105;:64;;;6491:564;6888:112;;624:2139:97;7010:38:105;;624:2139:97;;-1:-1:-1;624:2139:97;;-1:-1:-1;;;;624:2139:97;;;;;;-1:-1:-1;;;624:2139:97;;;;;;;;6888:112:105;624:2139:97;;-1:-1:-1;;;6979:10:105;;6664:41;;6979:10;6892:64;-1:-1:-1;624:2139:97;;;;6892:64:105;;:23;;;;;;-1:-1:-1;6892:23:105;;;;;;:::i;:::-;;;;;6659:90;624:2139:97;;-1:-1:-1;;;6728:10:105;;6664:41;;6728:10;6664:41;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;624:2139:97;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;624:2139:97;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;8889:1:99;624:2139:97;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:99:-;;;624:2139:97;;8620:15:99;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;624:2139:97;9219:31:99;624:2139:97;9130:48:99;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;9130:48;624:2139:97;:::i;:::-;;9176:1:99;624:2139:97;9232:17:99;624:2139:97;;;;;;;;9232:17:99;;624:2139:97;-1:-1:-1;;;;;624:2139:97;;;;9219:12:99;;:31;:::i;624:2139:97:-;9259:7:99;;:::i;:::-;624:2139:97;;;;9252:15:99;9176:1;;9188:80;;8406:869::o;9010:62::-;8578:11;;-1:-1:-1;8578:11:99;;-1:-1:-1;8578:11:99;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;624:2139:97;;;;;;;8939:60:99;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;624:2139:97;;;;;;8759:49:99;624:2139:97;;;;8753:55:99;624:2139:97;;;8753:55:99;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;624:2139:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;624:2139:97;;7686:17:99;7682:83;;624:2139:97;7789:27:99;624:2139:97;7789:27:99;624:2139:97;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;624:2139:97;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;624:2139:97;8075:24:99;:::o;7975:84::-;624:2139:97;;;8009:16:99;624:2139:97;;8009:16:99;:::i;:::-;624:2139:97;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;624:2139:97;;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;624:2139:97;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;624:2139:97:-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3323:1122:105:-;;624:2139:97;;:::i;:::-;;;;3608:16:105;3604:109;;3323:1122;837:15:75;;819:34;837:15;819:34;:::i;:::-;-1:-1:-1;624:2139:97;;;;3778:27:105;;:13;;-1:-1:-1;;;;;624:2139:97;3778:13:105;624:2139:97;;-1:-1:-1;;;;;624:2139:97;;;3778:27:105;624:2139:97;;;;;;;3778:29:105;;;;;;;;;;;;;;;3740:67;3778:29;3759:48;3778:29;-1:-1:-1;3778:29:105;;;3323:1122;3759:48;;:::i;3740:67::-;624:2139:97;;;3740:67:105;;;:107;;;;;3323:1122;3740:197;;;;3323:1122;3723:263;;;624:2139:97;3778:29:105;624:2139:97;;;;;;;;;;4025:25:105;;;;;;;;;4010:143;4025:25;;;-1:-1:-1;4025:25:105;;;3323:1122;4113:30;;;624:2139:97;;;;;;;;;;;4010:143:105;;;;;3778:29;4010:143;;;:::i;:::-;;;-1:-1:-1;;;;;624:2139:97;4010:143:105;;;;;;;4181:257;4010:143;-1:-1:-1;4010:143:105;;;3323:1122;3996:157;;4293:102;3996:157;;4233:162;3996:157;4207:231;3996:157;;2936:28;:47;:38;:28;;;624:2139:97;;2936:16:105;624:2139:97;;;;;;;2936:28:105;624:2139:97;;;;;;;;;;;;;;;;2936:47:105;4351:43;;;4293:102;;:::i;:::-;4233:162;;:::i;:::-;3463:5:70;;;;3066;;624:2139:97;3060:42:70;3371:111;;4181:257:105;3323:1122;:::o;4010:143::-;4233:162;4010:143;;;4207:231;4010:143;;;;4293:102;4010:143;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;4025:25;;;;;;;;;;;;;;:::i;:::-;;;;3723:263;3962:13;;;;;;-1:-1:-1;3962:13:105;-1:-1:-1;3962:13:105;:::o;3740:197::-;3886:41;;3867:70;3886:51;;:41;;;624:2139:97;;3886:29:105;624:2139:97;;;;;;;3886:51:105;624:2139:97;;;;;3867:70:105;-1:-1:-1;3740:197:105;;;:107;837:15:75;;3811:36:105;819:34:75;837:15;819:34;:::i;3811:36:105:-;;;;3740:107;;;3778:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3604:109;3662:40;;;;;;;;;;;;:::i;:::-;3604:109;;;;6893:76:26;;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1949:1;6893:76:26:o;624:2139:97:-;;;;;;;;;;-1:-1:-1;;;;;624:2139:97;;;;;;;-1:-1:-1;624:2139:97;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;18080:5181:70;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;624:2139:97;18246:1:70;624:2139:97;22284:6:70;;;;:::i;:::-;624:2139:97;;;;;22278:18:70;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;;;624:2139:97;23216:28:70;624:2139:97;;18080:5181:70;:::o;19887:61::-;18246:1;624:2139:97;19887:61:70;;19787:87;624:2139:97;;;;;19787:87:70;;;19687;624:2139:97;;;;;19687:87:70;;;19585:89;624:2139:97;;;;;19585:89:70;;;19482:90;624:2139:97;;;;;19482:90:70;;;19379;624:2139:97;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;624:2139:97;-1:-1:-1;624:2139:97;;;;19274:92:70;;12497:447:99;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:70;;;;;;624:2139:97;;3731:5:70;;;624:2139:97;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;624:2139:97;13267:109:99;;;-1:-1:-1;13267:109:99;;624:2139:97;;;;;-1:-1:-1;12771:136:99;624:2139:97;;;12830:10:99;;12771:136;;12687:230;;;;12771:136;624:2139:97;;;;;;;;;;;12771:136:99;;;6999:207;;624:2139:97;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;624:2139:97;;7168:7:99;624:2139:97;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:99;;;;;;13089:293;;10135:41:73;624:2139:97;;;;;10135:48:73;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;624:2139:97;;;;;;;10049:53:73;13267:109:99;;-1:-1:-1;13267:109:99;624:2139:97;13267:109:99;;;-1:-1:-1;13267:109:99;;624:2139:97;;;;;9870:48:73;9866:149;624:2139:97;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;624:2139:97;;;;;;;:::i;:::-;-1:-1:-1;624:2139:97;;;;;;;:::o;11486:272:99:-;;624:2139:97;11452:22:73;11718:31:99;11486:272;624:2139:97;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;624:2139:97;;:::i;:::-;;11718:12:99;624:2139:97;;;;;11731:17:99;624:2139:97;;;;;11731:17:99;;624:2139:97;;11718:12:99;;:31;:::i;:::-;624:2139:97;;;;;;;;;:::i;:::-;;;;;;11731:17:99;11672:79;;624:2139:97;11486:272:99;:::o;7084:141:26:-;624:2139:97;-1:-1:-1;;;;;;;;;;;624:2139:97;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;624:2139:97;;-1:-1:-1;;;7191:17:26;;;;;14296:213:71;624:2139:97;14374:24:71;;;;14370:103;;624:2139:97;14296:213:71;:::o;14370:103::-;624:2139:97;;;;14421:41:71;;;;;;14452:2;14421:41;;;624:2139:97;;;;;14421:41:71","linkReferences":{},"immutableReferences":{"60120":[{"start":715,"length":32}],"60123":[{"start":2308,"length":32}],"64680":[{"start":1525,"length":32}],"65023":[{"start":1686,"length":32},{"start":3114,"length":32}],"65025":[{"start":1367,"length":32}],"65027":[{"start":1435,"length":32}],"67904":[{"start":361,"length":32},{"start":3711,"length":32}],"67907":[{"start":647,"length":32}]}},"methodIdentifiers":{"BASE_DELEGATOR_HINTS()":"79d89614","BURNER_GAS_LIMIT()":"d5c24e1a","BURNER_RESERVE()":"2964f8dc","FACTORY()":"2dd31000","NETWORK_MIDDLEWARE_SERVICE()":"2c9d45b3","SLASHER_HINTS()":"4eb5a242","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","VETO_SLASHER_HINTS()":"6565b7db","cumulativeSlash(bytes32,address)":"1a2be2c4","cumulativeSlashAt(bytes32,address,uint48,bytes)":"aa8e6489","cumulativeSlashHint(address,bytes32,address,uint48)":"4a719655","cumulativeSlashHintInternal(bytes32,address,uint48)":"77028046","initialize(bytes)":"439fab91","isBurnerHook()":"34d098ea","latestSlashedCaptureTimestamp(bytes32,address)":"267de1f3","slashableStake(bytes32,address,uint48,bytes)":"aab3595f","slashableStakeHints(address,bytes32,address,uint48)":"4ea2e926","staticDelegateCall(address,bytes)":"9f86fd85","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseDelegatorHints\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBurnerGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoBurner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetworkMiddleware\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\"},{\"inputs\":[],\"name\":\"BASE_DELEGATOR_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_MIDDLEWARE_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SLASHER_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VETO_SLASHER_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"cumulativeSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"cumulativeSlashAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"cumulativeSlashHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"cumulativeSlashHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isBurnerHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"latestSlashedCaptureTimestamp\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"value\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"slashableStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"slashableStakeHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"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\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"cumulativeSlash(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"cumulative slash amount\"}},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the cumulative slash amount until (inclusively)\"},\"returns\":{\"_0\":\"cumulative slash amount until the given timestamp (inclusively)\"}},\"initialize(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"slashableStake(bytes32,address,uint48,bytes)\":{\"params\":{\"captureTimestamp\":\"time point to get the stake amount at\",\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"amount\":\"slashable amount of the stake\"}},\"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\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"BURNER_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the burner.\"},\"BURNER_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the burner's execution.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"NETWORK_MIDDLEWARE_SERVICE()\":{\"notice\":\"Get the network middleware service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"cumulativeSlash(bytes32,address)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork.\"},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"isBurnerHook()\":{\"notice\":\"Get if the burner is needed to be called on a slashing.\"},\"latestSlashedCaptureTimestamp(bytes32,address)\":{\"notice\":\"Get the latest capture timestamp that was slashed on a subnetwork.\"},\"slashableStake(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a slashable amount of a stake got at a given capture timestamp using hints.\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/SlasherHints.sol\":\"BaseSlasherHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/SlasherHints.sol\":{\"keccak256\":\"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595\",\"dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/slasher/BaseSlasher.sol\":{\"keccak256\":\"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06\",\"dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF\"]},\"src/contracts/slasher/Slasher.sol\":{\"keccak256\":\"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61\",\"dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3\"]},\"src/contracts/slasher/VetoSlasher.sol\":{\"keccak256\":\"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429\",\"dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/INetworkMiddlewareService.sol\":{\"keccak256\":\"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c\",\"dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/slasher/IBurner.sol\":{\"keccak256\":\"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447\",\"dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW\"]},\"src/interfaces/slasher/ISlasher.sol\":{\"keccak256\":\"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1\",\"dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ\"]},\"src/interfaces/slasher/IVetoSlasher.sol\":{\"keccak256\":\"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508\",\"dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseDelegatorHints","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientBurnerGas"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NoBurner"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetworkMiddleware"},{"inputs":[],"type":"error","name":"NotVault"},{"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":[],"stateMutability":"view","type":"function","name":"BASE_DELEGATOR_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VETO_SLASHER_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"cumulativeSlash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"cumulativeSlashAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"cumulativeSlashHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"cumulativeSlashHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isBurnerHook","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"latestSlashedCaptureTimestamp","outputs":[{"internalType":"uint48","name":"value","type":"uint48"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"slashableStake","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"slashableStakeHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"cumulativeSlash(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"cumulative slash amount"}},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the cumulative slash amount until (inclusively)"},"returns":{"_0":"cumulative slash amount until the given timestamp (inclusively)"}},"initialize(bytes)":{"params":{"data":"some data to use"}},"slashableStake(bytes32,address,uint48,bytes)":{"params":{"captureTimestamp":"time point to get the stake amount at","hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"amount":"slashable amount of the stake"}},"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"}}},"version":1},"userdoc":{"kind":"user","methods":{"BURNER_GAS_LIMIT()":{"notice":"Get a gas limit for the burner."},"BURNER_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the burner's execution."},"FACTORY()":{"notice":"Get the factory's address."},"NETWORK_MIDDLEWARE_SERVICE()":{"notice":"Get the network middleware service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"cumulativeSlash(bytes32,address)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork."},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"isBurnerHook()":{"notice":"Get if the burner is needed to be called on a slashing."},"latestSlashedCaptureTimestamp(bytes32,address)":{"notice":"Get the latest capture timestamp that was slashed on a subnetwork."},"slashableStake(bytes32,address,uint48,bytes)":{"notice":"Get a slashable amount of a stake got at a given capture timestamp using hints."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/SlasherHints.sol":"BaseSlasherHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/SlasherHints.sol":{"keccak256":"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f","urls":["bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595","dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/slasher/BaseSlasher.sol":{"keccak256":"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6","urls":["bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06","dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF"],"license":"BUSL-1.1"},"src/contracts/slasher/Slasher.sol":{"keccak256":"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f","urls":["bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61","dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3"],"license":"BUSL-1.1"},"src/contracts/slasher/VetoSlasher.sol":{"keccak256":"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897","urls":["bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429","dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/INetworkMiddlewareService.sol":{"keccak256":"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783","urls":["bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c","dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/slasher/IBurner.sol":{"keccak256":"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b","urls":["bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447","dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW"],"license":"MIT"},"src/interfaces/slasher/ISlasher.sol":{"keccak256":"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625","urls":["bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1","dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ"],"license":"MIT"},"src/interfaces/slasher/IVetoSlasher.sol":{"keccak256":"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9","urls":["bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508","dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":97} \ No newline at end of file diff --git a/out/SlasherHints.sol/SlasherHints.json b/out/SlasherHints.sol/SlasherHints.json index f0606a0..88d6a62 100644 --- a/out/SlasherHints.sol/SlasherHints.json +++ b/out/SlasherHints.sol/SlasherHints.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"baseSlasherHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_SLASHER_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"BURNER_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BURNER_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlashAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isBurnerHook","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"latestSlashedCaptureTimestamp","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"slash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"slashedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"slashHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"slashableStake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Slash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"slashedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientBurnerGas","inputs":[]},{"type":"error","name":"InsufficientSlash","inputs":[]},{"type":"error","name":"InvalidCaptureTimestamp","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NoBurner","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetworkMiddleware","inputs":[]},{"type":"error","name":"NotVault","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":"0x6101403461015d576001600160401b0390601f61201038819003918201601f1916830191848311848410176101615780849260209460405283398101031261015d5751906001600160a01b038216820361015d57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661014b578080831603610106575b835f60a0525f60c0525f60e052610100905f825261012090815260405190611e9a9283610176843960805183505060a051836104f2015260c0518381816109490152611373015260e05183818161031d01526116a301525182818161021c01526104ae0152518181816106920152610d390152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b60405163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063021a815614610124578063103f29071461011f5780631a2be2c41461011a578063238ab85f14610115578063267de1f3146101105780632964f8dc1461010b5780632c9d45b3146101065780632dd310001461010157806334d098ea146100fc578063439fab91146100f7578063457821b7146100f25780639f86fd85146100ed578063aa8e6489146100e8578063aab3595f146100e3578063bb24fe8a146100de578063d5c24e1a146100d95763fbfa77cf146100d4575f80fd5b61098a565b61096d565b61092a565b610905565b6108c7565b6106c1565b61067d565b610545565b610521565b6104dd565b610499565b61047d565b610428565b6103c4565b61034c565b610308565b61017b565b6001600160a01b0381160361013a57565b5f80fd5b65ffffffffffff81160361013a57565b9181601f8401121561013a578235916001600160401b03831161013a576020838186019501011161013a57565b3461013a5760a036600319011261013a5760043560243561019b81610129565b6064356101a78161013e565b6084356001600160401b03811161013a576101c690369060040161014e565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146102ec5760029055604051635daf681960e11b8152606086901c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa9182156102e7575f926102b6575b50339116036102a4576102a0946102679460443591610a63565b61029060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6040519081529081906020820190565b0390f35b60405163227bf64d60e01b8152600490fd5b6102d991925060203d6020116102e0575b6102d181836107dd565b810190610de5565b905f61024d565b503d6102c7565b610a27565b604051633ee5aeb560e01b8152600490fd5b5f91031261013a57565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a57604036600319011261013a57602061039861039360243561037181610129565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6115c2565b604051908152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461013a5760c036600319011261013a576102a06104146004356103e781610129565b6103f2602435610129565b6064356103fe81610129565b60a4359161040b8361013e565b60443590610ced565b6040519182916020835260208301906103a0565b3461013a57604036600319011261013a57602065ffffffffffff61047360243561045181610129565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b3461013a575f36600319011261013a576020604051614e208152f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a57602060ff5f5460a01c166040519015158152f35b3461013a57602036600319011261013a576001600160401b0360043581811161013a5761057690369060040161014e565b5f80516020611e45833981519152549260ff8460401c1615931680159081610675575b600114908161066b575b159081610662575b50610650575f80516020611e45833981519152805467ffffffffffffffff191660011790556105de918361062c5761166c565b6105e457005b5f80516020611e45833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611e45833981519152805460ff60401b1916600160401b17905561166c565b60405163f92ee8a960e01b8152600490fd5b9050155f6105ab565b303b1591506105a3565b849150610599565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a5760408060031936011261013a576004356106df81610129565b602435906001600160401b03821161013a575f809161070561076994369060040161014e565b908187519283928337810184815203915af43d156107715761075b3d61072a8161081a565b90610737865192836107dd565b81523d5f602083013e5b8451948593151560208501528084015260608301906103a0565b03601f1981018352826107dd565b805190602001fd5b61075b6060610741565b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176107aa57604052565b61077b565b604081019081106001600160401b038211176107aa57604052565b6001600160401b0381116107aa57604052565b90601f801991011681019081106001600160401b038211176107aa57604052565b6040519061080b826107af565b565b6040519061080b8261078f565b6001600160401b0381116107aa57601f01601f191660200190565b81601f8201121561013a5780359061084c8261081a565b9261085a60405194856107dd565b8284526020838301011161013a57815f926020809301838601378301015290565b90608060031983011261013a576004359160243561089881610129565b916044356108a58161013e565b91606435906001600160401b03821161013a576108c491600401610835565b90565b3461013a5760206103986109006108dd3661087b565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611806565b3461013a5760206109216109183661087b565b92919091610edf565b50604051908152f35b3461013a575f36600319011261013a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461013a575f36600319011261013a576020604051620249f08152f35b3461013a575f36600319011261013a575f546040516001600160a01b039091168152602090f35b604051906109be8261078f565b60608252565b9060208282031261013a5781356001600160401b039283821161013a57019060208282031261013a57604051926109fa8461078f565b823590811161013a57610a0d9201610835565b815290565b9081602091031261013a57516108c48161013e565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9182169082160391908211610a5e57565b610a32565b92939594919095610a726109b1565b9280610c53575b5050610a84426118de565b5f54600490602090610aac90610aa0906001600160a01b031681565b6001600160a01b031690565b6040516327f843b560e11b815292839182905afa80156102e757610ae692610adb925f92610c22575b50610a46565b65ffffffffffff1690565b65ffffffffffff8516908110908115610c0c575b50610bfa57610b0f610b1e9251858886610edf565b92909180831890831102821890565b958615610be857610ba361075b610b9a610be3947fe0cbbe1f1e6fd806ca87036fafcebaf7ab5247474a3b20e1c37bb50122c3a88496610b5f8a878b611115565b610b6a8c878b6111a3565b610b726107fe565b9182526020820152604051928391602083019190916020806040830194805184520151910152565b8689848861130f565b610bad8588611418565b610bb98588838761149d565b6040805188815265ffffffffffff90961660208701526001600160a01b0390911694918291820190565b0390a3565b60405163167f871760e31b8152600490fd5b604051631357ac9160e11b8152600490fd5b9050610c1a610adb426118de565b11155f610afa565b610c4591925060203d602011610c4c575b610c3d81836107dd565b810190610a12565b905f610ad5565b503d610c33565b610c619293508101906109c4565b905f80610a79565b81601f8201121561013a57805190610c808261081a565b92610c8e60405194856107dd565b8284526020838301011161013a57815f9260208093018386015e8301015290565b9060208282031261013a5781516001600160401b03811161013a576108c49201610c69565b60406108c49260208352519160208082015201906103a0565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252918216604482015265ffffffffffff909216606483015260609291905f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156102e7575f91610d97575b508051610d735750565b61075b9192506108c490610d8561080d565b90815260405192839160208301610cd4565b610db391503d805f833e610dab81836107dd565b810190610caf565b5f610d69565b5f9081526002602090815260408083206001600160a01b039094168352929052206108c4929190611806565b9081602091031261013a57516108c481610129565b60405190610e07826107af565b60606020838281520152565b9060208282031261013a5781516001600160401b039283821161013a57019060408282031261013a5760405192610e49846107af565b825181811161013a5782610e5e918501610c69565b8452602083015190811161013a57610e769201610c69565b602082015290565b9081602091031261013a575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526108c4929101906103a0565b5f19810191908211610a5e57565b91908203918211610a5e57565b92610ee8610dfa565b908051806110fb575b5050610efc426118de565b5f54909490610f1590610aa0906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa80156102e757610f4992610adb925f926110e35750610a46565b65ffffffffffff82169081109081156110cc575b811561109b575b5061108f578560049560405196878092630ce9b79360e41b82525afa9485156102e757610fb69587915f91611072575b50845190604051808099819463e02f693760e01b8352878b8a60048601610e8d565b03916001600160a01b03165afa9384156102e75761102e955f95611031575b509261101d85936110239361101d96869a61101461039383610fff875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610db9565b90610ed2565b818082109118021890565b91565b61102392955061101d94919361105f61101d928a3d8c1161106b575b61105781836107dd565b810190610e7e565b96935093919450610fd5565b503d61104d565b6110899150823d84116102e0576102d181836107dd565b5f610f94565b5050505050505f905f90565b90506110c5610adb6110b987610fff875f52600160205260405f2090565b5465ffffffffffff1690565b115f610f64565b90506110da610adb426118de565b81101590610f5d565b610c459192508a3d8c11610c4c57610c3d81836107dd565b61110e9250602080918301019101610e13565b5f80610ef1565b919091805f52600160205265ffffffffffff806111458560405f209060018060a01b03165f5260205260405f2090565b54169083161161115457505050565b61080b9261117c915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9060018201809211610a5e57565b9190825f5260026020526111fb6103936111d08360405f209060018060a01b03165f5260205260405f2090565b926111da426118de565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211610a5e57600181019081541561129f575b61121b81611b1c565b50949083549561122a846115c2565b508161128a575b50156112695750505f198301928311610a5e5761080b9261125191611599565b90919082549060031b91821b915f19901b1916179055565b61080b94611283926001600160d01b039091169190611bdd565b505061193d565b65ffffffffffff83811691161490505f611231565b6112a882611910565b611212565b606060206108c4938184526001600160401b038151168285015201519160408082015201906103a0565b919360a0936108c4969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103a0565b9293906004602061132c610aa0610aa05f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa9081156102e75761075b916113aa915f916113f9575b506001600160a01b0316936113696107fe565b6001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152906020820152604051928391602083016112ad565b823b1561013a575f946113d586926040519889978896879563724ab0f760e11b8752600487016112d7565b03925af180156102e7576113e65750565b806113f361080b926107ca565b806102fe565b611412915060203d6020116102e0576102d181836107dd565b5f611356565b5f8054604051631c9e38c760e21b8152600481019390935265ffffffffffff9390931660248301529091602091839160449183916001600160a01b03165af180156102e7576114645750565b61147c9060203d60201161106b5761105781836107dd565b50565b8115611489570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c166114b5575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa9182156102e7575f92611572575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff909116608483015261153f8260a481015b03601f1981018452836107dd565b6202a15c5a10611560575f928380935192620249f0f1505f808080806114ae565b604051632153f33560e21b8152600490fd5b61153f92506115926115319160203d6020116102e0576102d181836107dd565b92506114e6565b80548210156115ae575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054806115f757505f5b6001600160d01b038116156115f15760016115e79201611599565b90549060031b1c90565b50505f90565b5f19908082810111610a5e57825f5260205f2001015460301c6115cc565b91909160408184031261013a57803561162d81610129565b9260208201356001600160401b03811161013a576108c49201610835565b5190811515820361013a57565b9081602091031261013a576108c49061164b565b61167891810190611615565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156102e7575f916117a8575b501561179657816117086004926116e9611960565b5f80546001600160a01b0319166001600160a01b038916179055611996565b94604051928380926313c085b760e11b82525afa9182156102e7575f92611779575b505016158061176f575b61175d575161080b9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515611734565b61178f9250803d106102e0576102d181836107dd565b5f8061172a565b6040516362df054560e01b8152600490fd5b6117c89150833d85116117ce575b6117c081836107dd565b810190611658565b5f6116d4565b503d6117b6565b9081602091031261013a575163ffffffff8116810361013a5790565b90600163ffffffff80931601918211610a5e57565b918051156118d45780602080611821935183010191016117d5565b9161182c8382611aae565b9261183d845165ffffffffffff1690565b9065ffffffffffff80851692168281146118c85782119182611873575b505061186a576108c492506119de565b50506020015190565b9091506118808354610ec4565b63ffffffff831614918215611899575b50505f8061185a565b6118c09192506118b46118ae610adb926117f1565b85611aae565b5165ffffffffffff1690565b115f80611890565b50505050506020015190565b506108c4916119de565b65ffffffffffff908181116118f1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b8054600160401b8110156107aa5761192d91600182018155611599565b8154905f199060031b1b19169055565b90815491600160401b8310156107aa578261125191600161080b95018155611599565b611968611b55565b611970611b55565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6040516119a38161078f565b5260208180518101031261013a576020906040516119c08161078f565b6119d86040519384936119d28561078f565b0161164b565b82525290565b908154905f829160058411611a48575b6119f9935084611de5565b80611a2157505f905b6001600160d01b038216156115f1576108c49160016115e79201611599565b611a3b611a30611a4292610ec4565b835f5260205f200190565b5460301c90565b90611a02565b9192611a5381611cba565b8103908111610a5e576119f993855f5265ffffffffffff808360205f20015416908516105f14611a845750916119ee565b929150611a9090611195565b906119ee565b60405190611aa3826107af565b5f6020838281520152565b9060206001611ad2611afe93611ac2611a96565b50611acb611a96565b5085611599565b509360405194611ae1866107af565b549465ffffffffffff86169586825260301c938491015201611599565b90549060405192611b0e846107af565b835260031b1c602082015290565b805480611b2d5750505f905f905f90565b5f19918183810111610a5e575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020611e458339815191525460401c1615611b7157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156107aa57611ba091600182018155611599565b611bca57815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c9057611bf4611bff91610ec4565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c7e57879303611c455750611c3e92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c7991611c65611c576107fe565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b83565b611c3e565b604051632520601d60e01b8152600490fd5b5090611cb591611ca1611c576107fe565b6001600160d01b0385166020830152611b83565b5f9190565b60018111156108c457600181600160801b811015611dd3575b611d7b611d71611d67611d5d611d53611d49611d8797600488600160401b611d829a1015611dc6575b640100000000811015611db9575b62010000811015611dac575b610100811015611da0575b6010811015611d94575b1015611d8c575b60030260011c611d42818b61147f565b0160011c90565b611d42818a61147f565b611d42818961147f565b611d42818861147f565b611d42818761147f565b611d42818661147f565b809361147f565b821190565b900390565b60011b611d32565b811c9160021b91611d2b565b60081c91811b91611d21565b60101c9160081b91611d16565b60201c9160101b91611d0a565b60401c9160201b91611cfc565b50600160401b9050608082901c611cd3565b91905b838210611df55750505090565b9091928083169080841860011c8201809211610a5e57845f5265ffffffffffff808360205f20015416908416105f14611e325750925b9190611de8565b939250611e3e90611195565b91611e2b56fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f6c8c6e53e56abe4ba9bf3f192a97636699c1edad17d1630537b4ec239db2d6c64736f6c63430008190033","sourceMap":"2765:796:95:-:0;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;348:4:93;332:21;;8837:64:26;2765:796:95;;;;;;;;;7896:76:26;;2765:796:95;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:80;-1:-1:-1;525:17:80;;-1:-1:-1;552:12:80;;-1:-1:-1;2353:28:103;;2391:53;;-1:-1:-1;2391:53:103;;2970:37:95;;;;2765:796;;;;;;;;;332:21:93;2765:796:95;;;;525:17:80;2765:796:95;;;;;552:12:80;2765:796:95;;;;;;;;;;2353:28:103;2765:796:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;2765:796:95;;;;;;;;;;;;;8087:29:26;;2765:796:95;;8087:29:26;7981:146;;;;;7896:76;2765:796:95;;-1:-1:-1;;;7938:23:26;;;;;2765:796:95;-1:-1:-1;2765:796:95;;;;;;-1:-1:-1;2765:796:95;;;;;-1:-1:-1;2765:796:95","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c8063021a815614610124578063103f29071461011f5780631a2be2c41461011a578063238ab85f14610115578063267de1f3146101105780632964f8dc1461010b5780632c9d45b3146101065780632dd310001461010157806334d098ea146100fc578063439fab91146100f7578063457821b7146100f25780639f86fd85146100ed578063aa8e6489146100e8578063aab3595f146100e3578063bb24fe8a146100de578063d5c24e1a146100d95763fbfa77cf146100d4575f80fd5b61098a565b61096d565b61092a565b610905565b6108c7565b6106c1565b61067d565b610545565b610521565b6104dd565b610499565b61047d565b610428565b6103c4565b61034c565b610308565b61017b565b6001600160a01b0381160361013a57565b5f80fd5b65ffffffffffff81160361013a57565b9181601f8401121561013a578235916001600160401b03831161013a576020838186019501011161013a57565b3461013a5760a036600319011261013a5760043560243561019b81610129565b6064356101a78161013e565b6084356001600160401b03811161013a576101c690369060040161014e565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146102ec5760029055604051635daf681960e11b8152606086901c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa9182156102e7575f926102b6575b50339116036102a4576102a0946102679460443591610a63565b61029060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6040519081529081906020820190565b0390f35b60405163227bf64d60e01b8152600490fd5b6102d991925060203d6020116102e0575b6102d181836107dd565b810190610de5565b905f61024d565b503d6102c7565b610a27565b604051633ee5aeb560e01b8152600490fd5b5f91031261013a57565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a57604036600319011261013a57602061039861039360243561037181610129565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6115c2565b604051908152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461013a5760c036600319011261013a576102a06104146004356103e781610129565b6103f2602435610129565b6064356103fe81610129565b60a4359161040b8361013e565b60443590610ced565b6040519182916020835260208301906103a0565b3461013a57604036600319011261013a57602065ffffffffffff61047360243561045181610129565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b3461013a575f36600319011261013a576020604051614e208152f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a57602060ff5f5460a01c166040519015158152f35b3461013a57602036600319011261013a576001600160401b0360043581811161013a5761057690369060040161014e565b5f80516020611e45833981519152549260ff8460401c1615931680159081610675575b600114908161066b575b159081610662575b50610650575f80516020611e45833981519152805467ffffffffffffffff191660011790556105de918361062c5761166c565b6105e457005b5f80516020611e45833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611e45833981519152805460ff60401b1916600160401b17905561166c565b60405163f92ee8a960e01b8152600490fd5b9050155f6105ab565b303b1591506105a3565b849150610599565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a5760408060031936011261013a576004356106df81610129565b602435906001600160401b03821161013a575f809161070561076994369060040161014e565b908187519283928337810184815203915af43d156107715761075b3d61072a8161081a565b90610737865192836107dd565b81523d5f602083013e5b8451948593151560208501528084015260608301906103a0565b03601f1981018352826107dd565b805190602001fd5b61075b6060610741565b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176107aa57604052565b61077b565b604081019081106001600160401b038211176107aa57604052565b6001600160401b0381116107aa57604052565b90601f801991011681019081106001600160401b038211176107aa57604052565b6040519061080b826107af565b565b6040519061080b8261078f565b6001600160401b0381116107aa57601f01601f191660200190565b81601f8201121561013a5780359061084c8261081a565b9261085a60405194856107dd565b8284526020838301011161013a57815f926020809301838601378301015290565b90608060031983011261013a576004359160243561089881610129565b916044356108a58161013e565b91606435906001600160401b03821161013a576108c491600401610835565b90565b3461013a5760206103986109006108dd3661087b565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611806565b3461013a5760206109216109183661087b565b92919091610edf565b50604051908152f35b3461013a575f36600319011261013a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461013a575f36600319011261013a576020604051620249f08152f35b3461013a575f36600319011261013a575f546040516001600160a01b039091168152602090f35b604051906109be8261078f565b60608252565b9060208282031261013a5781356001600160401b039283821161013a57019060208282031261013a57604051926109fa8461078f565b823590811161013a57610a0d9201610835565b815290565b9081602091031261013a57516108c48161013e565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9182169082160391908211610a5e57565b610a32565b92939594919095610a726109b1565b9280610c53575b5050610a84426118de565b5f54600490602090610aac90610aa0906001600160a01b031681565b6001600160a01b031690565b6040516327f843b560e11b815292839182905afa80156102e757610ae692610adb925f92610c22575b50610a46565b65ffffffffffff1690565b65ffffffffffff8516908110908115610c0c575b50610bfa57610b0f610b1e9251858886610edf565b92909180831890831102821890565b958615610be857610ba361075b610b9a610be3947fe0cbbe1f1e6fd806ca87036fafcebaf7ab5247474a3b20e1c37bb50122c3a88496610b5f8a878b611115565b610b6a8c878b6111a3565b610b726107fe565b9182526020820152604051928391602083019190916020806040830194805184520151910152565b8689848861130f565b610bad8588611418565b610bb98588838761149d565b6040805188815265ffffffffffff90961660208701526001600160a01b0390911694918291820190565b0390a3565b60405163167f871760e31b8152600490fd5b604051631357ac9160e11b8152600490fd5b9050610c1a610adb426118de565b11155f610afa565b610c4591925060203d602011610c4c575b610c3d81836107dd565b810190610a12565b905f610ad5565b503d610c33565b610c619293508101906109c4565b905f80610a79565b81601f8201121561013a57805190610c808261081a565b92610c8e60405194856107dd565b8284526020838301011161013a57815f9260208093018386015e8301015290565b9060208282031261013a5781516001600160401b03811161013a576108c49201610c69565b60406108c49260208352519160208082015201906103a0565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252918216604482015265ffffffffffff909216606483015260609291905f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156102e7575f91610d97575b508051610d735750565b61075b9192506108c490610d8561080d565b90815260405192839160208301610cd4565b610db391503d805f833e610dab81836107dd565b810190610caf565b5f610d69565b5f9081526002602090815260408083206001600160a01b039094168352929052206108c4929190611806565b9081602091031261013a57516108c481610129565b60405190610e07826107af565b60606020838281520152565b9060208282031261013a5781516001600160401b039283821161013a57019060408282031261013a5760405192610e49846107af565b825181811161013a5782610e5e918501610c69565b8452602083015190811161013a57610e769201610c69565b602082015290565b9081602091031261013a575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526108c4929101906103a0565b5f19810191908211610a5e57565b91908203918211610a5e57565b92610ee8610dfa565b908051806110fb575b5050610efc426118de565b5f54909490610f1590610aa0906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa80156102e757610f4992610adb925f926110e35750610a46565b65ffffffffffff82169081109081156110cc575b811561109b575b5061108f578560049560405196878092630ce9b79360e41b82525afa9485156102e757610fb69587915f91611072575b50845190604051808099819463e02f693760e01b8352878b8a60048601610e8d565b03916001600160a01b03165afa9384156102e75761102e955f95611031575b509261101d85936110239361101d96869a61101461039383610fff875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610db9565b90610ed2565b818082109118021890565b91565b61102392955061101d94919361105f61101d928a3d8c1161106b575b61105781836107dd565b810190610e7e565b96935093919450610fd5565b503d61104d565b6110899150823d84116102e0576102d181836107dd565b5f610f94565b5050505050505f905f90565b90506110c5610adb6110b987610fff875f52600160205260405f2090565b5465ffffffffffff1690565b115f610f64565b90506110da610adb426118de565b81101590610f5d565b610c459192508a3d8c11610c4c57610c3d81836107dd565b61110e9250602080918301019101610e13565b5f80610ef1565b919091805f52600160205265ffffffffffff806111458560405f209060018060a01b03165f5260205260405f2090565b54169083161161115457505050565b61080b9261117c915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9060018201809211610a5e57565b9190825f5260026020526111fb6103936111d08360405f209060018060a01b03165f5260205260405f2090565b926111da426118de565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211610a5e57600181019081541561129f575b61121b81611b1c565b50949083549561122a846115c2565b508161128a575b50156112695750505f198301928311610a5e5761080b9261125191611599565b90919082549060031b91821b915f19901b1916179055565b61080b94611283926001600160d01b039091169190611bdd565b505061193d565b65ffffffffffff83811691161490505f611231565b6112a882611910565b611212565b606060206108c4938184526001600160401b038151168285015201519160408082015201906103a0565b919360a0936108c4969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103a0565b9293906004602061132c610aa0610aa05f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa9081156102e75761075b916113aa915f916113f9575b506001600160a01b0316936113696107fe565b6001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152906020820152604051928391602083016112ad565b823b1561013a575f946113d586926040519889978896879563724ab0f760e11b8752600487016112d7565b03925af180156102e7576113e65750565b806113f361080b926107ca565b806102fe565b611412915060203d6020116102e0576102d181836107dd565b5f611356565b5f8054604051631c9e38c760e21b8152600481019390935265ffffffffffff9390931660248301529091602091839160449183916001600160a01b03165af180156102e7576114645750565b61147c9060203d60201161106b5761105781836107dd565b50565b8115611489570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c166114b5575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa9182156102e7575f92611572575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff909116608483015261153f8260a481015b03601f1981018452836107dd565b6202a15c5a10611560575f928380935192620249f0f1505f808080806114ae565b604051632153f33560e21b8152600490fd5b61153f92506115926115319160203d6020116102e0576102d181836107dd565b92506114e6565b80548210156115ae575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054806115f757505f5b6001600160d01b038116156115f15760016115e79201611599565b90549060031b1c90565b50505f90565b5f19908082810111610a5e57825f5260205f2001015460301c6115cc565b91909160408184031261013a57803561162d81610129565b9260208201356001600160401b03811161013a576108c49201610835565b5190811515820361013a57565b9081602091031261013a576108c49061164b565b61167891810190611615565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156102e7575f916117a8575b501561179657816117086004926116e9611960565b5f80546001600160a01b0319166001600160a01b038916179055611996565b94604051928380926313c085b760e11b82525afa9182156102e7575f92611779575b505016158061176f575b61175d575161080b9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515611734565b61178f9250803d106102e0576102d181836107dd565b5f8061172a565b6040516362df054560e01b8152600490fd5b6117c89150833d85116117ce575b6117c081836107dd565b810190611658565b5f6116d4565b503d6117b6565b9081602091031261013a575163ffffffff8116810361013a5790565b90600163ffffffff80931601918211610a5e57565b918051156118d45780602080611821935183010191016117d5565b9161182c8382611aae565b9261183d845165ffffffffffff1690565b9065ffffffffffff80851692168281146118c85782119182611873575b505061186a576108c492506119de565b50506020015190565b9091506118808354610ec4565b63ffffffff831614918215611899575b50505f8061185a565b6118c09192506118b46118ae610adb926117f1565b85611aae565b5165ffffffffffff1690565b115f80611890565b50505050506020015190565b506108c4916119de565b65ffffffffffff908181116118f1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b8054600160401b8110156107aa5761192d91600182018155611599565b8154905f199060031b1b19169055565b90815491600160401b8310156107aa578261125191600161080b95018155611599565b611968611b55565b611970611b55565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6040516119a38161078f565b5260208180518101031261013a576020906040516119c08161078f565b6119d86040519384936119d28561078f565b0161164b565b82525290565b908154905f829160058411611a48575b6119f9935084611de5565b80611a2157505f905b6001600160d01b038216156115f1576108c49160016115e79201611599565b611a3b611a30611a4292610ec4565b835f5260205f200190565b5460301c90565b90611a02565b9192611a5381611cba565b8103908111610a5e576119f993855f5265ffffffffffff808360205f20015416908516105f14611a845750916119ee565b929150611a9090611195565b906119ee565b60405190611aa3826107af565b5f6020838281520152565b9060206001611ad2611afe93611ac2611a96565b50611acb611a96565b5085611599565b509360405194611ae1866107af565b549465ffffffffffff86169586825260301c938491015201611599565b90549060405192611b0e846107af565b835260031b1c602082015290565b805480611b2d5750505f905f905f90565b5f19918183810111610a5e575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020611e458339815191525460401c1615611b7157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156107aa57611ba091600182018155611599565b611bca57815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c9057611bf4611bff91610ec4565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c7e57879303611c455750611c3e92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c7991611c65611c576107fe565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b83565b611c3e565b604051632520601d60e01b8152600490fd5b5090611cb591611ca1611c576107fe565b6001600160d01b0385166020830152611b83565b5f9190565b60018111156108c457600181600160801b811015611dd3575b611d7b611d71611d67611d5d611d53611d49611d8797600488600160401b611d829a1015611dc6575b640100000000811015611db9575b62010000811015611dac575b610100811015611da0575b6010811015611d94575b1015611d8c575b60030260011c611d42818b61147f565b0160011c90565b611d42818a61147f565b611d42818961147f565b611d42818861147f565b611d42818761147f565b611d42818661147f565b809361147f565b821190565b900390565b60011b611d32565b811c9160021b91611d2b565b60081c91811b91611d21565b60101c9160081b91611d16565b60201c9160101b91611d0a565b60401c9160201b91611cfc565b50600160401b9050608082901c611cd3565b91905b838210611df55750505090565b9091928083169080841860011c8201809211610a5e57845f5265ffffffffffff808360205f20015416908416105f14611e325750925b9190611de8565b939250611e3e90611195565b91611e2b56fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f6c8c6e53e56abe4ba9bf3f192a97636699c1edad17d1630537b4ec239db2d6c64736f6c63430008190033","sourceMap":"2765:796:95:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;-1:-1:-1;;;;;2765:796:95;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;2765:796:95;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;2765:796:95;;3670:20:30;3666:88;;1991:1;;;2765:796:95;;-1:-1:-1;;;4546:86:103;;2765:796:95;;;;;4546:86:103;;2765:796:95;-1:-1:-1;;;;;2765:796:95;;;;4572:26:103;2765:796:95;;4546:86:103;;;;;;;-1:-1:-1;4546:86:103;;;2765:796:95;4636:10:103;;2765:796:95;;4546:100:103;4542:160;;2765:796:95;;774:1493:104;2765:796:95;;;774:1493:104;;:::i;:::-;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;2765:796:95;;;;;;;;;;;;;;;;;4542:160:103;2765:796:95;;-1:-1:-1;;;4669:22:103;;2765:796:95;;4669:22:103;4546:86;;;;;2765:796:95;4546:86:103;2765:796:95;4546:86:103;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;3666:88:30:-;2765:796:95;;-1:-1:-1;;;3713:30:30;;2765:796:95;;3713:30:30;2765:796:95;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;2765:796:95;;;;;;1435:38:103;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;2936:47:103;:38;2765:796:95;;;;;:::i;:::-;;;-1:-1:-1;2765:796:95;2936:16:103;2765:796:95;;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;;;;;2936:38:103;:47;:::i;:::-;2765:796:95;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2765:796:95;;;;;;;;-1:-1:-1;;2765:796:95;;;;:::o;:::-;;;;;;-1:-1:-1;;2765:796:95;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;2765:796:95;;;;;;1788:109:103;2765:796:95;;;;;:::i;:::-;;;-1:-1:-1;2765:796:95;1788:109:103;2765:796:95;;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;;;;;1788:109:103;2765:796:95;;;;;;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;;;1374:6:103;2765:796:95;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;;1528:51:103;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;;322:32:80;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2765:796:95;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;2765:796:95;;;;;;;4301:16:26;2765:796:95;;4726:16:26;;:34;;;;2765:796:95;4805:1:26;4790:16;:50;;;;2765:796:95;4855:13:26;:30;;;;2765:796:95;4851:91:26;;;-1:-1:-1;;;;;;;;;;;2765:796:95;;-1:-1:-1;;2765:796:95;;;;;718:4:80;;4951:18:26;4979:67;;718:4:80;:::i;:::-;5066:101:26;;2765:796:95;5066:101:26;-1:-1:-1;;;;;;;;;;;2765:796:95;;-1:-1:-1;;;;2765:796:95;;;;;-1:-1:-1;2765:796:95;;5142:14:26;;2765:796:95;;5142:14:26;2765:796:95;4979:67:26;-1:-1:-1;;;;;;;;;;;2765:796:95;;-1:-1:-1;;;;2765:796:95;-1:-1:-1;;;2765:796:95;;;718:4:80;:::i;4851:91:26:-;2765:796:95;;-1:-1:-1;;;4908:23:26;;2765:796:95;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;2765:796:95;;;;;;-1:-1:-1;;2765:796:95;;;;;;2811:43;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;2765:796:95;;;;-1:-1:-1;2765:796:95;;;477:31:86;2765:796:95;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;2765:796:95;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;477:31:86;;2765:796:95;;;;;;;;;;:::i;:::-;477:31:86;2765:796:95;;477:31:86;;;;;;:::i;:::-;518:79;;;2765:796:95;518:79:86;;2765:796:95;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;:::o;:::-;-1:-1:-1;;;;;2765:796:95;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;2765:796:95;;;;;;-1:-1:-1;;2765:796:95;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;2765:796:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;2692:73:103;:38;2765:796:95;;;:::i;:::-;;;;;-1:-1:-1;2765:796:95;2692:16:103;2765:796:95;;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;;;;;2692:38:103;:73;:::i;2765:796:95:-;;;;;3248:62:103;2765:796:95;;;:::i;:::-;3248:62:103;;;;;:::i;:::-;2765:796:95;;;;;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;;;-1:-1:-1;;;;;404:28:80;2765:796:95;;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;;;1271:7:103;2765:796:95;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;774:1493:104:-;;;;;;;;2765:796:95;;:::i;:::-;1076:16:104;;1072:91;;774:1493;837:15:73;;819:34;837:15;819:34;:::i;:::-;-1:-1:-1;2765:796:95;1215:29:104;;;;:27;;:13;;-1:-1:-1;;;;;2765:796:95;1215:13:104;2765:796:95;;-1:-1:-1;;;;;2765:796:95;;;1215:27:104;2765:796:95;;-1:-1:-1;;;1215:29:104;;2765:796:95;;;;;1215:29:104;;;;;;1177:67;1215:29;1196:48;1215:29;-1:-1:-1;1215:29:104;;;774:1493;1196:48;;:::i;:::-;2765:796:95;;;;1177:67:104;2765:796:95;;;1177:67:104;;;:107;;;;;774:1493;1173:178;;;1418:87;3455:20:68;1474:30:104;;1418:87;;;;:::i;:::-;3463:5:68;;;3066;;;3463;;-1:-1:-1;2765:796:95;3060:42:68;;;2825:294;3455:20;1578:18:104;;;1574:75;;1950:87;;;2200:60;1718:16;2200:60;1718:16;;;;;;:::i;:::-;1791:13;;;;;:::i;:::-;2765:796:95;;:::i;:::-;;;;1215:29:104;1961:75;;2765:796:95;;;1950:87:104;;;1215:29;1950:87;;2765:796:95;;;;;;;;;;;;;;;;;;;1950:87:104;;;;;;:::i;:::-;2087:16;;;;:::i;:::-;2167;;;;;;:::i;:::-;2765:796:95;;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;2200:60:104;;;;774:1493::o;1574:75::-;2765:796:95;;-1:-1:-1;;;1619:19:104;;1215:29;;1619:19;1173:178;2765:796:95;;-1:-1:-1;;;1315:25:104;;1215:29;;1315:25;1177:107;837:15:73;;1248:36:104;819:34:73;837:15;819:34;:::i;1248:36:104:-;-1:-1:-1;1248:36:104;1177:107;;;1215:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1072:91;1121:31;;;;;;;;:::i;:::-;1072:91;;;;;2765:796:95;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;3020:539::-;2765:796;;-1:-1:-1;;;3303:105:95;;-1:-1:-1;;;;;2765:796:95;;;3303:105;;;2765:796;;;;;;;;;;;;;;;;;;;;;;;;;3020:539;2765:796;3303:105;;2765:796;;;;;;3320:18;2765:796;3303:105;;;;;;;;;;;3020:539;2765:796;;;3419:134;;3020:539;:::o;3419:134::-;3476:66;2765:796;;;3476:66;2765:796;;;:::i;:::-;;;;;;3476:66;;;2765:796;3476:66;;;:::i;3303:105::-;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;2505:267:103;-1:-1:-1;2765:796:95;;;2692:16:103;2765:796:95;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;2692:73:103;;2505:267;;2692:73;:::i;2765:796:95:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;2765:796:95;;;;;;;;:::o;:::-;;;;;;;;;;:::o;3323:1122:103:-;;2765:796:95;;:::i;:::-;;;;3608:16:103;3604:109;;3323:1122;837:15:73;;819:34;837:15;819:34;:::i;:::-;-1:-1:-1;2765:796:95;;;;3778:27:103;;:13;;-1:-1:-1;;;;;2765:796:95;3778:13:103;2765:796:95;3778:27:103;2765:796:95;;;;;;;3778:29:103;;;;;;;;;;;;;;;3740:67;3778:29;3759:48;3778:29;-1:-1:-1;3778:29:103;;;3759:48;;:::i;3740:67::-;2765:796:95;;;3740:67:103;;;:107;;;;;3323:1122;3740:197;;;;3323:1122;3723:263;;;2765:796:95;3778:29:103;2765:796:95;;;;;;;;;;4025:25:103;;;;;;;;;4010:143;4025:25;;;-1:-1:-1;4025:25:103;;;3323:1122;4113:30;;;2765:796:95;;;;;;;;;;;4010:143:103;;;;;3778:29;4010:143;;;:::i;:::-;;;-1:-1:-1;;;;;2765:796:95;4010:143:103;;;;;;;4181:257;4010:143;-1:-1:-1;4010:143:103;;;3323:1122;3996:157;;4293:102;3996:157;;4233:162;3996:157;4207:231;3996:157;;2936:28;:47;:38;:28;;;2765:796:95;;2936:16:103;2765:796:95;;;;;;;2936:28:103;2765:796:95;;;;;;;;;;;;;;;;2936:47:103;4351:43;;;4293:102;;:::i;:::-;4233:162;;:::i;:::-;3463:5:68;;;;3066;;2765:796:95;3060:42:68;3371:111;;4181:257:103;3323:1122;:::o;4010:143::-;4233:162;4010:143;;;4207:231;4010:143;;;;4293:102;4010:143;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;4025:25;;;;;;;;;;;;;;:::i;:::-;;;;3723:263;3962:13;;;;;;-1:-1:-1;3962:13:103;-1:-1:-1;3962:13:103;:::o;3740:197::-;3886:41;;3867:70;3886:51;;:41;;;2765:796:95;;3886:29:103;2765:796:95;;;;;;;3886:51:103;2765:796:95;;;;;3867:70:103;-1:-1:-1;3740:197:103;;;:107;837:15:73;;3811:36:103;819:34:73;837:15;819:34;:::i;3811:36:103:-;;;;3740:107;;;3778:29;;;;;;;;;;;;;;;:::i;3604:109::-;3662:40;;;;;;;;;;;;:::i;:::-;3604:109;;;;4714:335;;;;2765:796:95;-1:-1:-1;2765:796:95;4876:29:103;2765:796:95;;;;4876:51:103;2765:796:95;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;;;;;4876:51:103;2765:796:95;;;;;-1:-1:-1;4872:171:103;;4714:335;;;:::o;4872:171::-;4962:70;2765:796:95;4962:51:103;2765:796:95;-1:-1:-1;2765:796:95;4876:29:103;2765:796:95;;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;;;;;4962:51:103;2765:796:95;;;;;;;;;;;;;;9999:1:71;2765:796:95;;;;;;;:::o;5055:221:103:-;;;2765:796:95;-1:-1:-1;2765:796:95;5160:16:103;2765:796:95;;2936:47:103;:38;5160;2765:796:95;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;;;;;5160:38:103;837:15:73;819:34;837:15;819:34;:::i;:::-;2765:796:95;-1:-1:-1;2765:796:95;5160:16:103;2765:796:95;;;-1:-1:-1;2765:796:95;;;;;;;;;;;;;;;;;2936:47:103;2765:796:95;;;;;;;;6360:12:97;;;2765:796:95;;;6360:24:97;6356:75;;5055:221:103;6474:30:97;;;:::i;:::-;2765:796:95;;;;;6578:12:97;;;;:::i;:::-;;6604:24;;;5055:221:103;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;;2765:796:95;;;;;;;6644:29:97;:21;;;;:::i;:::-;:29;2765:796:95;;;;;;;;;;;;;;;;;;;;;6600:188:97;6753:24;;8310:38:71;;-1:-1:-1;;;;;2765:796:95;;;;;8310:38:71;:::i;:::-;6753:24:97;;;:::i;6604:::-;2765:796:95;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;6400:20;;;:::i;:::-;6356:75;;2765:796:95;;;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5282:431:103:-;;;;5487:25;;:23;:13;2765:796:95;5494:5:103;2765:796:95;;;;;;;;;5487:23:103;2765:796:95;;-1:-1:-1;;;5487:25:103;;2765:796:95;;;;;5487:25:103;;;;;;;5631:65;5487:25;5631:65;5487:25;5494:5;5487:25;;;5282:431;-1:-1:-1;;;;;;2765:796:95;;;;:::i;:::-;-1:-1:-1;;;;;5677:4:103;2765:796:95;;;5677:4:103;5487:25;5642:53;;2765:796:95;;;5631:65:103;;;5487:25;5631:65;;;:::i;:::-;5472:234;;;;;5494:5;2765:796:95;5472:234:103;2765:796:95;;;;;;;;;;;;;;5472:234:103;;5487:25;5472:234;;;:::i;:::-;;;;;;;;;;;5282:431;:::o;5472:234::-;;;;;;:::i;:::-;;;:::i;5487:25::-;;;;;;;;;;;;;;:::i;:::-;;;;5719:137;5809:5;2765:796:95;;;;-1:-1:-1;;;5802:47:103;;;;;2765:796:95;;;;;;;;;;;;;;;5802:47:103;;2765:796:95;;;;;;-1:-1:-1;;;;;2765:796:95;5802:47:103;;;;;;;;5719:137;:::o;5802:47::-;;;;;;;;;;;;;:::i;:::-;;5719:137::o;2765:796:95:-;;;;;;;:::o;:::-;;;;;;;;;;;;5862:623:103;;;5988:12;2765:796:95;;;;;;;5984:495:103;;5862:623;;;;;;:::o;5984:495::-;2765:796:95;;-1:-1:-1;;;6033:22:103;;2765:796:95;6033:22:103;;2765:796:95;;6033:22:103;;2765:796:95;;-1:-1:-1;;;;;2765:796:95;6033:22:103;;;;;;;5988:12;6033:22;;;5984:495;-1:-1:-1;2765:796:95;;-1:-1:-1;;;6033:22:103;6094:81;;;;;;;;2765:796:95;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;;;;;;;;;;;;;;;6094:81:103;2765:796:95;;;;6094:81:103;;2765:796:95;;6094:81:103;;;;;;:::i;:::-;2765:796:95;6194:9:103;:55;6190:124;;5988:12;6328:141;;;;;;1271:7;6328:141;;5984:495;;;;;;;6190:124;2765:796:95;;-1:-1:-1;;;6276:23:103;;6033:22;;6276:23;6033:22;6094:81;6033:22;;;6094:81;6033:22;;;;;;;;;;;:::i;:::-;;;;;2765:796:95;;;;;;;;-1:-1:-1;2765:796:95;;-1:-1:-1;2765:796:95;;;-1:-1:-1;2765:796:95;:::o;:::-;;;;;;;;;;;;10580:184:97;2765:796:95;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;2765:796:95;;10726:7:97;2765:796:95;;10736:12:97;:17;:12;;:17;:::i;:::-;2765:796:95;;;;;;10580:184:97;:::o;10726:31::-;;;-1:-1:-1;10580:184:97;:::o;10446:63:71:-;2765:796:95;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;2765:796:95;;;10446:63:71;;2765:796:95;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;2765:796:95;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;6491:564:103:-;6614:34;6491:564;6614:34;;;;:::i;:::-;2765:796:95;;-1:-1:-1;;;6664:41:103;;-1:-1:-1;;;;;2765:796:95;;;6664:41:103;;;2765:796:95;;;;;6664:41:103;;;2765:796:95;;;6674:13:103;2765:796:95;;6664:41:103;;;;;;;-1:-1:-1;6664:41:103;;;6491:564;6663:42;;6659:90;;2684:111:30;6850:27:103;6664:41;2684:111:30;;;:::i;:::-;-1:-1:-1;2765:796:95;;-1:-1:-1;;;;;;2765:796:95;-1:-1:-1;;;;;2765:796:95;;;;;6850:27:103;:::i;:::-;2765:796:95;;;;;;;;;;6892:23:103;;;;;;;;;-1:-1:-1;6892:23:103;;;6491:564;2765:796:95;;;6892:37:103;:64;;;6491:564;6888:112;;2765:796:95;7010:38:103;;2765:796:95;;-1:-1:-1;2765:796:95;;-1:-1:-1;;;;2765:796:95;;;;;;-1:-1:-1;;;2765:796:95;;;;;;;;6888:112:103;2765:796:95;;-1:-1:-1;;;6979:10:103;;6664:41;;6979:10;6892:64;-1:-1:-1;2765:796:95;;;;6892:64:103;;:23;;;;;;-1:-1:-1;6892:23:103;;;;;;:::i;:::-;;;;;6659:90;2765:796:95;;-1:-1:-1;;;6728:10:103;;6664:41;;6728:10;6664:41;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;2765:796:95;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:97:-;;2765:796:95;;7686:17:97;7682:83;;2765:796:95;7789:27:97;2765:796:95;7789:27:97;2765:796:95;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;2765:796:95;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;2765:796:95;8075:24:97;:::o;7975:84::-;2765:796:95;;;8009:16:97;2765:796:95;;8009:16:97;:::i;:::-;2765:796:95;;;8001:24:97;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;2765:796:95;;;;;8029:29:97;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;2765:796:95;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;14296:213:69:-;2765:796:95;14374:24:69;;;;14370:103;;2765:796:95;14296:213:69;:::o;14370:103::-;2765:796:95;;;;14421:41:69;;;;;;14452:2;14421:41;;;2765:796:95;;;;;14421:41:69;2765:796:95;;;-1:-1:-1;;;2765:796:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;;2765:796:95;;;;;;;;;;;;;;;:::i;6893:76:26:-;;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;6893:76:26:o;2273:218:104:-;-1:-1:-1;2765:796:95;;;;;:::i;:::-;;;;;;2419:30:104;;2765:796:95;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;2419:30:104;2765:796:95;:::i;:::-;;;;2273:218:104;:::o;6999:207:97:-;;2765:796:95;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;2765:796:95;;7168:7:97;2765:796:95;;;7178:12:97;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;14439:109;;;;;;14289:265;;10135:41;2765:796:95;;;;;10135:48:71;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;2765:796:95;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;2765:796:95;14439:109:71;;;-1:-1:-1;14439:109:71;;2765:796:95;;;;;9870:48:71;9866:149;2765:796:95;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;2765:796:95;;;;;;;:::i;:::-;-1:-1:-1;2765:796:95;;;;;;;:::o;11486:272:97:-;;2765:796:95;11718:12:97;11452:22:71;11718:31:97;11486:272;2765:796:95;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;2765:796:95;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:97;:31;:::i;:::-;2765:796:95;;;;;;;;;:::i;:::-;;;;;;;11672:79:97;;2765:796:95;11486:272:97;:::o;10695:389:71:-;2765:796:95;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;2765:796:95;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;2765:796:95;11014:1:71;2765:796:95;;;;;;;11030:37:71;:::o;7084:141:26:-;2765:796:95;-1:-1:-1;;;;;;;;;;;2765:796:95;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;2765:796:95;;-1:-1:-1;;;7191:17:26;;;;;2765:796:95;;;-1:-1:-1;;;2765:796:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;2765:796:95;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;2765:796:95;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;2765:796:95;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;2765:796:95;;;;;;;;;;;;;;;;;12285:19:71;2765:796:95;;12423:25:71;;:::o;12247:163::-;2765:796:95;;;12343:52:71;2765:796:95;12353:41:71;2765:796:95;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;2765:796:95;;12353:41:71;;;2765:796:95;12343:52:71;:::i;:::-;12247:163;;12099:89;2765:796:95;;-1:-1:-1;;;12143:30:71;;;;;11860:713;2765:796:95;;12479:52:71;2765:796:95;12489:41:71;2765:796:95;;:::i;12489:41:71:-;-1:-1:-1;;;;;2765:796:95;;12489:41:71;;;2765:796:95;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::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;2765:796:95;18246:1:68;2765:796:95;22284:6:68;;;;:::i;:::-;2765:796:95;;;;;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;;;2765:796:95;23216:28:68;2765:796:95;;18080:5181:68;:::o;19887:61::-;18246:1;2765:796:95;19887:61:68;;19787:87;2765:796:95;;;;;19787:87:68;;;19687;2765:796:95;;;;;19687:87:68;;;19585:89;2765:796:95;;;;;19585:89:68;;;19482:90;2765:796:95;;;;;19482:90:68;;;19379;2765:796:95;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;2765:796:95;-1:-1:-1;2765:796:95;;;;19274:92:68;;12929:433:71;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;2765:796:95;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;2765:796:95;14439:109:71;;;-1:-1:-1;14439:109:71;;2765:796:95;;;;;-1:-1:-1;13189:136:71;2765:796:95;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;","linkReferences":{},"immutableReferences":{"59800":[{"start":1266,"length":32}],"59803":[{"start":2377,"length":32},{"start":4979,"length":32}],"64905":[{"start":1682,"length":32},{"start":3385,"length":32}],"67584":[{"start":797,"length":32},{"start":5795,"length":32}],"67587":[{"start":540,"length":32},{"start":1198,"length":32}]}},"methodIdentifiers":{"BASE_SLASHER_HINTS()":"457821b7","BURNER_GAS_LIMIT()":"d5c24e1a","BURNER_RESERVE()":"2964f8dc","FACTORY()":"2dd31000","NETWORK_MIDDLEWARE_SERVICE()":"2c9d45b3","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","cumulativeSlash(bytes32,address)":"1a2be2c4","cumulativeSlashAt(bytes32,address,uint48,bytes)":"aa8e6489","initialize(bytes)":"439fab91","isBurnerHook()":"34d098ea","latestSlashedCaptureTimestamp(bytes32,address)":"267de1f3","slash(bytes32,address,uint256,uint48,bytes)":"021a8156","slashHints(address,address,bytes32,address,uint256,uint48)":"238ab85f","slashableStake(bytes32,address,uint48,bytes)":"aab3595f","staticDelegateCall(address,bytes)":"9f86fd85","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseSlasherHints\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBurnerGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientSlash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaptureTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoBurner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetworkMiddleware\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"Slash\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_SLASHER_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_MIDDLEWARE_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"cumulativeSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"cumulativeSlashAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isBurnerHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"latestSlashedCaptureTimestamp\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"value\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"slash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"slashHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"slashableStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Slash(bytes32,address,uint256,uint48)\":{\"params\":{\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"operator that is slashed\",\"slashedAmount\":\"virtual amount of the collateral slashed\",\"subnetwork\":\"subnetwork that requested the slash\"}}},\"kind\":\"dev\",\"methods\":{\"cumulativeSlash(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"cumulative slash amount\"}},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the cumulative slash amount until (inclusively)\"},\"returns\":{\"_0\":\"cumulative slash amount until the given timestamp (inclusively)\"}},\"initialize(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"slash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only a network middleware can call this function.\",\"params\":{\"amount\":\"maximum amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"hints\":\"hints for checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"slashedAmount\":\"virtual amount of the collateral slashed\"}},\"slashableStake(bytes32,address,uint48,bytes)\":{\"params\":{\"captureTimestamp\":\"time point to get the stake amount at\",\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"amount\":\"slashable amount of the stake\"}},\"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\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Slash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash is performed.\"}},\"kind\":\"user\",\"methods\":{\"BURNER_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the burner.\"},\"BURNER_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the burner's execution.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"NETWORK_MIDDLEWARE_SERVICE()\":{\"notice\":\"Get the network middleware service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"cumulativeSlash(bytes32,address)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork.\"},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"isBurnerHook()\":{\"notice\":\"Get if the burner is needed to be called on a slashing.\"},\"latestSlashedCaptureTimestamp(bytes32,address)\":{\"notice\":\"Get the latest capture timestamp that was slashed on a subnetwork.\"},\"slash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Perform a slash using a subnetwork for a particular operator by a given amount using hints.\"},\"slashableStake(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a slashable amount of a stake got at a given capture timestamp using hints.\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/SlasherHints.sol\":\"SlasherHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/SlasherHints.sol\":{\"keccak256\":\"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595\",\"dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/slasher/BaseSlasher.sol\":{\"keccak256\":\"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06\",\"dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF\"]},\"src/contracts/slasher/Slasher.sol\":{\"keccak256\":\"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61\",\"dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3\"]},\"src/contracts/slasher/VetoSlasher.sol\":{\"keccak256\":\"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429\",\"dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/INetworkMiddlewareService.sol\":{\"keccak256\":\"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c\",\"dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/slasher/IBurner.sol\":{\"keccak256\":\"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447\",\"dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW\"]},\"src/interfaces/slasher/ISlasher.sol\":{\"keccak256\":\"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1\",\"dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ\"]},\"src/interfaces/slasher/IVetoSlasher.sol\":{\"keccak256\":\"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508\",\"dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseSlasherHints","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientBurnerGas"},{"inputs":[],"type":"error","name":"InsufficientSlash"},{"inputs":[],"type":"error","name":"InvalidCaptureTimestamp"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NoBurner"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetworkMiddleware"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"slashedAmount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","indexed":false}],"type":"event","name":"Slash","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_SLASHER_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"cumulativeSlash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"cumulativeSlashAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isBurnerHook","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"latestSlashedCaptureTimestamp","outputs":[{"internalType":"uint48","name":"value","type":"uint48"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"slash","outputs":[{"internalType":"uint256","name":"slashedAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"slashHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"slashableStake","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"cumulativeSlash(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"cumulative slash amount"}},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the cumulative slash amount until (inclusively)"},"returns":{"_0":"cumulative slash amount until the given timestamp (inclusively)"}},"initialize(bytes)":{"params":{"data":"some data to use"}},"slash(bytes32,address,uint256,uint48,bytes)":{"details":"Only a network middleware can call this function.","params":{"amount":"maximum amount of the collateral to be slashed","captureTimestamp":"time point when the stake was captured","hints":"hints for checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"slashedAmount":"virtual amount of the collateral slashed"}},"slashableStake(bytes32,address,uint48,bytes)":{"params":{"captureTimestamp":"time point to get the stake amount at","hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"amount":"slashable amount of the stake"}},"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"}}},"version":1},"userdoc":{"kind":"user","methods":{"BURNER_GAS_LIMIT()":{"notice":"Get a gas limit for the burner."},"BURNER_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the burner's execution."},"FACTORY()":{"notice":"Get the factory's address."},"NETWORK_MIDDLEWARE_SERVICE()":{"notice":"Get the network middleware service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"cumulativeSlash(bytes32,address)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork."},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"isBurnerHook()":{"notice":"Get if the burner is needed to be called on a slashing."},"latestSlashedCaptureTimestamp(bytes32,address)":{"notice":"Get the latest capture timestamp that was slashed on a subnetwork."},"slash(bytes32,address,uint256,uint48,bytes)":{"notice":"Perform a slash using a subnetwork for a particular operator by a given amount using hints."},"slashableStake(bytes32,address,uint48,bytes)":{"notice":"Get a slashable amount of a stake got at a given capture timestamp using hints."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/SlasherHints.sol":"SlasherHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/SlasherHints.sol":{"keccak256":"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f","urls":["bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595","dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/slasher/BaseSlasher.sol":{"keccak256":"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6","urls":["bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06","dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF"],"license":"BUSL-1.1"},"src/contracts/slasher/Slasher.sol":{"keccak256":"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f","urls":["bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61","dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3"],"license":"BUSL-1.1"},"src/contracts/slasher/VetoSlasher.sol":{"keccak256":"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897","urls":["bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429","dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/INetworkMiddlewareService.sol":{"keccak256":"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783","urls":["bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c","dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/slasher/IBurner.sol":{"keccak256":"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b","urls":["bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447","dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW"],"license":"MIT"},"src/interfaces/slasher/ISlasher.sol":{"keccak256":"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625","urls":["bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1","dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ"],"license":"MIT"},"src/interfaces/slasher/IVetoSlasher.sol":{"keccak256":"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9","urls":["bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508","dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":95} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"baseSlasherHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_SLASHER_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"BURNER_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BURNER_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlashAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isBurnerHook","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"latestSlashedCaptureTimestamp","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"slash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"slashedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"slashHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"slashableStake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Slash","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"slashedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientBurnerGas","inputs":[]},{"type":"error","name":"InsufficientSlash","inputs":[]},{"type":"error","name":"InvalidCaptureTimestamp","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NoBurner","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetworkMiddleware","inputs":[]},{"type":"error","name":"NotVault","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":"0x6101403461015d576001600160401b0390601f61201038819003918201601f1916830191848311848410176101615780849260209460405283398101031261015d5751906001600160a01b038216820361015d57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661014b578080831603610106575b835f60a0525f60c0525f60e052610100905f825261012090815260405190611e9a9283610176843960805183505060a051836104f2015260c0518381816109490152611373015260e05183818161031d01526116a301525182818161021c01526104ae0152518181816106920152610d390152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b60405163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c8063021a815614610124578063103f29071461011f5780631a2be2c41461011a578063238ab85f14610115578063267de1f3146101105780632964f8dc1461010b5780632c9d45b3146101065780632dd310001461010157806334d098ea146100fc578063439fab91146100f7578063457821b7146100f25780639f86fd85146100ed578063aa8e6489146100e8578063aab3595f146100e3578063bb24fe8a146100de578063d5c24e1a146100d95763fbfa77cf146100d4575f80fd5b61098a565b61096d565b61092a565b610905565b6108c7565b6106c1565b61067d565b610545565b610521565b6104dd565b610499565b61047d565b610428565b6103c4565b61034c565b610308565b61017b565b6001600160a01b0381160361013a57565b5f80fd5b65ffffffffffff81160361013a57565b9181601f8401121561013a578235916001600160401b03831161013a576020838186019501011161013a57565b3461013a5760a036600319011261013a5760043560243561019b81610129565b6064356101a78161013e565b6084356001600160401b03811161013a576101c690369060040161014e565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146102ec5760029055604051635daf681960e11b8152606086901c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa9182156102e7575f926102b6575b50339116036102a4576102a0946102679460443591610a63565b61029060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6040519081529081906020820190565b0390f35b60405163227bf64d60e01b8152600490fd5b6102d991925060203d6020116102e0575b6102d181836107dd565b810190610de5565b905f61024d565b503d6102c7565b610a27565b604051633ee5aeb560e01b8152600490fd5b5f91031261013a57565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a57604036600319011261013a57602061039861039360243561037181610129565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6115c2565b604051908152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461013a5760c036600319011261013a576102a06104146004356103e781610129565b6103f2602435610129565b6064356103fe81610129565b60a4359161040b8361013e565b60443590610ced565b6040519182916020835260208301906103a0565b3461013a57604036600319011261013a57602065ffffffffffff61047360243561045181610129565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b3461013a575f36600319011261013a576020604051614e208152f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a57602060ff5f5460a01c166040519015158152f35b3461013a57602036600319011261013a576001600160401b0360043581811161013a5761057690369060040161014e565b5f80516020611e45833981519152549260ff8460401c1615931680159081610675575b600114908161066b575b159081610662575b50610650575f80516020611e45833981519152805467ffffffffffffffff191660011790556105de918361062c5761166c565b6105e457005b5f80516020611e45833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611e45833981519152805460ff60401b1916600160401b17905561166c565b60405163f92ee8a960e01b8152600490fd5b9050155f6105ab565b303b1591506105a3565b849150610599565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a5760408060031936011261013a576004356106df81610129565b602435906001600160401b03821161013a575f809161070561076994369060040161014e565b908187519283928337810184815203915af43d156107715761075b3d61072a8161081a565b90610737865192836107dd565b81523d5f602083013e5b8451948593151560208501528084015260608301906103a0565b03601f1981018352826107dd565b805190602001fd5b61075b6060610741565b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176107aa57604052565b61077b565b604081019081106001600160401b038211176107aa57604052565b6001600160401b0381116107aa57604052565b90601f801991011681019081106001600160401b038211176107aa57604052565b6040519061080b826107af565b565b6040519061080b8261078f565b6001600160401b0381116107aa57601f01601f191660200190565b81601f8201121561013a5780359061084c8261081a565b9261085a60405194856107dd565b8284526020838301011161013a57815f926020809301838601378301015290565b90608060031983011261013a576004359160243561089881610129565b916044356108a58161013e565b91606435906001600160401b03821161013a576108c491600401610835565b90565b3461013a5760206103986109006108dd3661087b565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611806565b3461013a5760206109216109183661087b565b92919091610edf565b50604051908152f35b3461013a575f36600319011261013a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461013a575f36600319011261013a576020604051620249f08152f35b3461013a575f36600319011261013a575f546040516001600160a01b039091168152602090f35b604051906109be8261078f565b60608252565b9060208282031261013a5781356001600160401b039283821161013a57019060208282031261013a57604051926109fa8461078f565b823590811161013a57610a0d9201610835565b815290565b9081602091031261013a57516108c48161013e565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9182169082160391908211610a5e57565b610a32565b92939594919095610a726109b1565b9280610c53575b5050610a84426118de565b5f54600490602090610aac90610aa0906001600160a01b031681565b6001600160a01b031690565b6040516327f843b560e11b815292839182905afa80156102e757610ae692610adb925f92610c22575b50610a46565b65ffffffffffff1690565b65ffffffffffff8516908110908115610c0c575b50610bfa57610b0f610b1e9251858886610edf565b92909180831890831102821890565b958615610be857610ba361075b610b9a610be3947fe0cbbe1f1e6fd806ca87036fafcebaf7ab5247474a3b20e1c37bb50122c3a88496610b5f8a878b611115565b610b6a8c878b6111a3565b610b726107fe565b9182526020820152604051928391602083019190916020806040830194805184520151910152565b8689848861130f565b610bad8588611418565b610bb98588838761149d565b6040805188815265ffffffffffff90961660208701526001600160a01b0390911694918291820190565b0390a3565b60405163167f871760e31b8152600490fd5b604051631357ac9160e11b8152600490fd5b9050610c1a610adb426118de565b11155f610afa565b610c4591925060203d602011610c4c575b610c3d81836107dd565b810190610a12565b905f610ad5565b503d610c33565b610c619293508101906109c4565b905f80610a79565b81601f8201121561013a57805190610c808261081a565b92610c8e60405194856107dd565b8284526020838301011161013a57815f9260208093018386015e8301015290565b9060208282031261013a5781516001600160401b03811161013a576108c49201610c69565b60406108c49260208352519160208082015201906103a0565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252918216604482015265ffffffffffff909216606483015260609291905f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156102e7575f91610d97575b508051610d735750565b61075b9192506108c490610d8561080d565b90815260405192839160208301610cd4565b610db391503d805f833e610dab81836107dd565b810190610caf565b5f610d69565b5f9081526002602090815260408083206001600160a01b039094168352929052206108c4929190611806565b9081602091031261013a57516108c481610129565b60405190610e07826107af565b60606020838281520152565b9060208282031261013a5781516001600160401b039283821161013a57019060408282031261013a5760405192610e49846107af565b825181811161013a5782610e5e918501610c69565b8452602083015190811161013a57610e769201610c69565b602082015290565b9081602091031261013a575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526108c4929101906103a0565b5f19810191908211610a5e57565b91908203918211610a5e57565b92610ee8610dfa565b908051806110fb575b5050610efc426118de565b5f54909490610f1590610aa0906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa80156102e757610f4992610adb925f926110e35750610a46565b65ffffffffffff82169081109081156110cc575b811561109b575b5061108f578560049560405196878092630ce9b79360e41b82525afa9485156102e757610fb69587915f91611072575b50845190604051808099819463e02f693760e01b8352878b8a60048601610e8d565b03916001600160a01b03165afa9384156102e75761102e955f95611031575b509261101d85936110239361101d96869a61101461039383610fff875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610db9565b90610ed2565b818082109118021890565b91565b61102392955061101d94919361105f61101d928a3d8c1161106b575b61105781836107dd565b810190610e7e565b96935093919450610fd5565b503d61104d565b6110899150823d84116102e0576102d181836107dd565b5f610f94565b5050505050505f905f90565b90506110c5610adb6110b987610fff875f52600160205260405f2090565b5465ffffffffffff1690565b115f610f64565b90506110da610adb426118de565b81101590610f5d565b610c459192508a3d8c11610c4c57610c3d81836107dd565b61110e9250602080918301019101610e13565b5f80610ef1565b919091805f52600160205265ffffffffffff806111458560405f209060018060a01b03165f5260205260405f2090565b54169083161161115457505050565b61080b9261117c915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9060018201809211610a5e57565b9190825f5260026020526111fb6103936111d08360405f209060018060a01b03165f5260205260405f2090565b926111da426118de565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211610a5e57600181019081541561129f575b61121b81611b1c565b50949083549561122a846115c2565b508161128a575b50156112695750505f198301928311610a5e5761080b9261125191611599565b90919082549060031b91821b915f19901b1916179055565b61080b94611283926001600160d01b039091169190611bdd565b505061193d565b65ffffffffffff83811691161490505f611231565b6112a882611910565b611212565b606060206108c4938184526001600160401b038151168285015201519160408082015201906103a0565b919360a0936108c4969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103a0565b9293906004602061132c610aa0610aa05f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa9081156102e75761075b916113aa915f916113f9575b506001600160a01b0316936113696107fe565b6001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152906020820152604051928391602083016112ad565b823b1561013a575f946113d586926040519889978896879563724ab0f760e11b8752600487016112d7565b03925af180156102e7576113e65750565b806113f361080b926107ca565b806102fe565b611412915060203d6020116102e0576102d181836107dd565b5f611356565b5f8054604051631c9e38c760e21b8152600481019390935265ffffffffffff9390931660248301529091602091839160449183916001600160a01b03165af180156102e7576114645750565b61147c9060203d60201161106b5761105781836107dd565b50565b8115611489570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c166114b5575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa9182156102e7575f92611572575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff909116608483015261153f8260a481015b03601f1981018452836107dd565b6202a15c5a10611560575f928380935192620249f0f1505f808080806114ae565b604051632153f33560e21b8152600490fd5b61153f92506115926115319160203d6020116102e0576102d181836107dd565b92506114e6565b80548210156115ae575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054806115f757505f5b6001600160d01b038116156115f15760016115e79201611599565b90549060031b1c90565b50505f90565b5f19908082810111610a5e57825f5260205f2001015460301c6115cc565b91909160408184031261013a57803561162d81610129565b9260208201356001600160401b03811161013a576108c49201610835565b5190811515820361013a57565b9081602091031261013a576108c49061164b565b61167891810190611615565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156102e7575f916117a8575b501561179657816117086004926116e9611960565b5f80546001600160a01b0319166001600160a01b038916179055611996565b94604051928380926313c085b760e11b82525afa9182156102e7575f92611779575b505016158061176f575b61175d575161080b9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515611734565b61178f9250803d106102e0576102d181836107dd565b5f8061172a565b6040516362df054560e01b8152600490fd5b6117c89150833d85116117ce575b6117c081836107dd565b810190611658565b5f6116d4565b503d6117b6565b9081602091031261013a575163ffffffff8116810361013a5790565b90600163ffffffff80931601918211610a5e57565b918051156118d45780602080611821935183010191016117d5565b9161182c8382611aae565b9261183d845165ffffffffffff1690565b9065ffffffffffff80851692168281146118c85782119182611873575b505061186a576108c492506119de565b50506020015190565b9091506118808354610ec4565b63ffffffff831614918215611899575b50505f8061185a565b6118c09192506118b46118ae610adb926117f1565b85611aae565b5165ffffffffffff1690565b115f80611890565b50505050506020015190565b506108c4916119de565b65ffffffffffff908181116118f1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b8054600160401b8110156107aa5761192d91600182018155611599565b8154905f199060031b1b19169055565b90815491600160401b8310156107aa578261125191600161080b95018155611599565b611968611b55565b611970611b55565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6040516119a38161078f565b5260208180518101031261013a576020906040516119c08161078f565b6119d86040519384936119d28561078f565b0161164b565b82525290565b908154905f829160058411611a48575b6119f9935084611de5565b80611a2157505f905b6001600160d01b038216156115f1576108c49160016115e79201611599565b611a3b611a30611a4292610ec4565b835f5260205f200190565b5460301c90565b90611a02565b9192611a5381611cba565b8103908111610a5e576119f993855f5265ffffffffffff808360205f20015416908516105f14611a845750916119ee565b929150611a9090611195565b906119ee565b60405190611aa3826107af565b5f6020838281520152565b9060206001611ad2611afe93611ac2611a96565b50611acb611a96565b5085611599565b509360405194611ae1866107af565b549465ffffffffffff86169586825260301c938491015201611599565b90549060405192611b0e846107af565b835260031b1c602082015290565b805480611b2d5750505f905f905f90565b5f19918183810111610a5e575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020611e458339815191525460401c1615611b7157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156107aa57611ba091600182018155611599565b611bca57815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c9057611bf4611bff91610ec4565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c7e57879303611c455750611c3e92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c7991611c65611c576107fe565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b83565b611c3e565b604051632520601d60e01b8152600490fd5b5090611cb591611ca1611c576107fe565b6001600160d01b0385166020830152611b83565b5f9190565b60018111156108c457600181600160801b811015611dd3575b611d7b611d71611d67611d5d611d53611d49611d8797600488600160401b611d829a1015611dc6575b640100000000811015611db9575b62010000811015611dac575b610100811015611da0575b6010811015611d94575b1015611d8c575b60030260011c611d42818b61147f565b0160011c90565b611d42818a61147f565b611d42818961147f565b611d42818861147f565b611d42818761147f565b611d42818661147f565b809361147f565b821190565b900390565b60011b611d32565b811c9160021b91611d2b565b60081c91811b91611d21565b60101c9160081b91611d16565b60201c9160101b91611d0a565b60401c9160201b91611cfc565b50600160401b9050608082901c611cd3565b91905b838210611df55750505090565b9091928083169080841860011c8201809211610a5e57845f5265ffffffffffff808360205f20015416908416105f14611e325750925b9190611de8565b939250611e3e90611195565b91611e2b56fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f6c8c6e53e56abe4ba9bf3f192a97636699c1edad17d1630537b4ec239db2d6c64736f6c63430008190033","sourceMap":"2765:796:97:-:0;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;348:4:95;332:21;;8837:64:26;2765:796:97;;;;;;;;;7896:76:26;;2765:796:97;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:82;-1:-1:-1;525:17:82;;-1:-1:-1;552:12:82;;-1:-1:-1;2353:28:105;;2391:53;;-1:-1:-1;2391:53:105;;2970:37:97;;;;2765:796;;;;;;;;;332:21:95;2765:796:97;;;;525:17:82;2765:796:97;;;;;552:12:82;2765:796:97;;;;;;;;;;2353:28:105;2765:796:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;2765:796:97;;;;;;;;;;;;;8087:29:26;;2765:796:97;;8087:29:26;7981:146;;;;;7896:76;2765:796:97;;-1:-1:-1;;;7938:23:26;;;;;2765:796:97;-1:-1:-1;2765:796:97;;;;;;-1:-1:-1;2765:796:97;;;;;-1:-1:-1;2765:796:97","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c8063021a815614610124578063103f29071461011f5780631a2be2c41461011a578063238ab85f14610115578063267de1f3146101105780632964f8dc1461010b5780632c9d45b3146101065780632dd310001461010157806334d098ea146100fc578063439fab91146100f7578063457821b7146100f25780639f86fd85146100ed578063aa8e6489146100e8578063aab3595f146100e3578063bb24fe8a146100de578063d5c24e1a146100d95763fbfa77cf146100d4575f80fd5b61098a565b61096d565b61092a565b610905565b6108c7565b6106c1565b61067d565b610545565b610521565b6104dd565b610499565b61047d565b610428565b6103c4565b61034c565b610308565b61017b565b6001600160a01b0381160361013a57565b5f80fd5b65ffffffffffff81160361013a57565b9181601f8401121561013a578235916001600160401b03831161013a576020838186019501011161013a57565b3461013a5760a036600319011261013a5760043560243561019b81610129565b6064356101a78161013e565b6084356001600160401b03811161013a576101c690369060040161014e565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146102ec5760029055604051635daf681960e11b8152606086901c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa9182156102e7575f926102b6575b50339116036102a4576102a0946102679460443591610a63565b61029060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6040519081529081906020820190565b0390f35b60405163227bf64d60e01b8152600490fd5b6102d991925060203d6020116102e0575b6102d181836107dd565b810190610de5565b905f61024d565b503d6102c7565b610a27565b604051633ee5aeb560e01b8152600490fd5b5f91031261013a57565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a57604036600319011261013a57602061039861039360243561037181610129565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6115c2565b604051908152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b3461013a5760c036600319011261013a576102a06104146004356103e781610129565b6103f2602435610129565b6064356103fe81610129565b60a4359161040b8361013e565b60443590610ced565b6040519182916020835260208301906103a0565b3461013a57604036600319011261013a57602065ffffffffffff61047360243561045181610129565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b3461013a575f36600319011261013a576020604051614e208152f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a575f36600319011261013a57602060ff5f5460a01c166040519015158152f35b3461013a57602036600319011261013a576001600160401b0360043581811161013a5761057690369060040161014e565b5f80516020611e45833981519152549260ff8460401c1615931680159081610675575b600114908161066b575b159081610662575b50610650575f80516020611e45833981519152805467ffffffffffffffff191660011790556105de918361062c5761166c565b6105e457005b5f80516020611e45833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020611e45833981519152805460ff60401b1916600160401b17905561166c565b60405163f92ee8a960e01b8152600490fd5b9050155f6105ab565b303b1591506105a3565b849150610599565b3461013a575f36600319011261013a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461013a5760408060031936011261013a576004356106df81610129565b602435906001600160401b03821161013a575f809161070561076994369060040161014e565b908187519283928337810184815203915af43d156107715761075b3d61072a8161081a565b90610737865192836107dd565b81523d5f602083013e5b8451948593151560208501528084015260608301906103a0565b03601f1981018352826107dd565b805190602001fd5b61075b6060610741565b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176107aa57604052565b61077b565b604081019081106001600160401b038211176107aa57604052565b6001600160401b0381116107aa57604052565b90601f801991011681019081106001600160401b038211176107aa57604052565b6040519061080b826107af565b565b6040519061080b8261078f565b6001600160401b0381116107aa57601f01601f191660200190565b81601f8201121561013a5780359061084c8261081a565b9261085a60405194856107dd565b8284526020838301011161013a57815f926020809301838601378301015290565b90608060031983011261013a576004359160243561089881610129565b916044356108a58161013e565b91606435906001600160401b03821161013a576108c491600401610835565b90565b3461013a5760206103986109006108dd3661087b565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b611806565b3461013a5760206109216109183661087b565b92919091610edf565b50604051908152f35b3461013a575f36600319011261013a5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461013a575f36600319011261013a576020604051620249f08152f35b3461013a575f36600319011261013a575f546040516001600160a01b039091168152602090f35b604051906109be8261078f565b60608252565b9060208282031261013a5781356001600160401b039283821161013a57019060208282031261013a57604051926109fa8461078f565b823590811161013a57610a0d9201610835565b815290565b9081602091031261013a57516108c48161013e565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9182169082160391908211610a5e57565b610a32565b92939594919095610a726109b1565b9280610c53575b5050610a84426118de565b5f54600490602090610aac90610aa0906001600160a01b031681565b6001600160a01b031690565b6040516327f843b560e11b815292839182905afa80156102e757610ae692610adb925f92610c22575b50610a46565b65ffffffffffff1690565b65ffffffffffff8516908110908115610c0c575b50610bfa57610b0f610b1e9251858886610edf565b92909180831890831102821890565b958615610be857610ba361075b610b9a610be3947fe0cbbe1f1e6fd806ca87036fafcebaf7ab5247474a3b20e1c37bb50122c3a88496610b5f8a878b611115565b610b6a8c878b6111a3565b610b726107fe565b9182526020820152604051928391602083019190916020806040830194805184520151910152565b8689848861130f565b610bad8588611418565b610bb98588838761149d565b6040805188815265ffffffffffff90961660208701526001600160a01b0390911694918291820190565b0390a3565b60405163167f871760e31b8152600490fd5b604051631357ac9160e11b8152600490fd5b9050610c1a610adb426118de565b11155f610afa565b610c4591925060203d602011610c4c575b610c3d81836107dd565b810190610a12565b905f610ad5565b503d610c33565b610c619293508101906109c4565b905f80610a79565b81601f8201121561013a57805190610c808261081a565b92610c8e60405194856107dd565b8284526020838301011161013a57815f9260208093018386015e8301015290565b9060208282031261013a5781516001600160401b03811161013a576108c49201610c69565b60406108c49260208352519160208082015201906103a0565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252918216604482015265ffffffffffff909216606483015260609291905f90829060849082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156102e7575f91610d97575b508051610d735750565b61075b9192506108c490610d8561080d565b90815260405192839160208301610cd4565b610db391503d805f833e610dab81836107dd565b810190610caf565b5f610d69565b5f9081526002602090815260408083206001600160a01b039094168352929052206108c4929190611806565b9081602091031261013a57516108c481610129565b60405190610e07826107af565b60606020838281520152565b9060208282031261013a5781516001600160401b039283821161013a57019060408282031261013a5760405192610e49846107af565b825181811161013a5782610e5e918501610c69565b8452602083015190811161013a57610e769201610c69565b602082015290565b9081602091031261013a575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526108c4929101906103a0565b5f19810191908211610a5e57565b91908203918211610a5e57565b92610ee8610dfa565b908051806110fb575b5050610efc426118de565b5f54909490610f1590610aa0906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa80156102e757610f4992610adb925f926110e35750610a46565b65ffffffffffff82169081109081156110cc575b811561109b575b5061108f578560049560405196878092630ce9b79360e41b82525afa9485156102e757610fb69587915f91611072575b50845190604051808099819463e02f693760e01b8352878b8a60048601610e8d565b03916001600160a01b03165afa9384156102e75761102e955f95611031575b509261101d85936110239361101d96869a61101461039383610fff875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192610db9565b90610ed2565b818082109118021890565b91565b61102392955061101d94919361105f61101d928a3d8c1161106b575b61105781836107dd565b810190610e7e565b96935093919450610fd5565b503d61104d565b6110899150823d84116102e0576102d181836107dd565b5f610f94565b5050505050505f905f90565b90506110c5610adb6110b987610fff875f52600160205260405f2090565b5465ffffffffffff1690565b115f610f64565b90506110da610adb426118de565b81101590610f5d565b610c459192508a3d8c11610c4c57610c3d81836107dd565b61110e9250602080918301019101610e13565b5f80610ef1565b919091805f52600160205265ffffffffffff806111458560405f209060018060a01b03165f5260205260405f2090565b54169083161161115457505050565b61080b9261117c915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9060018201809211610a5e57565b9190825f5260026020526111fb6103936111d08360405f209060018060a01b03165f5260205260405f2090565b926111da426118de565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211610a5e57600181019081541561129f575b61121b81611b1c565b50949083549561122a846115c2565b508161128a575b50156112695750505f198301928311610a5e5761080b9261125191611599565b90919082549060031b91821b915f19901b1916179055565b61080b94611283926001600160d01b039091169190611bdd565b505061193d565b65ffffffffffff83811691161490505f611231565b6112a882611910565b611212565b606060206108c4938184526001600160401b038151168285015201519160408082015201906103a0565b919360a0936108c4969565ffffffffffff938552600180871b03166020850152604084015216606082015281608082015201906103a0565b9293906004602061132c610aa0610aa05f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa9081156102e75761075b916113aa915f916113f9575b506001600160a01b0316936113696107fe565b6001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152906020820152604051928391602083016112ad565b823b1561013a575f946113d586926040519889978896879563724ab0f760e11b8752600487016112d7565b03925af180156102e7576113e65750565b806113f361080b926107ca565b806102fe565b611412915060203d6020116102e0576102d181836107dd565b5f611356565b5f8054604051631c9e38c760e21b8152600481019390935265ffffffffffff9390931660248301529091602091839160449183916001600160a01b03165af180156102e7576114645750565b61147c9060203d60201161106b5761105781836107dd565b50565b8115611489570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c166114b5575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa9182156102e7575f92611572575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff909116608483015261153f8260a481015b03601f1981018452836107dd565b6202a15c5a10611560575f928380935192620249f0f1505f808080806114ae565b604051632153f33560e21b8152600490fd5b61153f92506115926115319160203d6020116102e0576102d181836107dd565b92506114e6565b80548210156115ae575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054806115f757505f5b6001600160d01b038116156115f15760016115e79201611599565b90549060031b1c90565b50505f90565b5f19908082810111610a5e57825f5260205f2001015460301c6115cc565b91909160408184031261013a57803561162d81610129565b9260208201356001600160401b03811161013a576108c49201610835565b5190811515820361013a57565b9081602091031261013a576108c49061164b565b61167891810190611615565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156102e7575f916117a8575b501561179657816117086004926116e9611960565b5f80546001600160a01b0319166001600160a01b038916179055611996565b94604051928380926313c085b760e11b82525afa9182156102e7575f92611779575b505016158061176f575b61175d575161080b9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515611734565b61178f9250803d106102e0576102d181836107dd565b5f8061172a565b6040516362df054560e01b8152600490fd5b6117c89150833d85116117ce575b6117c081836107dd565b810190611658565b5f6116d4565b503d6117b6565b9081602091031261013a575163ffffffff8116810361013a5790565b90600163ffffffff80931601918211610a5e57565b918051156118d45780602080611821935183010191016117d5565b9161182c8382611aae565b9261183d845165ffffffffffff1690565b9065ffffffffffff80851692168281146118c85782119182611873575b505061186a576108c492506119de565b50506020015190565b9091506118808354610ec4565b63ffffffff831614918215611899575b50505f8061185a565b6118c09192506118b46118ae610adb926117f1565b85611aae565b5165ffffffffffff1690565b115f80611890565b50505050506020015190565b506108c4916119de565b65ffffffffffff908181116118f1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b8054600160401b8110156107aa5761192d91600182018155611599565b8154905f199060031b1b19169055565b90815491600160401b8310156107aa578261125191600161080b95018155611599565b611968611b55565b611970611b55565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6040516119a38161078f565b5260208180518101031261013a576020906040516119c08161078f565b6119d86040519384936119d28561078f565b0161164b565b82525290565b908154905f829160058411611a48575b6119f9935084611de5565b80611a2157505f905b6001600160d01b038216156115f1576108c49160016115e79201611599565b611a3b611a30611a4292610ec4565b835f5260205f200190565b5460301c90565b90611a02565b9192611a5381611cba565b8103908111610a5e576119f993855f5265ffffffffffff808360205f20015416908516105f14611a845750916119ee565b929150611a9090611195565b906119ee565b60405190611aa3826107af565b5f6020838281520152565b9060206001611ad2611afe93611ac2611a96565b50611acb611a96565b5085611599565b509360405194611ae1866107af565b549465ffffffffffff86169586825260301c938491015201611599565b90549060405192611b0e846107af565b835260031b1c602082015290565b805480611b2d5750505f905f905f90565b5f19918183810111610a5e575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f80516020611e458339815191525460401c1615611b7157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156107aa57611ba091600182018155611599565b611bca57815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c9057611bf4611bff91610ec4565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c7e57879303611c455750611c3e92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c7991611c65611c576107fe565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b83565b611c3e565b604051632520601d60e01b8152600490fd5b5090611cb591611ca1611c576107fe565b6001600160d01b0385166020830152611b83565b5f9190565b60018111156108c457600181600160801b811015611dd3575b611d7b611d71611d67611d5d611d53611d49611d8797600488600160401b611d829a1015611dc6575b640100000000811015611db9575b62010000811015611dac575b610100811015611da0575b6010811015611d94575b1015611d8c575b60030260011c611d42818b61147f565b0160011c90565b611d42818a61147f565b611d42818961147f565b611d42818861147f565b611d42818761147f565b611d42818661147f565b809361147f565b821190565b900390565b60011b611d32565b811c9160021b91611d2b565b60081c91811b91611d21565b60101c9160081b91611d16565b60201c9160101b91611d0a565b60401c9160201b91611cfc565b50600160401b9050608082901c611cd3565b91905b838210611df55750505090565b9091928083169080841860011c8201809211610a5e57845f5265ffffffffffff808360205f20015416908416105f14611e325750925b9190611de8565b939250611e3e90611195565b91611e2b56fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f6c8c6e53e56abe4ba9bf3f192a97636699c1edad17d1630537b4ec239db2d6c64736f6c63430008190033","sourceMap":"2765:796:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;-1:-1:-1;;;;;2765:796:97;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;2765:796:97;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;2765:796:97;;3670:20:30;3666:88;;1991:1;;;2765:796:97;;-1:-1:-1;;;4546:86:105;;2765:796:97;;;;;4546:86:105;;2765:796:97;-1:-1:-1;;;;;2765:796:97;;;;4572:26:105;2765:796:97;;4546:86:105;;;;;;;-1:-1:-1;4546:86:105;;;2765:796:97;4636:10:105;;2765:796:97;;4546:100:105;4542:160;;2765:796:97;;774:1493:106;2765:796:97;;;774:1493:106;;:::i;:::-;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;2765:796:97;;;;;;;;;;;;;;;;;4542:160:105;2765:796:97;;-1:-1:-1;;;4669:22:105;;2765:796:97;;4669:22:105;4546:86;;;;;2765:796:97;4546:86:105;2765:796:97;4546:86:105;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;3666:88:30:-;2765:796:97;;-1:-1:-1;;;3713:30:30;;2765:796:97;;3713:30:30;2765:796:97;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;2765:796:97;;;;;;1435:38:105;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;2936:47:105;:38;2765:796:97;;;;;:::i;:::-;;;-1:-1:-1;2765:796:97;2936:16:105;2765:796:97;;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;;;;;2936:38:105;:47;:::i;:::-;2765:796:97;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2765:796:97;;;;;;;;-1:-1:-1;;2765:796:97;;;;:::o;:::-;;;;;;-1:-1:-1;;2765:796:97;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;2765:796:97;;;;;;1788:109:105;2765:796:97;;;;;:::i;:::-;;;-1:-1:-1;2765:796:97;1788:109:105;2765:796:97;;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;;;;;1788:109:105;2765:796:97;;;;;;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;;;1374:6:105;2765:796:97;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;;1528:51:105;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;;322:32:82;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2765:796:97;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;2765:796:97;;;;;;;4301:16:26;2765:796:97;;4726:16:26;;:34;;;;2765:796:97;4805:1:26;4790:16;:50;;;;2765:796:97;4855:13:26;:30;;;;2765:796:97;4851:91:26;;;-1:-1:-1;;;;;;;;;;;2765:796:97;;-1:-1:-1;;2765:796:97;;;;;718:4:82;;4951:18:26;4979:67;;718:4:82;:::i;:::-;5066:101:26;;2765:796:97;5066:101:26;-1:-1:-1;;;;;;;;;;;2765:796:97;;-1:-1:-1;;;;2765:796:97;;;;;-1:-1:-1;2765:796:97;;5142:14:26;;2765:796:97;;5142:14:26;2765:796:97;4979:67:26;-1:-1:-1;;;;;;;;;;;2765:796:97;;-1:-1:-1;;;;2765:796:97;-1:-1:-1;;;2765:796:97;;;718:4:82;:::i;4851:91:26:-;2765:796:97;;-1:-1:-1;;;4908:23:26;;2765:796:97;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;2765:796:97;;;;;;-1:-1:-1;;2765:796:97;;;;;;2811:43;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;2765:796:97;;;;-1:-1:-1;2765:796:97;;;477:31:88;2765:796:97;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;2765:796:97;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;477:31:88;;2765:796:97;;;;;;;;;;:::i;:::-;477:31:88;2765:796:97;;477:31:88;;;;;;:::i;:::-;518:79;;;2765:796:97;518:79:88;;2765:796:97;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;:::o;:::-;-1:-1:-1;;;;;2765:796:97;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;2765:796:97;;;;;;-1:-1:-1;;2765:796:97;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;2765:796:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;2692:73:105;:38;2765:796:97;;;:::i;:::-;;;;;-1:-1:-1;2765:796:97;2692:16:105;2765:796:97;;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;;;;;2692:38:105;:73;:::i;2765:796:97:-;;;;;3248:62:105;2765:796:97;;;:::i;:::-;3248:62:105;;;;;:::i;:::-;2765:796:97;;;;;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;;;-1:-1:-1;;;;;404:28:82;2765:796:97;;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;;;1271:7:105;2765:796:97;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;774:1493:106:-;;;;;;;;2765:796:97;;:::i;:::-;1076:16:106;;1072:91;;774:1493;837:15:75;;819:34;837:15;819:34;:::i;:::-;-1:-1:-1;2765:796:97;1215:29:106;;;;:27;;:13;;-1:-1:-1;;;;;2765:796:97;1215:13:106;2765:796:97;;-1:-1:-1;;;;;2765:796:97;;;1215:27:106;2765:796:97;;-1:-1:-1;;;1215:29:106;;2765:796:97;;;;;1215:29:106;;;;;;1177:67;1215:29;1196:48;1215:29;-1:-1:-1;1215:29:106;;;774:1493;1196:48;;:::i;:::-;2765:796:97;;;;1177:67:106;2765:796:97;;;1177:67:106;;;:107;;;;;774:1493;1173:178;;;1418:87;3455:20:70;1474:30:106;;1418:87;;;;:::i;:::-;3463:5:70;;;3066;;;3463;;-1:-1:-1;2765:796:97;3060:42:70;;;2825:294;3455:20;1578:18:106;;;1574:75;;1950:87;;;2200:60;1718:16;2200:60;1718:16;;;;;;:::i;:::-;1791:13;;;;;:::i;:::-;2765:796:97;;:::i;:::-;;;;1215:29:106;1961:75;;2765:796:97;;;1950:87:106;;;1215:29;1950:87;;2765:796:97;;;;;;;;;;;;;;;;;;;1950:87:106;;;;;;:::i;:::-;2087:16;;;;:::i;:::-;2167;;;;;;:::i;:::-;2765:796:97;;;;;;;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;2200:60:106;;;;774:1493::o;1574:75::-;2765:796:97;;-1:-1:-1;;;1619:19:106;;1215:29;;1619:19;1173:178;2765:796:97;;-1:-1:-1;;;1315:25:106;;1215:29;;1315:25;1177:107;837:15:75;;1248:36:106;819:34:75;837:15;819:34;:::i;1248:36:106:-;-1:-1:-1;1248:36:106;1177:107;;;1215:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1072:91;1121:31;;;;;;;;:::i;:::-;1072:91;;;;;2765:796:97;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;3020:539::-;2765:796;;-1:-1:-1;;;3303:105:97;;-1:-1:-1;;;;;2765:796:97;;;3303:105;;;2765:796;;;;;;;;;;;;;;;;;;;;;;;;;3020:539;2765:796;3303:105;;2765:796;;;;;;3320:18;2765:796;3303:105;;;;;;;;;;;3020:539;2765:796;;;3419:134;;3020:539;:::o;3419:134::-;3476:66;2765:796;;;3476:66;2765:796;;;:::i;:::-;;;;;;3476:66;;;2765:796;3476:66;;;:::i;3303:105::-;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;2505:267:105;-1:-1:-1;2765:796:97;;;2692:16:105;2765:796:97;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;2692:73:105;;2505:267;;2692:73;:::i;2765:796:97:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;2765:796:97;;;;;;;;:::o;:::-;;;;;;;;;;:::o;3323:1122:105:-;;2765:796:97;;:::i;:::-;;;;3608:16:105;3604:109;;3323:1122;837:15:75;;819:34;837:15;819:34;:::i;:::-;-1:-1:-1;2765:796:97;;;;3778:27:105;;:13;;-1:-1:-1;;;;;2765:796:97;3778:13:105;2765:796:97;3778:27:105;2765:796:97;;;;;;;3778:29:105;;;;;;;;;;;;;;;3740:67;3778:29;3759:48;3778:29;-1:-1:-1;3778:29:105;;;3759:48;;:::i;3740:67::-;2765:796:97;;;3740:67:105;;;:107;;;;;3323:1122;3740:197;;;;3323:1122;3723:263;;;2765:796:97;3778:29:105;2765:796:97;;;;;;;;;;4025:25:105;;;;;;;;;4010:143;4025:25;;;-1:-1:-1;4025:25:105;;;3323:1122;4113:30;;;2765:796:97;;;;;;;;;;;4010:143:105;;;;;3778:29;4010:143;;;:::i;:::-;;;-1:-1:-1;;;;;2765:796:97;4010:143:105;;;;;;;4181:257;4010:143;-1:-1:-1;4010:143:105;;;3323:1122;3996:157;;4293:102;3996:157;;4233:162;3996:157;4207:231;3996:157;;2936:28;:47;:38;:28;;;2765:796:97;;2936:16:105;2765:796:97;;;;;;;2936:28:105;2765:796:97;;;;;;;;;;;;;;;;2936:47:105;4351:43;;;4293:102;;:::i;:::-;4233:162;;:::i;:::-;3463:5:70;;;;3066;;2765:796:97;3060:42:70;3371:111;;4181:257:105;3323:1122;:::o;4010:143::-;4233:162;4010:143;;;4207:231;4010:143;;;;4293:102;4010:143;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;4025:25;;;;;;;;;;;;;;:::i;:::-;;;;3723:263;3962:13;;;;;;-1:-1:-1;3962:13:105;-1:-1:-1;3962:13:105;:::o;3740:197::-;3886:41;;3867:70;3886:51;;:41;;;2765:796:97;;3886:29:105;2765:796:97;;;;;;;3886:51:105;2765:796:97;;;;;3867:70:105;-1:-1:-1;3740:197:105;;;:107;837:15:75;;3811:36:105;819:34:75;837:15;819:34;:::i;3811:36:105:-;;;;3740:107;;;3778:29;;;;;;;;;;;;;;;:::i;3604:109::-;3662:40;;;;;;;;;;;;:::i;:::-;3604:109;;;;4714:335;;;;2765:796:97;-1:-1:-1;2765:796:97;4876:29:105;2765:796:97;;;;4876:51:105;2765:796:97;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;;;;;4876:51:105;2765:796:97;;;;;-1:-1:-1;4872:171:105;;4714:335;;;:::o;4872:171::-;4962:70;2765:796:97;4962:51:105;2765:796:97;-1:-1:-1;2765:796:97;4876:29:105;2765:796:97;;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;;;;;4962:51:105;2765:796:97;;;;;;;;;;;;;;9999:1:73;2765:796:97;;;;;;;:::o;5055:221:105:-;;;2765:796:97;-1:-1:-1;2765:796:97;5160:16:105;2765:796:97;;2936:47:105;:38;5160;2765:796:97;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;;;;;5160:38:105;837:15:75;819:34;837:15;819:34;:::i;:::-;2765:796:97;-1:-1:-1;2765:796:97;5160:16:105;2765:796:97;;;-1:-1:-1;2765:796:97;;;;;;;;;;;;;;;;;2936:47:105;2765:796:97;;;;;;;;6360:12:99;;;2765:796:97;;;6360:24:99;6356:75;;5055:221:105;6474:30:99;;;:::i;:::-;2765:796:97;;;;;6578:12:99;;;;:::i;:::-;;6604:24;;;5055:221:105;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;2765:796:97;;;;;;;6644:29:99;:21;;;;:::i;:::-;:29;2765:796:97;;;;;;;;;;;;;;;;;;;;;6600:188:99;6753:24;;8310:38:73;;-1:-1:-1;;;;;2765:796:97;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;2765:796:97;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;6400:20;;;:::i;:::-;6356:75;;2765:796:97;;;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5282:431:105:-;;;;5487:25;;:23;:13;2765:796:97;5494:5:105;2765:796:97;;;;;;;;;5487:23:105;2765:796:97;;-1:-1:-1;;;5487:25:105;;2765:796:97;;;;;5487:25:105;;;;;;;5631:65;5487:25;5631:65;5487:25;5494:5;5487:25;;;5282:431;-1:-1:-1;;;;;;2765:796:97;;;;:::i;:::-;-1:-1:-1;;;;;5677:4:105;2765:796:97;;;5677:4:105;5487:25;5642:53;;2765:796:97;;;5631:65:105;;;5487:25;5631:65;;;:::i;:::-;5472:234;;;;;5494:5;2765:796:97;5472:234:105;2765:796:97;;;;;;;;;;;;;;5472:234:105;;5487:25;5472:234;;;:::i;:::-;;;;;;;;;;;5282:431;:::o;5472:234::-;;;;;;:::i;:::-;;;:::i;5487:25::-;;;;;;;;;;;;;;:::i;:::-;;;;5719:137;5809:5;2765:796:97;;;;-1:-1:-1;;;5802:47:105;;;;;2765:796:97;;;;;;;;;;;;;;;5802:47:105;;2765:796:97;;;;;;-1:-1:-1;;;;;2765:796:97;5802:47:105;;;;;;;;5719:137;:::o;5802:47::-;;;;;;;;;;;;;:::i;:::-;;5719:137::o;2765:796:97:-;;;;;;;:::o;:::-;;;;;;;;;;;;5862:623:105;;;5988:12;2765:796:97;;;;;;;5984:495:105;;5862:623;;;;;;:::o;5984:495::-;2765:796:97;;-1:-1:-1;;;6033:22:105;;2765:796:97;6033:22:105;;2765:796:97;;6033:22:105;;2765:796:97;;-1:-1:-1;;;;;2765:796:97;6033:22:105;;;;;;;5988:12;6033:22;;;5984:495;-1:-1:-1;2765:796:97;;-1:-1:-1;;;6033:22:105;6094:81;;;;;;;;2765:796:97;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;;;;;;;;;;;;;;;6094:81:105;2765:796:97;;;;6094:81:105;;2765:796:97;;6094:81:105;;;;;;:::i;:::-;2765:796:97;6194:9:105;:55;6190:124;;5988:12;6328:141;;;;;;1271:7;6328:141;;5984:495;;;;;;;6190:124;2765:796:97;;-1:-1:-1;;;6276:23:105;;6033:22;;6276:23;6033:22;6094:81;6033:22;;;6094:81;6033:22;;;;;;;;;;;:::i;:::-;;;;;2765:796:97;;;;;;;;-1:-1:-1;2765:796:97;;-1:-1:-1;2765:796:97;;;-1:-1:-1;2765:796:97;:::o;:::-;;;;;;;;;;;;10580:184:99;2765:796:97;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;2765:796:97;;10726:7:99;2765:796:97;;10736:12:99;:17;:12;;:17;:::i;:::-;2765:796:97;;;;;;10580:184:99;:::o;10726:31::-;;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;2765:796:97;;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;;-1:-1:-1;14439:109:73;;;2765:796:97;;;10446:63:73;;2765:796:97;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;2765:796:97;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;6491:564:105:-;6614:34;6491:564;6614:34;;;;:::i;:::-;2765:796:97;;-1:-1:-1;;;6664:41:105;;-1:-1:-1;;;;;2765:796:97;;;6664:41:105;;;2765:796:97;;;;;6664:41:105;;;2765:796:97;;;6674:13:105;2765:796:97;;6664:41:105;;;;;;;-1:-1:-1;6664:41:105;;;6491:564;6663:42;;6659:90;;2684:111:30;6850:27:105;6664:41;2684:111:30;;;:::i;:::-;-1:-1:-1;2765:796:97;;-1:-1:-1;;;;;;2765:796:97;-1:-1:-1;;;;;2765:796:97;;;;;6850:27:105;:::i;:::-;2765:796:97;;;;;;;;;;6892:23:105;;;;;;;;;-1:-1:-1;6892:23:105;;;6491:564;2765:796:97;;;6892:37:105;:64;;;6491:564;6888:112;;2765:796:97;7010:38:105;;2765:796:97;;-1:-1:-1;2765:796:97;;-1:-1:-1;;;;2765:796:97;;;;;;-1:-1:-1;;;2765:796:97;;;;;;;;6888:112:105;2765:796:97;;-1:-1:-1;;;6979:10:105;;6664:41;;6979:10;6892:64;-1:-1:-1;2765:796:97;;;;6892:64:105;;:23;;;;;;-1:-1:-1;6892:23:105;;;;;;:::i;:::-;;;;;6659:90;2765:796:97;;-1:-1:-1;;;6728:10:105;;6664:41;;6728:10;6664:41;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;2765:796:97;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;2765:796:97;;7686:17:99;7682:83;;2765:796:97;7789:27:99;2765:796:97;7789:27:99;2765:796:97;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;2765:796:97;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;2765:796:97;8075:24:99;:::o;7975:84::-;2765:796:97;;;8009:16:99;2765:796:97;;8009:16:99;:::i;:::-;2765:796:97;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:::-;2765:796:97;;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;2765:796:97;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;14296:213:71:-;2765:796:97;14374:24:71;;;;14370:103;;2765:796:97;14296:213:71;:::o;14370:103::-;2765:796:97;;;;14421:41:71;;;;;;14452:2;14421:41;;;2765:796:97;;;;;14421:41:71;2765:796:97;;;-1:-1:-1;;;2765:796:97;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;;2765:796:97;;;;;;;;;;;;;;;:::i;6893:76:26:-;;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;6893:76:26:o;2273:218:106:-;-1:-1:-1;2765:796:97;;;;;:::i;:::-;;;;;;2419:30:106;;2765:796:97;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;2419:30:106;2765:796:97;:::i;:::-;;;;2273:218:106;:::o;6999:207:99:-;;2765:796:97;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;2765:796:97;;7168:7:99;2765:796:97;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;14439:109;;;;;;14289:265;;10135:41;2765:796:97;;;;;10135:48:73;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;2765:796:97;;;;;;;10049:53:73;14439:109;;-1:-1:-1;14439:109:73;2765:796:97;14439:109:73;;;-1:-1:-1;14439:109:73;;2765:796:97;;;;;9870:48:73;9866:149;2765:796:97;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;2765:796:97;;;;;;;:::i;:::-;-1:-1:-1;2765:796:97;;;;;;;:::o;11486:272:99:-;;2765:796:97;11718:12:99;11452:22:73;11718:31:99;11486:272;2765:796:97;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;2765:796:97;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:99;:31;:::i;:::-;2765:796:97;;;;;;;;;:::i;:::-;;;;;;;11672:79:99;;2765:796:97;11486:272:99;:::o;10695:389:73:-;2765:796:97;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;2765:796:97;;;;;;;;;;10833:17:73;14439:109;;10833:17;14439:109;;;2765:796:97;11014:1:73;2765:796:97;;;;;;;11030:37:73;:::o;7084:141:26:-;2765:796:97;-1:-1:-1;;;;;;;;;;;2765:796:97;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;2765:796:97;;-1:-1:-1;;;7191:17:26;;;;;2765:796:97;;;-1:-1:-1;;;2765:796:97;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;2765:796:97;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;2765:796:97;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;2765:796:97;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;2765:796:97;;;;;;;;;;;;;;;;;12285:19:73;2765:796:97;;12423:25:73;;:::o;12247:163::-;2765:796:97;;;12343:52:73;2765:796:97;12353:41:73;2765:796:97;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;2765:796:97;;12353:41:73;;;2765:796:97;12343:52:73;:::i;:::-;12247:163;;12099:89;2765:796:97;;-1:-1:-1;;;12143:30:73;;;;;11860:713;2765:796:97;;12479:52:73;2765:796:97;12489:41:73;2765:796:97;;:::i;12489:41:73:-;-1:-1:-1;;;;;2765:796:97;;12489:41:73;;;2765:796:97;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o;18080:5181:70:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;2765:796:97;18246:1:70;2765:796:97;22284:6:70;;;;:::i;:::-;2765:796:97;;;;;22278:18:70;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;;;2765:796:97;23216:28:70;2765:796:97;;18080:5181:70;:::o;19887:61::-;18246:1;2765:796:97;19887:61:70;;19787:87;2765:796:97;;;;;19787:87:70;;;19687;2765:796:97;;;;;19687:87:70;;;19585:89;2765:796:97;;;;;19585:89:70;;;19482:90;2765:796:97;;;;;19482:90:70;;;19379;2765:796:97;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;2765:796:97;-1:-1:-1;2765:796:97;;;;19274:92:70;;12929:433:73;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:70;;;;;;3731;;;;2765:796:97;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;2765:796:97;14439:109:73;;;-1:-1:-1;14439:109:73;;2765:796:97;;;;;-1:-1:-1;13189:136:73;2765:796:97;;;13248:10:73;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;","linkReferences":{},"immutableReferences":{"60120":[{"start":1266,"length":32}],"60123":[{"start":2377,"length":32},{"start":4979,"length":32}],"65225":[{"start":1682,"length":32},{"start":3385,"length":32}],"67904":[{"start":797,"length":32},{"start":5795,"length":32}],"67907":[{"start":540,"length":32},{"start":1198,"length":32}]}},"methodIdentifiers":{"BASE_SLASHER_HINTS()":"457821b7","BURNER_GAS_LIMIT()":"d5c24e1a","BURNER_RESERVE()":"2964f8dc","FACTORY()":"2dd31000","NETWORK_MIDDLEWARE_SERVICE()":"2c9d45b3","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","cumulativeSlash(bytes32,address)":"1a2be2c4","cumulativeSlashAt(bytes32,address,uint48,bytes)":"aa8e6489","initialize(bytes)":"439fab91","isBurnerHook()":"34d098ea","latestSlashedCaptureTimestamp(bytes32,address)":"267de1f3","slash(bytes32,address,uint256,uint48,bytes)":"021a8156","slashHints(address,address,bytes32,address,uint256,uint48)":"238ab85f","slashableStake(bytes32,address,uint48,bytes)":"aab3595f","staticDelegateCall(address,bytes)":"9f86fd85","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseSlasherHints\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBurnerGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientSlash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaptureTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoBurner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetworkMiddleware\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"Slash\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_SLASHER_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_MIDDLEWARE_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"cumulativeSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"cumulativeSlashAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isBurnerHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"latestSlashedCaptureTimestamp\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"value\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"slash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"slashHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"slashableStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"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.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Slash(bytes32,address,uint256,uint48)\":{\"params\":{\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"operator that is slashed\",\"slashedAmount\":\"virtual amount of the collateral slashed\",\"subnetwork\":\"subnetwork that requested the slash\"}}},\"kind\":\"dev\",\"methods\":{\"cumulativeSlash(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"cumulative slash amount\"}},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the cumulative slash amount until (inclusively)\"},\"returns\":{\"_0\":\"cumulative slash amount until the given timestamp (inclusively)\"}},\"initialize(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"slash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only a network middleware can call this function.\",\"params\":{\"amount\":\"maximum amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"hints\":\"hints for checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"slashedAmount\":\"virtual amount of the collateral slashed\"}},\"slashableStake(bytes32,address,uint48,bytes)\":{\"params\":{\"captureTimestamp\":\"time point to get the stake amount at\",\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"amount\":\"slashable amount of the stake\"}},\"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\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Slash(bytes32,address,uint256,uint48)\":{\"notice\":\"Emitted when a slash is performed.\"}},\"kind\":\"user\",\"methods\":{\"BURNER_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the burner.\"},\"BURNER_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the burner's execution.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"NETWORK_MIDDLEWARE_SERVICE()\":{\"notice\":\"Get the network middleware service's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"cumulativeSlash(bytes32,address)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork.\"},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"isBurnerHook()\":{\"notice\":\"Get if the burner is needed to be called on a slashing.\"},\"latestSlashedCaptureTimestamp(bytes32,address)\":{\"notice\":\"Get the latest capture timestamp that was slashed on a subnetwork.\"},\"slash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Perform a slash using a subnetwork for a particular operator by a given amount using hints.\"},\"slashableStake(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a slashable amount of a stake got at a given capture timestamp using hints.\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/SlasherHints.sol\":\"SlasherHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/SlasherHints.sol\":{\"keccak256\":\"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595\",\"dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/slasher/BaseSlasher.sol\":{\"keccak256\":\"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06\",\"dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF\"]},\"src/contracts/slasher/Slasher.sol\":{\"keccak256\":\"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61\",\"dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3\"]},\"src/contracts/slasher/VetoSlasher.sol\":{\"keccak256\":\"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429\",\"dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/INetworkMiddlewareService.sol\":{\"keccak256\":\"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c\",\"dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/slasher/IBurner.sol\":{\"keccak256\":\"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447\",\"dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW\"]},\"src/interfaces/slasher/ISlasher.sol\":{\"keccak256\":\"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1\",\"dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ\"]},\"src/interfaces/slasher/IVetoSlasher.sol\":{\"keccak256\":\"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508\",\"dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseSlasherHints","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientBurnerGas"},{"inputs":[],"type":"error","name":"InsufficientSlash"},{"inputs":[],"type":"error","name":"InvalidCaptureTimestamp"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NoBurner"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetworkMiddleware"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"slashedAmount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","indexed":false}],"type":"event","name":"Slash","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_SLASHER_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"cumulativeSlash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"cumulativeSlashAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isBurnerHook","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"latestSlashedCaptureTimestamp","outputs":[{"internalType":"uint48","name":"value","type":"uint48"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"slash","outputs":[{"internalType":"uint256","name":"slashedAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"slashHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"slashableStake","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"cumulativeSlash(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"cumulative slash amount"}},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the cumulative slash amount until (inclusively)"},"returns":{"_0":"cumulative slash amount until the given timestamp (inclusively)"}},"initialize(bytes)":{"params":{"data":"some data to use"}},"slash(bytes32,address,uint256,uint48,bytes)":{"details":"Only a network middleware can call this function.","params":{"amount":"maximum amount of the collateral to be slashed","captureTimestamp":"time point when the stake was captured","hints":"hints for checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"slashedAmount":"virtual amount of the collateral slashed"}},"slashableStake(bytes32,address,uint48,bytes)":{"params":{"captureTimestamp":"time point to get the stake amount at","hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"amount":"slashable amount of the stake"}},"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"}}},"version":1},"userdoc":{"kind":"user","methods":{"BURNER_GAS_LIMIT()":{"notice":"Get a gas limit for the burner."},"BURNER_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the burner's execution."},"FACTORY()":{"notice":"Get the factory's address."},"NETWORK_MIDDLEWARE_SERVICE()":{"notice":"Get the network middleware service's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"cumulativeSlash(bytes32,address)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork."},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"isBurnerHook()":{"notice":"Get if the burner is needed to be called on a slashing."},"latestSlashedCaptureTimestamp(bytes32,address)":{"notice":"Get the latest capture timestamp that was slashed on a subnetwork."},"slash(bytes32,address,uint256,uint48,bytes)":{"notice":"Perform a slash using a subnetwork for a particular operator by a given amount using hints."},"slashableStake(bytes32,address,uint48,bytes)":{"notice":"Get a slashable amount of a stake got at a given capture timestamp using hints."},"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)."},"vault()":{"notice":"Get the vault's address."}},"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/hints/SlasherHints.sol":"SlasherHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/SlasherHints.sol":{"keccak256":"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f","urls":["bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595","dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/slasher/BaseSlasher.sol":{"keccak256":"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6","urls":["bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06","dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF"],"license":"BUSL-1.1"},"src/contracts/slasher/Slasher.sol":{"keccak256":"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f","urls":["bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61","dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3"],"license":"BUSL-1.1"},"src/contracts/slasher/VetoSlasher.sol":{"keccak256":"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897","urls":["bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429","dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/INetworkMiddlewareService.sol":{"keccak256":"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783","urls":["bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c","dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/slasher/IBurner.sol":{"keccak256":"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b","urls":["bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447","dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW"],"license":"MIT"},"src/interfaces/slasher/ISlasher.sol":{"keccak256":"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625","urls":["bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1","dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ"],"license":"MIT"},"src/interfaces/slasher/IVetoSlasher.sol":{"keccak256":"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9","urls":["bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508","dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":97} \ No newline at end of file diff --git a/out/SlasherHints.sol/VetoSlasherHints.json b/out/SlasherHints.sol/VetoSlasherHints.json index 71116b4..7eb0508 100644 --- a/out/SlasherHints.sol/VetoSlasherHints.json +++ b/out/SlasherHints.sol/VetoSlasherHints.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"baseSlasherHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_SLASHER_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"BURNER_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BURNER_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlashAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"executeSlash","inputs":[{"name":"slashIndex","type":"uint256","internalType":"uint256"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"slashedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"executeSlashHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isBurnerHook","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"latestSlashedCaptureTimestamp","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"requestSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"slashIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"requestSlashHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"resolver","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"resolverAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"resolverHint","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"resolverHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"resolverSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setResolver","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"resolver_","type":"address","internalType":"address"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setResolverHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"slashRequests","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"vetoDeadline","type":"uint48","internalType":"uint48"},{"name":"completed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"slashRequestsLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"slashableStake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"vetoDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"vetoSlash","inputs":[{"name":"slashIndex","type":"uint256","internalType":"uint256"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"vetoSlashHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"event","name":"ExecuteSlash","inputs":[{"name":"slashIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"slashedAmount","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":"RequestSlash","inputs":[{"name":"slashIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"slashAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"vetoDeadline","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"SetResolver","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"resolver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VetoSlash","inputs":[{"name":"slashIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"resolver","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientBurnerGas","inputs":[]},{"type":"error","name":"InsufficientSlash","inputs":[]},{"type":"error","name":"InvalidCaptureTimestamp","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidResolverSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidVetoDuration","inputs":[]},{"type":"error","name":"NoBurner","inputs":[]},{"type":"error","name":"NoResolver","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotNetworkMiddleware","inputs":[]},{"type":"error","name":"NotResolver","inputs":[]},{"type":"error","name":"NotVault","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":"SlashPeriodEnded","inputs":[]},{"type":"error","name":"SlashRequestCompleted","inputs":[]},{"type":"error","name":"SlashRequestNotExist","inputs":[]},{"type":"error","name":"VetoPeriodEnded","inputs":[]},{"type":"error","name":"VetoPeriodNotEnded","inputs":[]}],"bytecode":{"object":"0x6101603461017c576001600160401b0390601f61370238819003918201601f1916830191848311848410176101805780849260209460405283398101031261017c5751906001600160a01b038216820361017c57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661016a578080831603610125575b835f60a0525f60c0525f60e052610100905f8252610120905f82526101409081526040519161356d9384610195853960805184610b68015260a0518461047b015260c05184818161158e0152612c56015260e0518481816102e801526122c2015251838181610437015261244c015251828181610c7a01526115e40152518181816108060152818161191c0152611d110152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b60405163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80622a087514610213578063103f29071461020e5780631a2be2c4146102095780631dd5f60014610204578063267de1f3146101ff5780632964f8dc146101fa5780632c9d45b3146101f55780632dd31000146101f057806331ce4dfe146101eb57806334d098ea146101e6578063439fab91146101e1578063457821b7146101dc5780635264679b146101d7578063545ce389146101d257806369f78920146101cd5780638f42f9ab146101c85780638f82f931146101c35780639168f9d2146101be5780639a896551146101b95780639f86fd85146101b4578063a4ef9b4f146101af578063aa8e6489146101aa578063aab3595f146101a5578063b94c386e146101a0578063bb24fe8a1461019b578063bc6eac5b14610196578063c0cd7c3e14610191578063cd05b8a11461018c578063d5c24e1a14610187578063e054e08b14610182578063f9268d181461017d5763fbfa77cf14610178575f80fd5b61181b565b6116ad565b611688565b61166b565b611613565b6115cf565b6115b2565b61156f565b61121d565b6111c5565b611187565b611124565b611090565b611005565b610bda565b610b49565b610b2c565b610ae7565b61084f565b610835565b6107f1565b6106b9565b610668565b6105ff565b610466565b610422565b610406565b6103b1565b610397565b610317565b6102d3565b610261565b6001600160a01b0381160361022957565b5f80fd5b65ffffffffffff81160361022957565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102295760c0366003190112610229576102c56102b160043561028481610218565b61028f602435610218565b60643561029b81610218565b60a435916102a88361022d565b604435906118d1565b60405191829160208352602083019061023d565b0390f35b5f91031261022957565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022957604036600319011261022957602061036361035e60243561033c81610218565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6120da565b604051908152f35b60609060031901126102295760043561038381610218565b90602435906044356103948161022d565b90565b34610229576102c56102b16103ab3661036b565b916119a8565b3461022957604036600319011261022957602065ffffffffffff6103fc6024356103da81610218565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610229575f366003190112610229576020604051614e208152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176104d957604052565b6104aa565b604081019081106001600160401b038211176104d957604052565b606081019081106001600160401b038211176104d957604052565b6001600160401b0381116104d957604052565b608081019081106001600160401b038211176104d957604052565b90601f801991011681019081106001600160401b038211176104d957604052565b6040519060c082018281106001600160401b038211176104d957604052565b6040519061058f826104f9565b565b6040519061058f826104de565b6001600160401b0381116104d957601f01601f191660200190565b81601f82011215610229578035906105d08261059e565b926105de6040519485610542565b8284526020838301011161022957815f926020809301838601378301015290565b346102295760603660031901126102295760243561061c8161022d565b604435906001600160401b0382116102295761065f61064160209336906004016105b9565b6004355f90815260068552604090206001600160a01b039390612152565b16604051908152f35b34610229575f36600319011261022957602060ff5f5460a01c166040519015158152f35b9181601f84011215610229578235916001600160401b038311610229576020838186019501011161022957565b34610229576020366003190112610229576001600160401b03600435818111610229576106ea90369060040161068c565b5f80516020613518833981519152549260ff8460401c16159316801590816107e9575b60011490816107df575b1590816107d6575b506107c4575f80516020613518833981519152805467ffffffffffffffff1916600117905561075291836107a05761228b565b61075857005b5f80516020613518833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020613518833981519152805460ff60401b1916600160401b17905561228b565b60405163f92ee8a960e01b8152600490fd5b9050155f61071f565b303b159150610717565b84915061070d565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576102c56102b16108493661036b565b91611a2c565b346102295760a0366003190112610229576024356004803561087083610218565b604435926064356108808161022d565b6084356001600160401b0381116102295761089e903690860161068c565b94906108a86123f5565b6108b185612424565b6108b9611abe565b9580610ad1575b50506108cb426125f5565b906108e66108df825465ffffffffffff1690565b8093611b1f565b5f5490969061090b906108ff906001600160a01b031681565b6001600160a01b031690565b968260206040998a51928380926327f843b560e11b82525afa8015610acc5761094a9261093f925f92610a9b575b50611a14565b65ffffffffffff1690565b65ffffffffffff8516908110908115610a85575b50610a765761097090518486886127d0565b5096878082109118028088189714610a68576102c5610a41878988887f3cb7f4ff6cecf74cee0eb9ae3ebf8933fa60a53014cce52f96da72a78dba8464896109c08a6109bb426125f5565b611b1f565b92600354978894610a116109d2610563565b8881526001600160a01b0385166020820152808b018a905265ffffffffffff8616606082015265ffffffffffff831660808201525f60a0820152611b61565b885197885265ffffffffffff938416602089015290921660408701526001600160a01b0316949081906060820190565b0390a4610a5a60015f805160206134f883398151915255565b519081529081906020820190565b855163167f871760e31b8152fd5b508551631357ac9160e11b8152fd5b9050610a9361093f426125f5565b11155f61095e565b610abe91925060203d602011610ac5575b610ab68183610542565b810190611b39565b905f610939565b503d610aac565b6118ad565b610adf929650810190611ad1565b935f806108c0565b34610229576080366003190112610229576102c56102b1600435610b0a81610218565b604435610b1681610218565b60643591610b238361022d565b60243590611c97565b34610229575f366003190112610229576020600354604051908152f35b3461022957604036600319011261022957602435610b668161022d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610bc85763ffffffff610bb36040926004355f526006602052835f206124df565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102295760603660031901126102295760048035906bffffffffffffffffffffffff8216820361022957602435610c1181610218565b6044356001600160401b03811161022957610c2f903690840161068c565b90610c386123f5565b610c40611abe565b5081610fa0575b5050604080516302910f8b60e31b8152338185019081526001600160a01b0395929491602091829082908190830103818a7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610acc575f91610f73575b5015610f64575f54610ce5906001600160a01b0316936bffffffffffffffffffffffff166bffffffffffffffffffffffff193360601b161790565b95610d00610cfb885f52600660205260405f2090565b613223565b50949015610efa57610d1461093f426125f5565b65ffffffffffff9586161115610ec457610d3e610d39895f52600660205260405f2090565b6125b6565b505b610d636108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b612e74565b91808716928303610dcf575b505050505050610db4907f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b7570925b516001600160a01b0390911681529081906020820190565b0390a2610dcd60015f805160206134f883398151915255565b005b610de68998959796985f52600660205260405f2090565b911692845163186a323160e21b815281818981885afa908115610acc575f91610ea7575b5081600554958751998a80926327f843b560e11b82525afa908115610acc5789610e6f610e81977f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b75709c610e7695610db49d610e7b985f92610e8a575b50501690611de6565b9116611e07565b6125f5565b9061341a565b82958495610d6f565b610ea09250803d10610ac557610ab68183610542565b5f80610e66565b610ebe9150823d8411610ac557610ab68183610542565b5f610e0a565b610ee26108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b82871603610d4057865163a741a04560e01b81528490fd5b5093949385169250508115610f56575091610db491610f4f7f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b757094610f46875f52600660205260405f2090565b610e7b426125f5565b5050610d9c565b825163a741a04560e01b8152fd5b5083516323d53b9760e21b8152fd5b610f939150823d8411610f99575b610f8b8183610542565b810190611dd2565b5f610caa565b503d610f81565b610fac91810190611ad1565b505f80610c47565b634e487b7160e01b5f52603260045260245ffd5b6003548110156110005760035f5260021b7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01905f90565b610fb4565b34610229576020366003190112610229576004356003548110156102295761102c90610fc8565b50805460018201546002830154600390930154604080519384526001600160a01b0390921660208401529082019290925265ffffffffffff808316606080840191909152603084901c90911660808301529190911c60ff16151560a082015260c090f35b34610229576040366003190112610229576004356110ad81610218565b6024356001600160401b038111610229575f916110cf8392369060040161068c565b90816040519283928337810184815203915af461111c6110ed611e14565b9161110e60405193849215156020840152604080840152606083019061023d565b03601f198101835282610542565b805190602001fd5b34610229576102c56102b16111383661036b565b91611e75565b906080600319830112610229576004359160243561115b81610218565b916044356111688161022d565b91606435906001600160401b03821161022957610394916004016105b9565b346102295760206103636111c061119d3661113e565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b61265b565b346102295760206111e16111d83661113e565b929190916127d0565b50604051908152f35b9060406003198301126102295760043591602435906001600160401b038211610229576112199160040161068c565b9091565b346102295761122b366111ea565b91906112356123f5565b61123d611f9a565b9280611559575b50506003548110156115475761125981610fc8565b509081549061126782612424565b6003830180549365ffffffffffff9384861660018060a01b0361128c895183856119bf565b1615158061151c575b80611503575b6114f1576112b1816112ac426125f5565b611a14565b5f546112c7906108ff906001600160a01b031681565b96600460206040998a51928380926327f843b560e11b82525afa8015610acc5782915f916114d2575b50169116116114c157600183018054909861131b93929188906001600160a01b0316910151926127d0565b90611330816002850154818082109118021890565b9687156114b05760601c60ff1661149f579261145861144b89946114236114108b9687876102c59f61141e8f9d8f9e61145e9f61137a86600160601b60ff60601b19825416179055565b8a54855461139c91906001600160a01b0316885465ffffffffffff1691612a06565b8a5485546113b59189916001600160a01b031690612a86565b8a5494546113d3906001600160a01b0316965465ffffffffffff1690565b976113dc610582565b9384526020840152818301525196879160208301919091604080606083019480518452602081015160208501520151910152565b03601f198101875286610542565b612bf2565b61143c611436855465ffffffffffff1690565b86612cfb565b5494546001600160a01b031690565b915465ffffffffffff1690565b92612d78565b81518381527f5cc28df3b54da9d06f805d87616ebf969c81310f2aa8369cb14ca50f815d411190602090a2610a5a60015f805160206134f883398151915255565b8551633428e90760e01b8152600490fd5b865163167f871760e31b8152600490fd5b8551639ea153eb60e01b8152600490fd5b6114eb915060203d602011610ac557610ab68183610542565b5f6112f0565b60405163b62b15c760e01b8152600490fd5b5061151061093f426125f5565b868860301c161161129b565b506115406108ff61153461152f426125f5565b6119f8565b60208b015190856119bf565b1515611295565b604051637822972360e11b8152600490fd5b611567929350810190611fb9565b905f80611244565b34610229575f3660031901126102295760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610229575f366003190112610229576020600554604051908152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576040366003190112610229576024356001600160401b0381116102295761165961164860209236906004016105b9565b611651426125f5565b6004356119bf565b6040516001600160a01b039091168152f35b34610229575f366003190112610229576020604051620249f08152f35b34610229575f36600319011261022957602065ffffffffffff60045416604051908152f35b34610229576116bb366111ea565b906116c46123f5565b6116cc612041565b9180611807575b5050600354821015611547576116e882610fc8565b506003815491019182549165ffffffffffff9160018060a01b036117108251858716856119bf565b169182159182156117de575b50506117cc5733036117ba5761173461093f426125f5565b908260301c1611156117a95760601c60ff1661179757805460ff60601b1916600160601b17905533907f7d3d269c851b72257a5194a401d151902e9be4347d555996dcff3ff86a077e925f80a3610dcd60015f805160206134f883398151915255565b604051633428e90760e01b8152600490fd5b60405162c457e560e81b8152600490fd5b604051635d154fe160e11b8152600490fd5b60405163dd1ebd9d60e01b8152600490fd5b6117ff9250906108ff9160206117f661152f426125f5565b910151916119bf565b155f8061171c565b611814925081019061205a565b5f806116d3565b34610229575f366003190112610229575f546040516001600160a01b039091168152602090f35b81601f82011215610229578051906118598261059e565b926118676040519485610542565b8284526020838301011161022957815f9260208093018386015e8301015290565b906020828203126102295781516001600160401b038111610229576103949201611842565b6040513d5f823e3d90fd5b604061039492602083525191602080820152019061023d565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252909116604482015265ffffffffffff9091166064820152606091905f81806084810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610acc575f91611986575b50805161195e5750565b61110e9192506103949060405190611975826104be565b8152604051928391602083016118b8565b6119a291503d805f833e61199a8183610542565b810190611888565b5f611954565b92916119b691606094611e75565b805161195e5750565b5f9081526006602052604090206001600160a01b03926119e0929091612152565b1690565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9081165f190191908211611a0f57565b6119e4565b65ffffffffffff9182169082160391908211611a0f57565b611a4d90939293611a406060958483611e75565b9261113861152f426125f5565b815115801590611ab4575b611a60575050565b611aa19293509061110e6103949260405192611a7b846104de565b83526020830190815260405194859360208086015251604080860152608085019061023d565b9051838203603f1901606085015261023d565b5080511515611a58565b60405190611acb826104be565b60608252565b906020828203126102295781356001600160401b03928382116102295701906020828203126102295760405192611b07846104be565b823590811161022957611b1a92016105b9565b815290565b91909165ffffffffffff80809416911601918211611a0f57565b9081602091031261022957516103948161022d565b634e487b7160e01b5f525f60045260245ffd5b600354600160401b8110156104d957806001611b809201600355610fc8565b919091611c43578051825560208101516001830180546001600160a01b0319166001600160a01b039290921691909117905561058f91611c299060a090600390604085015160028201550192611bf665ffffffffffff606083015116859065ffffffffffff1665ffffffffffff19825416179055565b60808101516bffffffffffff00000000000085549160301b16906bffffffffffff00000000000019161784550151151590565b815460ff60601b191690151560601b60ff60601b16179055565b611b4e565b906103949160208152611c67825160606020840152608083019061023d565b9060606040611c87602086015194601f199586868303018487015261023d565b940151928285030191015261023d565b919093925f606095611caa838287611e75565b94611d0d611cc4611cbd61152f426125f5565b8484611e75565b604051632751749360e11b81526001600160a01b039384166004820152602481019490945291909516604483015265ffffffffffff909316606482015292839081906084820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610acc575f92611da9575b50825115801590611d9f575b8015611d95575b611d6557505050565b61110e939450906103949291611d79610582565b9283526020830152604082015260405192839160208301611c48565b5081511515611d5c565b5080511515611d55565b611dbe9192503d805f833e61199a8183610542565b905f611d49565b5190811515820361022957565b908160209103126102295761039490611dc5565b81810292918115918404141715611a0f57565b9060018201809211611a0f57565b91908201809211611a0f57565b3d15611e3e573d90611e258261059e565b91611e336040519384610542565b82523d5f602084013e565b606090565b519063ffffffff8216820361022957565b9190826040910312610229576103946020611e6e84611dc5565b9301611e43565b92915f8060609565ffffffffffff60405194602096638f82f93160e01b88880152602487015216604485015260448452611eae84610527565b6040519384611edb87820192639f86fd8560e01b845230602484015260406044840152606483019061023d565b0394611eef601f1996878101835282610542565b51915afa50611f0d611eff611e14565b838082518301019101612627565b9015611f6057808380611f2593518301019101611e54565b9290611f3057505050565b61039492939450611f54604051948592830191909163ffffffff6020820193169052565b03908101835282610542565b809150519182156102295701fd5b5f9081526002602090815260408083206001600160a01b0390941683529290522061039492919061265b565b60405190611fa7826104f9565b60606040838281528260208201520152565b906020828203126102295781356001600160401b03928382116102295701906060828203126102295760405192611fef846104f9565b823581811161022957826120049185016105b9565b84526020830135818111610229578261201e9185016105b9565b602085015260408301359081116102295761203992016105b9565b604082015290565b6040519061204e826104de565b60606020838281520152565b906020828203126102295781356001600160401b03928382116102295701906040828203126102295760405192612090846104de565b823581811161022957826120a59185016105b9565b84526020830135908111610229576120bd92016105b9565b602082015290565b8054821015611000575f5260205f2001905f90565b6120e381612e74565b6001600160d01b038116156121085760016120fe92016120c5565b90549060031b1c90565b50505f90565b908160209103126102295761039490611e43565b5f19810191908211611a0f57565b91908203918211611a0f57565b90600163ffffffff80931601918211611a0f57565b91805115612236578060208061216d9351830101910161210e565b916121788382612eb4565b92612189845165ffffffffffff1690565b9065ffffffffffff808516921682811461221d57821191826121c8575b50506121b6576103949250613319565b5050602001516001600160d01b031690565b9091506121d58354612122565b63ffffffff8316149182156121ee575b50505f806121a6565b61221591925061220961220361093f9261213d565b85612eb4565b5165ffffffffffff1690565b115f806121e5565b50505050602091909101516001600160d01b0316905090565b5061039491613319565b91909160408184031261022957803561225881610218565b9260208201356001600160401b0381116102295761039492016105b9565b90816020910312610229575161039481610218565b61229791810190612240565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610acc575f916123d8575b50156123c65781612328600492612308612f08565b5f80546001600160a01b0319166001600160a01b03891617905586612f95565b94604051928380926313c085b760e11b82525afa918215610acc575f92612399575b505016158061238f575b61237d575161058f9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515612354565b6123b89250803d106123bf575b6123b08183610542565b810190612276565b5f8061234a565b503d6123a6565b6040516362df054560e01b8152600490fd5b6123ef9150833d8511610f9957610f8b8183610542565b5f6122f3565b5f805160206134f883398151915260028154146124125760029055565b604051633ee5aeb560e01b8152600490fd5b604051635daf681960e11b815260609190911c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa918215610acc575f9261249a575b503391160361248857565b60405163227bf64d60e01b8152600490fd5b6124b491925060203d6020116123bf576123b08183610542565b905f61247d565b906040516124c8816104de565b915465ffffffffffff8116835260301c6020830152565b908154905f829160058411612568575b6124fa9350846131c1565b90811561255c5761251b9061250e83612122565b905f5260205f20016124bb565b9161255561254c6125466020612537875165ffffffffffff1690565b9601516001600160d01b031690565b93612122565b63ffffffff1690565b6001939291565b50505f905f905f905f90565b919261257381613096565b8103908111611a0f576124fa93855f5265ffffffffffff808360205f20015416908516105f146125a45750916124ef565b9291506125b090611df9565b906124ef565b906125c082612e74565b91805480156125e1575f1901906125d782826120c5565b611c43575f905555565b634e487b7160e01b5f52603160045260245ffd5b65ffffffffffff90818111612608571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b9190916040818403126102295761263d81611dc5565b9260208201516001600160401b038111610229576103949201611842565b9180511561271d57806020806126769351830101910161210e565b916126818382613267565b92612692845165ffffffffffff1690565b9065ffffffffffff808516921682811461271157821191826126c8575b50506126bf57610394925061325c565b50506020015190565b9091506126d58354612122565b63ffffffff8316149182156126ee575b50505f806126af565b61270991925061220961270361093f9261213d565b85613267565b115f806126e5565b50505050506020015190565b506103949161325c565b906020828203126102295781516001600160401b0392838211610229570190604082820312610229576040519261275d846104de565b82518181116102295782612772918501611842565b84526020830151908111610229576120bd9201611842565b90816020910312610229575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526103949291019061023d565b926127d9612041565b908051806129ec575b50506127ed426125f5565b5f54909490612806906108ff906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa8015610acc5761283a9261093f925f926129d45750611a14565b65ffffffffffff82169081109081156129bd575b811561298c575b50612980578560049560405196878092630ce9b79360e41b82525afa948515610acc576128a79587915f91612963575b50845190604051808099819463e02f693760e01b8352878b8a60048601612799565b03916001600160a01b03165afa938415610acc5761291f955f95612922575b509261290e85936129149361290e96869a61290561035e836128f0875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192611f6e565b90612130565b818082109118021890565b91565b61291492955061290e94919361295061290e928a3d8c1161295c575b6129488183610542565b81019061278a565b969350939194506128c6565b503d61293e565b61297a9150823d84116123bf576123b08183610542565b5f612885565b5050505050505f905f90565b90506129b661093f6129aa876128f0875f52600160205260405f2090565b5465ffffffffffff1690565b115f612855565b90506129cb61093f426125f5565b8110159061284e565b610abe9192508a3d8c11610ac557610ab68183610542565b6129ff9250602080918301019101612727565b5f806127e2565b919091805f52600160205265ffffffffffff80612a368560405f209060018060a01b03165f5260205260405f2090565b541690831611612a4557505050565b61058f92612a6d915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9190825f526002602052612ade61035e612ab38360405f209060018060a01b03165f5260205260405f2090565b92612abd426125f5565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211611a0f576001810190815415612b82575b612afe81613223565b509490835495612b0d846120da565b5081612b6d575b5015612b4c5750505f198301928311611a0f5761058f92612b34916120c5565b90919082549060031b91821b915f19901b1916179055565b61058f94612b66926001600160d01b03909116919061341a565b50506132f6565b65ffffffffffff83811691161490505f612b14565b612b8b826132c9565b612af5565b60606020610394938184526001600160401b0381511682850152015191604080820152019061023d565b919360a093610394969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061023d565b92939060046020612c0f6108ff6108ff5f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa908115610acc5761110e91612c8d915f91612cdc575b506001600160a01b031693612c4c610591565b6001600160401b037f000000000000000000000000000000000000000000000000000000000000000016815290602082015260405192839160208301612b90565b823b15610229575f94612cb886926040519889978896879563724ab0f760e11b875260048701612bba565b03925af18015610acc57612cc95750565b80612cd661058f92610514565b806102c9565b612cf5915060203d6020116123bf576123b08183610542565b5f612c39565b65ffffffffffff9160446020925f60018060a01b038154166040519687958694631c9e38c760e21b865260048601521660248401525af18015610acc57612d3f5750565b612d579060203d60201161295c576129488183610542565b50565b8115612d64570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c16612d90575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa918215610acc575f92612e4d575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff9091166084830152612e1a8260a481015b03601f198101845283610542565b6202a15c5a10612e3b575f928380935192620249f0f1505f80808080612d89565b604051632153f33560e21b8152600490fd5b612e1a9250612e6d612e0c9160203d6020116123bf576123b08183610542565b9250612dc1565b805480612e815750505f90565b5f19918183810111611a0f575f5260205f2001015460301c90565b60405190612ea9826104de565b5f6020838281520152565b612ed991612ed391612ec4612e9c565b50612ecd612e9c565b506120c5565b506124bb565b65ffffffffffff81511690602060018060d01b039101511660405191612efe836104de565b8252602082015290565b612f106133a5565b612f186133a5565b60015f805160206134f883398151915255565b60405190612f38826104be565b5f8252565b809103906060821261022957602060405192612f58846104f9565b12610229576040908151612f6b816104be565b612f7482611dc5565b815283526020810151612f868161022d565b60208401520151604082015290565b90600490612fa1612f2b565b508051612fb8602092838080948301019101612f3d565b6040516327f843b560e11b815290949093849182906001600160a01b03165afa918215610acc575f92613077575b50820190612ffa825165ffffffffffff1690565b65ffffffffffff91821691161015613065576040820160038151106130535761304961302f61304f935165ffffffffffff1690565b65ffffffffffff1665ffffffffffff196004541617600455565b51600555565b5190565b6040516354f778f360e01b8152600490fd5b6040516367d5e3df60e11b8152600490fd5b8161308f9293503d8411610ac557610ab68183610542565b905f612fe6565b600181111561039457600181600160801b8110156131af575b61315761314d61314361313961312f61312561316397600488600160401b61315e9a10156131a2575b640100000000811015613195575b62010000811015613188575b61010081101561317c575b6010811015613170575b1015613168575b60030260011c61311e818b612d5a565b0160011c90565b61311e818a612d5a565b61311e8189612d5a565b61311e8188612d5a565b61311e8187612d5a565b61311e8186612d5a565b8093612d5a565b821190565b900390565b60011b61310e565b811c9160021b91613107565b60081c91811b916130fd565b60101c9160081b916130f2565b60201c9160101b916130e6565b60401c9160201b916130d8565b50600160401b9050608082901c6130af565b91905b8382106131d15750505090565b909192808316906001818518811c8301809311611a0f57855f5265ffffffffffff808460205f20015416908516105f14613210575050925b91906131c4565b909493508101809111611a0f5791613209565b8054806132345750505f905f905f90565b5f19918183810111611a0f575f5260205f2001015460019165ffffffffffff82169160301c90565b906120e39082613319565b9061328a612ed36132ab9261327a612e9c565b50613283612e9c565b50846120c5565b91600165ffffffffffff845116936020828060d01b039101511691016120c5565b905490604051926132bb846104de565b835260031b1c602082015290565b8054600160401b8110156104d9576132e6916001820181556120c5565b8154905f199060031b1b19169055565b90815491600160401b8310156104d95782612b3491600161058f950181556120c5565b908154905f829160058411613357575b6133349350846131c1565b8061333f5750505f90565b61334890612122565b905f5260205f20015460301c90565b919261336281613096565b8103908111611a0f5761333493855f5265ffffffffffff808360205f20015416908516105f14613393575091613329565b92915061339f90611df9565b90613329565b60ff5f805160206135188339815191525460401c16156133c157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156104d9576133f0916001820181556120c5565b611c4357815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b805492939280156134cd5761343161343c91612122565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116134bb57879303613482575061347b92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506134b6916134a2613494610591565b65ffffffffffff9093168352565b6001600160d01b03861660208301526133d3565b61347b565b604051632520601d60e01b8152600490fd5b50906134f2916134de613494610591565b6001600160d01b03851660208301526133d3565b5f919056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122083c9d2c27050cb61d0026c4a120151139ad36b1ef086f66b4ca1715f04bbc28864736f6c63430008190033","sourceMap":"3563:3596:95:-:0;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;348:4:93;332:21;;8837:64:26;3563:3596:95;;;;;;;;;7896:76:26;;3563:3596:95;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:80;-1:-1:-1;525:17:80;;-1:-1:-1;552:12:80;;-1:-1:-1;2353:28:103;;2391:53;;-1:-1:-1;2391:53:103;;1620:34:105;;-1:-1:-1;1620:34:105;;3901:37:95;;;;3563:3596;;;;;;;;;332:21:93;3563:3596:95;;;;;525:17:80;3563:3596:95;;;;;552:12:80;3563:3596:95;;;;;;;;;;2353:28:103;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;3563:3596:95;;;;;;;;;;;;;8087:29:26;;3563:3596:95;;8087:29:26;7981:146;;;;;7896:76;3563:3596:95;;-1:-1:-1;;;7938:23:26;;;;;3563:3596:95;-1:-1:-1;3563:3596:95;;;;;;-1:-1:-1;3563:3596:95;;;;;-1:-1:-1;3563:3596:95","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80622a087514610213578063103f29071461020e5780631a2be2c4146102095780631dd5f60014610204578063267de1f3146101ff5780632964f8dc146101fa5780632c9d45b3146101f55780632dd31000146101f057806331ce4dfe146101eb57806334d098ea146101e6578063439fab91146101e1578063457821b7146101dc5780635264679b146101d7578063545ce389146101d257806369f78920146101cd5780638f42f9ab146101c85780638f82f931146101c35780639168f9d2146101be5780639a896551146101b95780639f86fd85146101b4578063a4ef9b4f146101af578063aa8e6489146101aa578063aab3595f146101a5578063b94c386e146101a0578063bb24fe8a1461019b578063bc6eac5b14610196578063c0cd7c3e14610191578063cd05b8a11461018c578063d5c24e1a14610187578063e054e08b14610182578063f9268d181461017d5763fbfa77cf14610178575f80fd5b61181b565b6116ad565b611688565b61166b565b611613565b6115cf565b6115b2565b61156f565b61121d565b6111c5565b611187565b611124565b611090565b611005565b610bda565b610b49565b610b2c565b610ae7565b61084f565b610835565b6107f1565b6106b9565b610668565b6105ff565b610466565b610422565b610406565b6103b1565b610397565b610317565b6102d3565b610261565b6001600160a01b0381160361022957565b5f80fd5b65ffffffffffff81160361022957565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102295760c0366003190112610229576102c56102b160043561028481610218565b61028f602435610218565b60643561029b81610218565b60a435916102a88361022d565b604435906118d1565b60405191829160208352602083019061023d565b0390f35b5f91031261022957565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022957604036600319011261022957602061036361035e60243561033c81610218565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6120da565b604051908152f35b60609060031901126102295760043561038381610218565b90602435906044356103948161022d565b90565b34610229576102c56102b16103ab3661036b565b916119a8565b3461022957604036600319011261022957602065ffffffffffff6103fc6024356103da81610218565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610229575f366003190112610229576020604051614e208152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176104d957604052565b6104aa565b604081019081106001600160401b038211176104d957604052565b606081019081106001600160401b038211176104d957604052565b6001600160401b0381116104d957604052565b608081019081106001600160401b038211176104d957604052565b90601f801991011681019081106001600160401b038211176104d957604052565b6040519060c082018281106001600160401b038211176104d957604052565b6040519061058f826104f9565b565b6040519061058f826104de565b6001600160401b0381116104d957601f01601f191660200190565b81601f82011215610229578035906105d08261059e565b926105de6040519485610542565b8284526020838301011161022957815f926020809301838601378301015290565b346102295760603660031901126102295760243561061c8161022d565b604435906001600160401b0382116102295761065f61064160209336906004016105b9565b6004355f90815260068552604090206001600160a01b039390612152565b16604051908152f35b34610229575f36600319011261022957602060ff5f5460a01c166040519015158152f35b9181601f84011215610229578235916001600160401b038311610229576020838186019501011161022957565b34610229576020366003190112610229576001600160401b03600435818111610229576106ea90369060040161068c565b5f80516020613518833981519152549260ff8460401c16159316801590816107e9575b60011490816107df575b1590816107d6575b506107c4575f80516020613518833981519152805467ffffffffffffffff1916600117905561075291836107a05761228b565b61075857005b5f80516020613518833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020613518833981519152805460ff60401b1916600160401b17905561228b565b60405163f92ee8a960e01b8152600490fd5b9050155f61071f565b303b159150610717565b84915061070d565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576102c56102b16108493661036b565b91611a2c565b346102295760a0366003190112610229576024356004803561087083610218565b604435926064356108808161022d565b6084356001600160401b0381116102295761089e903690860161068c565b94906108a86123f5565b6108b185612424565b6108b9611abe565b9580610ad1575b50506108cb426125f5565b906108e66108df825465ffffffffffff1690565b8093611b1f565b5f5490969061090b906108ff906001600160a01b031681565b6001600160a01b031690565b968260206040998a51928380926327f843b560e11b82525afa8015610acc5761094a9261093f925f92610a9b575b50611a14565b65ffffffffffff1690565b65ffffffffffff8516908110908115610a85575b50610a765761097090518486886127d0565b5096878082109118028088189714610a68576102c5610a41878988887f3cb7f4ff6cecf74cee0eb9ae3ebf8933fa60a53014cce52f96da72a78dba8464896109c08a6109bb426125f5565b611b1f565b92600354978894610a116109d2610563565b8881526001600160a01b0385166020820152808b018a905265ffffffffffff8616606082015265ffffffffffff831660808201525f60a0820152611b61565b885197885265ffffffffffff938416602089015290921660408701526001600160a01b0316949081906060820190565b0390a4610a5a60015f805160206134f883398151915255565b519081529081906020820190565b855163167f871760e31b8152fd5b508551631357ac9160e11b8152fd5b9050610a9361093f426125f5565b11155f61095e565b610abe91925060203d602011610ac5575b610ab68183610542565b810190611b39565b905f610939565b503d610aac565b6118ad565b610adf929650810190611ad1565b935f806108c0565b34610229576080366003190112610229576102c56102b1600435610b0a81610218565b604435610b1681610218565b60643591610b238361022d565b60243590611c97565b34610229575f366003190112610229576020600354604051908152f35b3461022957604036600319011261022957602435610b668161022d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610bc85763ffffffff610bb36040926004355f526006602052835f206124df565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102295760603660031901126102295760048035906bffffffffffffffffffffffff8216820361022957602435610c1181610218565b6044356001600160401b03811161022957610c2f903690840161068c565b90610c386123f5565b610c40611abe565b5081610fa0575b5050604080516302910f8b60e31b8152338185019081526001600160a01b0395929491602091829082908190830103818a7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610acc575f91610f73575b5015610f64575f54610ce5906001600160a01b0316936bffffffffffffffffffffffff166bffffffffffffffffffffffff193360601b161790565b95610d00610cfb885f52600660205260405f2090565b613223565b50949015610efa57610d1461093f426125f5565b65ffffffffffff9586161115610ec457610d3e610d39895f52600660205260405f2090565b6125b6565b505b610d636108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b612e74565b91808716928303610dcf575b505050505050610db4907f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b7570925b516001600160a01b0390911681529081906020820190565b0390a2610dcd60015f805160206134f883398151915255565b005b610de68998959796985f52600660205260405f2090565b911692845163186a323160e21b815281818981885afa908115610acc575f91610ea7575b5081600554958751998a80926327f843b560e11b82525afa908115610acc5789610e6f610e81977f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b75709c610e7695610db49d610e7b985f92610e8a575b50501690611de6565b9116611e07565b6125f5565b9061341a565b82958495610d6f565b610ea09250803d10610ac557610ab68183610542565b5f80610e66565b610ebe9150823d8411610ac557610ab68183610542565b5f610e0a565b610ee26108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b82871603610d4057865163a741a04560e01b81528490fd5b5093949385169250508115610f56575091610db491610f4f7f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b757094610f46875f52600660205260405f2090565b610e7b426125f5565b5050610d9c565b825163a741a04560e01b8152fd5b5083516323d53b9760e21b8152fd5b610f939150823d8411610f99575b610f8b8183610542565b810190611dd2565b5f610caa565b503d610f81565b610fac91810190611ad1565b505f80610c47565b634e487b7160e01b5f52603260045260245ffd5b6003548110156110005760035f5260021b7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01905f90565b610fb4565b34610229576020366003190112610229576004356003548110156102295761102c90610fc8565b50805460018201546002830154600390930154604080519384526001600160a01b0390921660208401529082019290925265ffffffffffff808316606080840191909152603084901c90911660808301529190911c60ff16151560a082015260c090f35b34610229576040366003190112610229576004356110ad81610218565b6024356001600160401b038111610229575f916110cf8392369060040161068c565b90816040519283928337810184815203915af461111c6110ed611e14565b9161110e60405193849215156020840152604080840152606083019061023d565b03601f198101835282610542565b805190602001fd5b34610229576102c56102b16111383661036b565b91611e75565b906080600319830112610229576004359160243561115b81610218565b916044356111688161022d565b91606435906001600160401b03821161022957610394916004016105b9565b346102295760206103636111c061119d3661113e565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b61265b565b346102295760206111e16111d83661113e565b929190916127d0565b50604051908152f35b9060406003198301126102295760043591602435906001600160401b038211610229576112199160040161068c565b9091565b346102295761122b366111ea565b91906112356123f5565b61123d611f9a565b9280611559575b50506003548110156115475761125981610fc8565b509081549061126782612424565b6003830180549365ffffffffffff9384861660018060a01b0361128c895183856119bf565b1615158061151c575b80611503575b6114f1576112b1816112ac426125f5565b611a14565b5f546112c7906108ff906001600160a01b031681565b96600460206040998a51928380926327f843b560e11b82525afa8015610acc5782915f916114d2575b50169116116114c157600183018054909861131b93929188906001600160a01b0316910151926127d0565b90611330816002850154818082109118021890565b9687156114b05760601c60ff1661149f579261145861144b89946114236114108b9687876102c59f61141e8f9d8f9e61145e9f61137a86600160601b60ff60601b19825416179055565b8a54855461139c91906001600160a01b0316885465ffffffffffff1691612a06565b8a5485546113b59189916001600160a01b031690612a86565b8a5494546113d3906001600160a01b0316965465ffffffffffff1690565b976113dc610582565b9384526020840152818301525196879160208301919091604080606083019480518452602081015160208501520151910152565b03601f198101875286610542565b612bf2565b61143c611436855465ffffffffffff1690565b86612cfb565b5494546001600160a01b031690565b915465ffffffffffff1690565b92612d78565b81518381527f5cc28df3b54da9d06f805d87616ebf969c81310f2aa8369cb14ca50f815d411190602090a2610a5a60015f805160206134f883398151915255565b8551633428e90760e01b8152600490fd5b865163167f871760e31b8152600490fd5b8551639ea153eb60e01b8152600490fd5b6114eb915060203d602011610ac557610ab68183610542565b5f6112f0565b60405163b62b15c760e01b8152600490fd5b5061151061093f426125f5565b868860301c161161129b565b506115406108ff61153461152f426125f5565b6119f8565b60208b015190856119bf565b1515611295565b604051637822972360e11b8152600490fd5b611567929350810190611fb9565b905f80611244565b34610229575f3660031901126102295760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610229575f366003190112610229576020600554604051908152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576040366003190112610229576024356001600160401b0381116102295761165961164860209236906004016105b9565b611651426125f5565b6004356119bf565b6040516001600160a01b039091168152f35b34610229575f366003190112610229576020604051620249f08152f35b34610229575f36600319011261022957602065ffffffffffff60045416604051908152f35b34610229576116bb366111ea565b906116c46123f5565b6116cc612041565b9180611807575b5050600354821015611547576116e882610fc8565b506003815491019182549165ffffffffffff9160018060a01b036117108251858716856119bf565b169182159182156117de575b50506117cc5733036117ba5761173461093f426125f5565b908260301c1611156117a95760601c60ff1661179757805460ff60601b1916600160601b17905533907f7d3d269c851b72257a5194a401d151902e9be4347d555996dcff3ff86a077e925f80a3610dcd60015f805160206134f883398151915255565b604051633428e90760e01b8152600490fd5b60405162c457e560e81b8152600490fd5b604051635d154fe160e11b8152600490fd5b60405163dd1ebd9d60e01b8152600490fd5b6117ff9250906108ff9160206117f661152f426125f5565b910151916119bf565b155f8061171c565b611814925081019061205a565b5f806116d3565b34610229575f366003190112610229575f546040516001600160a01b039091168152602090f35b81601f82011215610229578051906118598261059e565b926118676040519485610542565b8284526020838301011161022957815f9260208093018386015e8301015290565b906020828203126102295781516001600160401b038111610229576103949201611842565b6040513d5f823e3d90fd5b604061039492602083525191602080820152019061023d565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252909116604482015265ffffffffffff9091166064820152606091905f81806084810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610acc575f91611986575b50805161195e5750565b61110e9192506103949060405190611975826104be565b8152604051928391602083016118b8565b6119a291503d805f833e61199a8183610542565b810190611888565b5f611954565b92916119b691606094611e75565b805161195e5750565b5f9081526006602052604090206001600160a01b03926119e0929091612152565b1690565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9081165f190191908211611a0f57565b6119e4565b65ffffffffffff9182169082160391908211611a0f57565b611a4d90939293611a406060958483611e75565b9261113861152f426125f5565b815115801590611ab4575b611a60575050565b611aa19293509061110e6103949260405192611a7b846104de565b83526020830190815260405194859360208086015251604080860152608085019061023d565b9051838203603f1901606085015261023d565b5080511515611a58565b60405190611acb826104be565b60608252565b906020828203126102295781356001600160401b03928382116102295701906020828203126102295760405192611b07846104be565b823590811161022957611b1a92016105b9565b815290565b91909165ffffffffffff80809416911601918211611a0f57565b9081602091031261022957516103948161022d565b634e487b7160e01b5f525f60045260245ffd5b600354600160401b8110156104d957806001611b809201600355610fc8565b919091611c43578051825560208101516001830180546001600160a01b0319166001600160a01b039290921691909117905561058f91611c299060a090600390604085015160028201550192611bf665ffffffffffff606083015116859065ffffffffffff1665ffffffffffff19825416179055565b60808101516bffffffffffff00000000000085549160301b16906bffffffffffff00000000000019161784550151151590565b815460ff60601b191690151560601b60ff60601b16179055565b611b4e565b906103949160208152611c67825160606020840152608083019061023d565b9060606040611c87602086015194601f199586868303018487015261023d565b940151928285030191015261023d565b919093925f606095611caa838287611e75565b94611d0d611cc4611cbd61152f426125f5565b8484611e75565b604051632751749360e11b81526001600160a01b039384166004820152602481019490945291909516604483015265ffffffffffff909316606482015292839081906084820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610acc575f92611da9575b50825115801590611d9f575b8015611d95575b611d6557505050565b61110e939450906103949291611d79610582565b9283526020830152604082015260405192839160208301611c48565b5081511515611d5c565b5080511515611d55565b611dbe9192503d805f833e61199a8183610542565b905f611d49565b5190811515820361022957565b908160209103126102295761039490611dc5565b81810292918115918404141715611a0f57565b9060018201809211611a0f57565b91908201809211611a0f57565b3d15611e3e573d90611e258261059e565b91611e336040519384610542565b82523d5f602084013e565b606090565b519063ffffffff8216820361022957565b9190826040910312610229576103946020611e6e84611dc5565b9301611e43565b92915f8060609565ffffffffffff60405194602096638f82f93160e01b88880152602487015216604485015260448452611eae84610527565b6040519384611edb87820192639f86fd8560e01b845230602484015260406044840152606483019061023d565b0394611eef601f1996878101835282610542565b51915afa50611f0d611eff611e14565b838082518301019101612627565b9015611f6057808380611f2593518301019101611e54565b9290611f3057505050565b61039492939450611f54604051948592830191909163ffffffff6020820193169052565b03908101835282610542565b809150519182156102295701fd5b5f9081526002602090815260408083206001600160a01b0390941683529290522061039492919061265b565b60405190611fa7826104f9565b60606040838281528260208201520152565b906020828203126102295781356001600160401b03928382116102295701906060828203126102295760405192611fef846104f9565b823581811161022957826120049185016105b9565b84526020830135818111610229578261201e9185016105b9565b602085015260408301359081116102295761203992016105b9565b604082015290565b6040519061204e826104de565b60606020838281520152565b906020828203126102295781356001600160401b03928382116102295701906040828203126102295760405192612090846104de565b823581811161022957826120a59185016105b9565b84526020830135908111610229576120bd92016105b9565b602082015290565b8054821015611000575f5260205f2001905f90565b6120e381612e74565b6001600160d01b038116156121085760016120fe92016120c5565b90549060031b1c90565b50505f90565b908160209103126102295761039490611e43565b5f19810191908211611a0f57565b91908203918211611a0f57565b90600163ffffffff80931601918211611a0f57565b91805115612236578060208061216d9351830101910161210e565b916121788382612eb4565b92612189845165ffffffffffff1690565b9065ffffffffffff808516921682811461221d57821191826121c8575b50506121b6576103949250613319565b5050602001516001600160d01b031690565b9091506121d58354612122565b63ffffffff8316149182156121ee575b50505f806121a6565b61221591925061220961220361093f9261213d565b85612eb4565b5165ffffffffffff1690565b115f806121e5565b50505050602091909101516001600160d01b0316905090565b5061039491613319565b91909160408184031261022957803561225881610218565b9260208201356001600160401b0381116102295761039492016105b9565b90816020910312610229575161039481610218565b61229791810190612240565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610acc575f916123d8575b50156123c65781612328600492612308612f08565b5f80546001600160a01b0319166001600160a01b03891617905586612f95565b94604051928380926313c085b760e11b82525afa918215610acc575f92612399575b505016158061238f575b61237d575161058f9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515612354565b6123b89250803d106123bf575b6123b08183610542565b810190612276565b5f8061234a565b503d6123a6565b6040516362df054560e01b8152600490fd5b6123ef9150833d8511610f9957610f8b8183610542565b5f6122f3565b5f805160206134f883398151915260028154146124125760029055565b604051633ee5aeb560e01b8152600490fd5b604051635daf681960e11b815260609190911c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa918215610acc575f9261249a575b503391160361248857565b60405163227bf64d60e01b8152600490fd5b6124b491925060203d6020116123bf576123b08183610542565b905f61247d565b906040516124c8816104de565b915465ffffffffffff8116835260301c6020830152565b908154905f829160058411612568575b6124fa9350846131c1565b90811561255c5761251b9061250e83612122565b905f5260205f20016124bb565b9161255561254c6125466020612537875165ffffffffffff1690565b9601516001600160d01b031690565b93612122565b63ffffffff1690565b6001939291565b50505f905f905f905f90565b919261257381613096565b8103908111611a0f576124fa93855f5265ffffffffffff808360205f20015416908516105f146125a45750916124ef565b9291506125b090611df9565b906124ef565b906125c082612e74565b91805480156125e1575f1901906125d782826120c5565b611c43575f905555565b634e487b7160e01b5f52603160045260245ffd5b65ffffffffffff90818111612608571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b9190916040818403126102295761263d81611dc5565b9260208201516001600160401b038111610229576103949201611842565b9180511561271d57806020806126769351830101910161210e565b916126818382613267565b92612692845165ffffffffffff1690565b9065ffffffffffff808516921682811461271157821191826126c8575b50506126bf57610394925061325c565b50506020015190565b9091506126d58354612122565b63ffffffff8316149182156126ee575b50505f806126af565b61270991925061220961270361093f9261213d565b85613267565b115f806126e5565b50505050506020015190565b506103949161325c565b906020828203126102295781516001600160401b0392838211610229570190604082820312610229576040519261275d846104de565b82518181116102295782612772918501611842565b84526020830151908111610229576120bd9201611842565b90816020910312610229575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526103949291019061023d565b926127d9612041565b908051806129ec575b50506127ed426125f5565b5f54909490612806906108ff906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa8015610acc5761283a9261093f925f926129d45750611a14565b65ffffffffffff82169081109081156129bd575b811561298c575b50612980578560049560405196878092630ce9b79360e41b82525afa948515610acc576128a79587915f91612963575b50845190604051808099819463e02f693760e01b8352878b8a60048601612799565b03916001600160a01b03165afa938415610acc5761291f955f95612922575b509261290e85936129149361290e96869a61290561035e836128f0875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192611f6e565b90612130565b818082109118021890565b91565b61291492955061290e94919361295061290e928a3d8c1161295c575b6129488183610542565b81019061278a565b969350939194506128c6565b503d61293e565b61297a9150823d84116123bf576123b08183610542565b5f612885565b5050505050505f905f90565b90506129b661093f6129aa876128f0875f52600160205260405f2090565b5465ffffffffffff1690565b115f612855565b90506129cb61093f426125f5565b8110159061284e565b610abe9192508a3d8c11610ac557610ab68183610542565b6129ff9250602080918301019101612727565b5f806127e2565b919091805f52600160205265ffffffffffff80612a368560405f209060018060a01b03165f5260205260405f2090565b541690831611612a4557505050565b61058f92612a6d915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9190825f526002602052612ade61035e612ab38360405f209060018060a01b03165f5260205260405f2090565b92612abd426125f5565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211611a0f576001810190815415612b82575b612afe81613223565b509490835495612b0d846120da565b5081612b6d575b5015612b4c5750505f198301928311611a0f5761058f92612b34916120c5565b90919082549060031b91821b915f19901b1916179055565b61058f94612b66926001600160d01b03909116919061341a565b50506132f6565b65ffffffffffff83811691161490505f612b14565b612b8b826132c9565b612af5565b60606020610394938184526001600160401b0381511682850152015191604080820152019061023d565b919360a093610394969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061023d565b92939060046020612c0f6108ff6108ff5f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa908115610acc5761110e91612c8d915f91612cdc575b506001600160a01b031693612c4c610591565b6001600160401b037f000000000000000000000000000000000000000000000000000000000000000016815290602082015260405192839160208301612b90565b823b15610229575f94612cb886926040519889978896879563724ab0f760e11b875260048701612bba565b03925af18015610acc57612cc95750565b80612cd661058f92610514565b806102c9565b612cf5915060203d6020116123bf576123b08183610542565b5f612c39565b65ffffffffffff9160446020925f60018060a01b038154166040519687958694631c9e38c760e21b865260048601521660248401525af18015610acc57612d3f5750565b612d579060203d60201161295c576129488183610542565b50565b8115612d64570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c16612d90575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa918215610acc575f92612e4d575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff9091166084830152612e1a8260a481015b03601f198101845283610542565b6202a15c5a10612e3b575f928380935192620249f0f1505f80808080612d89565b604051632153f33560e21b8152600490fd5b612e1a9250612e6d612e0c9160203d6020116123bf576123b08183610542565b9250612dc1565b805480612e815750505f90565b5f19918183810111611a0f575f5260205f2001015460301c90565b60405190612ea9826104de565b5f6020838281520152565b612ed991612ed391612ec4612e9c565b50612ecd612e9c565b506120c5565b506124bb565b65ffffffffffff81511690602060018060d01b039101511660405191612efe836104de565b8252602082015290565b612f106133a5565b612f186133a5565b60015f805160206134f883398151915255565b60405190612f38826104be565b5f8252565b809103906060821261022957602060405192612f58846104f9565b12610229576040908151612f6b816104be565b612f7482611dc5565b815283526020810151612f868161022d565b60208401520151604082015290565b90600490612fa1612f2b565b508051612fb8602092838080948301019101612f3d565b6040516327f843b560e11b815290949093849182906001600160a01b03165afa918215610acc575f92613077575b50820190612ffa825165ffffffffffff1690565b65ffffffffffff91821691161015613065576040820160038151106130535761304961302f61304f935165ffffffffffff1690565b65ffffffffffff1665ffffffffffff196004541617600455565b51600555565b5190565b6040516354f778f360e01b8152600490fd5b6040516367d5e3df60e11b8152600490fd5b8161308f9293503d8411610ac557610ab68183610542565b905f612fe6565b600181111561039457600181600160801b8110156131af575b61315761314d61314361313961312f61312561316397600488600160401b61315e9a10156131a2575b640100000000811015613195575b62010000811015613188575b61010081101561317c575b6010811015613170575b1015613168575b60030260011c61311e818b612d5a565b0160011c90565b61311e818a612d5a565b61311e8189612d5a565b61311e8188612d5a565b61311e8187612d5a565b61311e8186612d5a565b8093612d5a565b821190565b900390565b60011b61310e565b811c9160021b91613107565b60081c91811b916130fd565b60101c9160081b916130f2565b60201c9160101b916130e6565b60401c9160201b916130d8565b50600160401b9050608082901c6130af565b91905b8382106131d15750505090565b909192808316906001818518811c8301809311611a0f57855f5265ffffffffffff808460205f20015416908516105f14613210575050925b91906131c4565b909493508101809111611a0f5791613209565b8054806132345750505f905f905f90565b5f19918183810111611a0f575f5260205f2001015460019165ffffffffffff82169160301c90565b906120e39082613319565b9061328a612ed36132ab9261327a612e9c565b50613283612e9c565b50846120c5565b91600165ffffffffffff845116936020828060d01b039101511691016120c5565b905490604051926132bb846104de565b835260031b1c602082015290565b8054600160401b8110156104d9576132e6916001820181556120c5565b8154905f199060031b1b19169055565b90815491600160401b8310156104d95782612b3491600161058f950181556120c5565b908154905f829160058411613357575b6133349350846131c1565b8061333f5750505f90565b61334890612122565b905f5260205f20015460301c90565b919261336281613096565b8103908111611a0f5761333493855f5265ffffffffffff808360205f20015416908516105f14613393575091613329565b92915061339f90611df9565b90613329565b60ff5f805160206135188339815191525460401c16156133c157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156104d9576133f0916001820181556120c5565b611c4357815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b805492939280156134cd5761343161343c91612122565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116134bb57879303613482575061347b92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506134b6916134a2613494610591565b65ffffffffffff9093168352565b6001600160d01b03861660208301526133d3565b61347b565b604051632520601d60e01b8152600490fd5b50906134f2916134de613494610591565b6001600160d01b03851660208301526133d3565b5f919056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122083c9d2c27050cb61d0026c4a120151139ad36b1ef086f66b4ca1715f04bbc28864736f6c63430008190033","sourceMap":"3563:3596:95:-: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;:::-;-1:-1:-1;;;;;3563:3596:95;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;3563:3596:95;;;;;;;;-1:-1:-1;;3563:3596:95;;;;:::o;:::-;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;3563:3596:95;;;;;;1435:38:103;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;2936:47:103;:38;3563:3596:95;;;;;:::i;:::-;;;-1:-1:-1;3563:3596:95;2936:16:103;3563:3596:95;;;-1:-1:-1;3563:3596:95;;;;;;;;;;;;;;;;;2936:38:103;:47;:::i;:::-;3563:3596:95;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:95;;;;;;1788:109:103;3563:3596:95;;;;;:::i;:::-;;;-1:-1:-1;3563:3596:95;1788:109:103;3563:3596:95;;;-1:-1:-1;3563:3596:95;;;;;;;;;;;;;;;;;1788:109:103;3563:3596:95;;;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;1374:6:103;3563:3596:95;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;1528:51:103;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;322:32:80;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;:::o;:::-;-1:-1:-1;;;;;3563:3596:95;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;3563:3596:95;;;;;;-1:-1:-1;;3563:3596:95;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3563:3596:95;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3563:3596:95;;;;2016:56:105;3563:3596:95;;;;;;;;:::i;:::-;;;-1:-1:-1;3563:3596:95;;;2016:9:105;3563:3596:95;;;;;-1:-1:-1;;;;;3563:3596:95;;2016:56:105;:::i;:::-;3563:3596:95;;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;3563:3596:95;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;3563:3596:95;;;;;;;4301:16:26;3563:3596:95;;4726:16:26;;:34;;;;3563:3596:95;4805:1:26;4790:16;:50;;;;3563:3596:95;4855:13:26;:30;;;;3563:3596:95;4851:91:26;;;-1:-1:-1;;;;;;;;;;;3563:3596:95;;-1:-1:-1;;3563:3596:95;;;;;718:4:80;;4951:18:26;4979:67;;718:4:80;:::i;:::-;5066:101:26;;3563:3596:95;5066:101:26;-1:-1:-1;;;;;;;;;;;3563:3596:95;;-1:-1:-1;;;;3563:3596:95;;;;;-1:-1:-1;3563:3596:95;;5142:14:26;;3563:3596:95;;5142:14:26;3563:3596:95;4979:67:26;-1:-1:-1;;;;;;;;;;;3563:3596:95;;-1:-1:-1;;;;3563:3596:95;-1:-1:-1;;;3563:3596:95;;;718:4:80;:::i;4851:91:26:-;3563:3596:95;;-1:-1:-1;;;4908:23:26;;3563:3596:95;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;3563:3596:95;;;;;;-1:-1:-1;;3563:3596:95;;;;;;3726:43;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;:::i;:::-;3361:103:30;;;;:::i;:::-;2123:10:103;;;:::i;:::-;3563:3596:95;;:::i;:::-;2666:16:105;;2662:105;;3563:3596:95;837:15:73;;819:34;837:15;819:34;:::i;:::-;3563:3596:95;2813:31:105;3563:3596:95;;;;;;;;2813:31:105;;;:::i;:::-;-1:-1:-1;3563:3596:95;;;;2847:27:105;;:13;;-1:-1:-1;;;;;3563:3596:95;2847:13:105;3563:3596:95;;-1:-1:-1;;;;;3563:3596:95;;;2847:27:105;3563:3596:95;;;;;;;;;;;;;;2847:29:105;;;;;;;;2794:82;2847:29;2813:63;2847:29;-1:-1:-1;2847:29:105;;;3563:3596:95;2813:63:105;;:::i;:::-;3563:3596:95;;;;2794:82:105;3563:3596:95;;;2794:82:105;;;:138;;;;;3563:3596:95;2777:223:105;;;3248:62:103;3104:37:105;;3248:62:103;;;;:::i;:::-;3463:5:68;;;;;;3066;;3563:3596:95;3060:42:68;;;3166:11:105;;3162:68;;3563:3596:95;3671:86:105;837:15:73;;;;3671:86:105;837:15:73;3262:31:105;837:15:73;819:34;837:15;819:34;:::i;:::-;3262:31:105;:::i;:::-;3563:3596:95;3317:13:105;3563:3596:95;;;;3347:308:105;3563:3596:95;;:::i;:::-;;;;-1:-1:-1;;;;;3563:3596:95;;;3379:266:105;;3563:3596:95;3379:266:105;;;3563:3596:95;;;;;;;3379:266:105;;3563:3596:95;;;;;3379:266:105;;3563:3596:95;-1:-1:-1;3563:3596:95;3379:266:105;;3563:3596:95;3347:308:105;:::i;:::-;3563:3596:95;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;3671:86:105;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3563:3596:95;3860:283:30;3426:1;3563:3596:95;;;;;;;;;;;;3162:68:105;3563:3596:95;;-1:-1:-1;;;3200:19:105;;;2777:223;-1:-1:-1;3563:3596:95;;-1:-1:-1;;;2964:25:105;;;2794:138;837:15:73;;2896:36:105;819:34:73;837:15;819:34;:::i;2896:36:105:-;-1:-1:-1;2896:36:105;2794:138;;;2847:29;;;;;3563:3596:95;2847:29:105;3563:3596:95;2847:29:105;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;2662:105::-;2718:38;;;;;;;;:::i;:::-;2662:105;;;;;3563:3596:95;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:95;;;;;1795:13:105;3563:3596:95;;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;3563:3596:95;435:10:93;:19;431:71;;3563:3596:95;4136:60;3563:3596;;;;-1:-1:-1;3563:3596:95;4136:9;3563:3596;;;-1:-1:-1;3563:3596:95;4136:60;:::i;:::-;3563:3596;;;;;;;;;;;;;;;;;;;431:71:93;3563:3596:95;;-1:-1:-1;;;477:14:93;;3563:3596:95;;477:14:93;3563:3596:95;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;:::i;:::-;3361:103:30;;;:::i;:::-;3563:3596:95;;:::i;:::-;;7493:16:105;7489:103;;3563:3596:95;-1:-1:-1;;3563:3596:95;;;-1:-1:-1;;;7607:48:105;;7644:10;7607:48;;;3563:3596:95;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;7607:48:105;7617:16;;;3563:3596:95;7607:48:105;;;;;;;-1:-1:-1;7607:48:105;;;3563:3596:95;7606:49:105;;7602:99;;-1:-1:-1;3563:3596:95;7764:35:105;;-1:-1:-1;;;;;3563:3596:95;7644:10:105;3563:3596:95;;-1:-1:-1;;7644:10:105;297:2:99;3563:3596:95;;267:46:99;;152:169;7764:35:105;7850:21;5260:30:97;7850:21:105;;3563:3596:95;;7850:9:105;3563:3596:95;;;;;;;7850:21:105;5260:30:97;:::i;:::-;-1:-1:-1;7900:801:105;;;;;7930:34;819::73;837:15;819:34;:::i;7930::105:-;3563:3596:95;;;;7930:34:105;;;;7984:27;:21;;3563:3596:95;;7850:9:105;3563:3596:95;;;;;;;7984:21:105;:27;:::i;:::-;;7926:225;8169:61;8182:48;8190:39;4928:20:97;8198:21:105;;3563:3596:95;;7850:9:105;3563:3596:95;;;;;;;8198:21:105;4928:20:97;:::i;8169:61:105:-;3563:3596:95;;;;8169:61:105;;;8165:336;;7926:225;7900:801;;;;;;8716:34;7900:801;8716:34;7900:801;;3563:3596:95;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;8716:34:105;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3563:3596:95;3860:283:30;3426:1;3563:3596:95;8165:336:105;8250:21;;;;;;;3563:3596:95;;7850:9:105;3563:3596:95;;;;;;;8250:21:105;3563:3596:95;;;;;;;;8299:34:105;;;;;;;;;;;;;;-1:-1:-1;8299:34:105;;;8165:336;3563:3596:95;;8336:22:105;3563:3596:95;;;;;;;;;;;8361:30:105;;;;;;;;;;8336:55;8310:38:71;8361:30:105;8716:34;8361:30;8299:92;8361:30;8716:34;8361:30;8298:130;8361:30;-1:-1:-1;8361:30:105;;;8165:336;3563:3596:95;;;8336:55:105;;:::i;:::-;3563:3596:95;;8299:92:105;:::i;:::-;8298:130;:::i;:::-;8310:38:71;;:::i;:::-;8165:336:105;;;;;;8361:30;;;;;;-1:-1:-1;8361:30:105;;;;;;:::i;:::-;;;;;8299:34;;;;;;;;;;;;;;:::i;:::-;;;;7926:225;8036:61;8049:48;8057:39;4928:20:97;8065:21:105;;3563:3596:95;;7850:9:105;3563:3596:95;;;;;;;8036:61:105;3563:3596:95;;;8036:61:105;7926:225;8032:119;3563:3596:95;;-1:-1:-1;;;8124:12:105;;3563:3596:95;;8124:12:105;7900:801;-1:-1:-1;3563:3596:95;;;;;;-1:-1:-1;;8535:23:105;;8531:81;;8626:21;;8716:34;8626:21;8310:38:71;8716:34:105;8626:21;;;3563:3596:95;;7850:9:105;3563:3596:95;;;;;;;8626:21:105;819:34:73;837:15;819:34;:::i;8310:38:71:-;7900:801:105;;;;8531:81;3563:3596:95;;-1:-1:-1;;;8585:12:105;;;7602:99;-1:-1:-1;3563:3596:95;;-1:-1:-1;;;7678:12:105;;;7607:48;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;7489:103;7544:37;;;;;;:::i;:::-;;7489:103;;;;3563:3596:95;;;;;;;;;;;;;1050:35:105;3563:3596:95;;;;;;1050:35:105;-1:-1:-1;3563:3596:95;;;;;;-1:-1:-1;3563:3596:95;:::o;:::-;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:95;;;;;;1050:35:105;3563:3596:95;1050:35:105;;;;;;;;:::i;:::-;-1:-1:-1;3563:3596:95;;;1050:35:105;;3563:3596:95;1050:35:105;;;3563:3596:95;1050:35:105;;;;3563:3596:95;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3563:3596:95;;;;-1:-1:-1;3563:3596:95;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;3563:3596:95;;;;;;;;;;477:31:86;;3563:3596:95;;;;;;;;;;;:::i;:::-;477:31:86;3563:3596:95;;477:31:86;;;;;;:::i;:::-;518:79;;;3563:3596:95;518:79:86;;3563:3596:95;;;;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;:::i;:::-;;;;;2692:73:103;:38;3563:3596:95;;;:::i;:::-;;;;;-1:-1:-1;3563:3596:95;2692:16:103;3563:3596:95;;;-1:-1:-1;3563:3596:95;;;;;;;;;;;;;;;;;2692:38:103;:73;:::i;3563:3596:95:-;;;;;3248:62:103;3563:3596:95;;;:::i;:::-;3248:62:103;;;;;:::i;:::-;3563:3596:95;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;3361:103:30;;;;:::i;:::-;3563:3596:95;;:::i;:::-;4024:16:105;;4020:105;;3563:3596:95;;;4153:13:105;3563:3596:95;4139:34:105;;;4135:94;;4270:25;;;:::i;:::-;3563:3596:95;;;;4330:18:105;;;;:::i;:::-;4153:13;4408:24;;3563:3596:95;;;;;;;;;;;;;4377:95:105;4434:37;;4377:95;;;:::i;:::-;3563:3596:95;4377:125:105;;:250;;;3563:3596:95;4377:309:105;;;3563:3596:95;4360:389:105;;4763:43;837:15:73;819:34;837:15;819:34;:::i;:::-;4763:43:105;:::i;:::-;-1:-1:-1;3563:3596:95;4809:27:105;;:13;;-1:-1:-1;;;;;3563:3596:95;4809:13:105;3563:3596:95;4809:27:105;3563:3596:95;;4809:29:105;3563:3596:95;;;;;;;;;;;4809:29:105;;;;;;;;;;-1:-1:-1;4809:29:105;;;3563:3596:95;;;;;4763:75:105;4759:131;;4994:16;;;3563:3596:95;;4994:16:105;;4945:140;;4994:16;;3563:3596:95;;-1:-1:-1;;;;;3563:3596:95;5038:37:105;;;4945:140;;:::i;:::-;5120:14;5111:41;5120:14;;;;3563:3596:95;3463:5:68;;;;3066;;3563:3596:95;3060:42:68;3371:111;;5111:41:105;5166:18;;;5162:75;;3563:3596:95;;;;5247:78:105;;5335:24;3563:3596:95;;5335:24:105;;5725:145;;5335:24;;;;3563:3596:95;5335:24:105;5725:145;5335:24;;;;6024;5335;;;3563:3596:95;;;;;;;;;;;;;;5335:24:105;3563:3596:95;;;;5445:24:105;;3563:3596:95;-1:-1:-1;;;;;3563:3596:95;;;;;5445:24:105;;:::i;:::-;3563:3596:95;;;;5542:13:105;;3563:3596:95;;-1:-1:-1;;;;;3563:3596:95;5542:13:105;;:::i;:::-;3563:3596:95;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;:::i;:::-;;;;4809:29:105;5753:103;;3563:3596:95;5753:103:105;;;3563:3596:95;;5725:145:105;;;4809:29;5725:145;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:145:105;;3563:3596:95;;5725:145:105;;;;;;:::i;:::-;;:::i;:::-;5920:24;3563:3596:95;;;;;;;;5920:24:105;;:::i;:::-;3563:3596:95;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;6024:24:105;;:::i;:::-;3563:3596:95;;;;;6065:39:105;;3563:3596:95;;6065:39:105;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3563:3596:95;3860:283:30;5247:78:105;3563:3596:95;;-1:-1:-1;;;5291:23:105;;3563:3596:95;;5291:23:105;5162:75;3563:3596:95;;-1:-1:-1;;;5207:19:105;;3563:3596:95;;5207:19:105;4759:131;3563:3596:95;;-1:-1:-1;;;4861:18:105;;3563:3596:95;;4861:18:105;4809:29;;;;;;;;;;;;;;:::i;:::-;;;;4360:389;3563:3596:95;;-1:-1:-1;;;4718:20:105;;3563:3596:95;;4718:20:105;4377:309;837:15:73;4647:39:105;819:34:73;837:15;819:34;:::i;4647:39:105:-;3563:3596:95;;;;;4647:39:105;4377:309;;:250;837:15:73;4522:105:105;:91;4553:20;819:34:73;837:15;819:34;:::i;:::-;4553:20:105;:::i;:::-;4575:37;;;;4522:91;;;:::i;:105::-;;;4377:250;;4135:94;3563:3596:95;;-1:-1:-1;;;4196:22:105;;3563:3596:95;;4196:22:105;4020:105;4076:38;;;;;;;;:::i;:::-;4020:105;;;;;3563:3596:95;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;-1:-1:-1;;;;;404:28:80;3563:3596:95;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;1221:37:105;3563:3596:95;;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;954:41:105;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;2239:46:105;3563:3596:95;;;;;;;;:::i;:::-;819:34:73;837:15;819:34;:::i;:::-;3563:3596:95;;2239:46:105;:::i;:::-;3563:3596:95;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;1271:7:103;3563:3596:95;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;;:::i;:::-;3563:3596:95;;:::i;:::-;6308:16:105;;6304:99;;3563:3596:95;;;6431:13:105;3563:3596:95;6417:34:105;;;6413:94;;6548:25;;;:::i;:::-;3563:3596:95;6431:13:105;3563:3596:95;;6653:24:105;;3563:3596:95;;;;;;;;;;;6622:92:105;6679:34;;3563:3596:95;;;6622:92:105;;:::i;:::-;3563:3596:95;6741:29:105;;;:151;;;;;3563:3596:95;6724:223:105;;;;6961:10;:29;6957:80;;7051:40;819:34:73;837:15;819:34;:::i;7051:40:105:-;3563:3596:95;;;;;7051:40:105;;7047:95;;3563:3596:95;;;;7152:78:105;;3563:3596:95;;-1:-1:-1;;;;3563:3596:95;-1:-1:-1;;;3563:3596:95;;;6961:10:105;7280:33;;-1:-1:-1;7280:33:105;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3563:3596:95;3860:283:30;7152:78:105;3563:3596:95;;-1:-1:-1;;;7196:23:105;;3563:3596:95;;7196:23:105;7047:95;3563:3596:95;;-1:-1:-1;;;7114:17:105;;3563:3596:95;;7114:17:105;6957:80;3563:3596:95;;-1:-1:-1;;;7013:13:105;;3563:3596:95;;7013:13:105;6724:223;3563:3596:95;;-1:-1:-1;;;6924:12:105;;3563:3596:95;;6924:12:105;6741:151;6790:102;837:15:73;;;6790:88:105;837:15:73;6843:34:105;6821:20;819:34:73;837:15;819:34;:::i;6821:20:105:-;6843:34;;;6790:88;;:::i;:102::-;;6741:151;;;;6304:99;6357:35;;;;;;;:::i;:::-;6304:99;;;;3563:3596:95;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3563:3596:95;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4649:553::-;3563:3596;;-1:-1:-1;;;4939:105:95;;-1:-1:-1;;;;;3563:3596:95;;;4939:105;;;3563:3596;;;;;;;;;;;;;;;;;;;;;;;;;4649:553;4939:105;3563:3596;;;;;4939:105;3563:3596;4956:18;-1:-1:-1;;;;;3563:3596:95;4939:105;;;;;;;;;;;4649:553;3563:3596;;;5055:141;;4649:553;:::o;5055:141::-;5112:73;3563:3596;;;5112:73;3563:3596;;;;;;;:::i;:::-;;;;;5112:73;;;3563:3596;5112:73;;;:::i;4939:105::-;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;6788:369;;;6975:44;6788:369;3563:3596;6975:44;;:::i;:::-;3563:3596;;7030:121;;6788:369;:::o;1876:205:105:-;-1:-1:-1;3563:3596:95;;;2016:9:105;3563:3596:95;;;;;-1:-1:-1;;;;;3563:3596:95;2016:56:105;;1876:205;;2016:56;:::i;:::-;3563:3596:95;1876:205:105;:::o;3563:3596:95:-;;;;;;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::o;6172:610::-;6466:55;6172:610;;;;6370:51;3563:3596;6370:51;;;;:::i;:::-;837:15:73;6500:20:95;819:34:73;837:15;819:34;:::i;6466:55:95:-;3563:3596;;6536:30;;;:64;;;6172:610;6532:244;;6172:610;;:::o;6532:244::-;3563:3596;;;;;;6623:142;3563:3596;;;;;;;:::i;:::-;;;6651:100;;;3563:3596;;;;;6623:142;;;6651:100;6623:142;;;3563:3596;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:95;;;;;;:::i;6536:64::-;3563:3596;;;6570:30;;6536:64;;3563:3596;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3317:13:105;3563:3596:95;-1:-1:-1;;;3563:3596:95;;;;;;;;;;3317:13:105;3563:3596:95;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3563:3596:95;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;3317:13:105;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3563:3596:95;;;;;;-1:-1:-1;;;3563:3596:95;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;5208:958::-;;;;;5643:105;3563:3596;5435:51;;;;;;:::i;:::-;837:15:73;5643:105:95;5531:55;5565:20;819:34:73;837:15;819:34;:::i;5565:20:95:-;5531:55;;;:::i;:::-;3563:3596;;-1:-1:-1;;;5643:105:95;;-1:-1:-1;;;;;3563:3596:95;;;5643:105;;;3563:3596;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5643:105;;3563:3596;5660:18;-1:-1:-1;;;;;3563:3596:95;5643:105;;;;;;;;;;;5208:958;3563:3596;;;5763:30;;;:64;;;5208:958;5763:98;;;;5208:958;5759:401;;5208:958;;;:::o;5759:401::-;5884:265;3563:3596;;;;5884:265;3563:3596;;;;:::i;:::-;;;;5912:223;;;3563:3596;;5912:223;;3563:3596;;;5884:265;;;5912:223;5884:265;;;:::i;5763:98::-;3563:3596;;;5831:30;;5763:98;;:64;3563:3596;;;5797:30;;5763:64;;5643:105;;;;;;;;;;;;;;:::i;:::-;;;;;3563:3596;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;:::-;;3149:1:97;3563:3596:95;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;3563:3596:95;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;4209:434::-;;;-1:-1:-1;4307:12:95;3563:3596;;;;;4435:78;;;;;;;;;;;;;3563:3596;;;;;;;4435:78;;;;;:::i;:::-;3563:3596;;716:88:93;;3563:3596:95;716:88:93;;;;;;;;;783:4;4435:78:95;716:88:93;;3563:3596:95;;;;;;;;;;;:::i;:::-;716:88:93;3563:3596:95;716:88:93;3563:3596:95;;716:88:93;;;;;;;;:::i;:::-;698:107;;;;;857:45;698:107;;:::i;:::-;3563:3596:95;;;;857:45:93;;;;;;:::i;:::-;916:8;;912:175;;3563:3596:95;;;4361:204;3563:3596;;4361:204;;;;;;:::i;:::-;4576:61;;;;4209:434;;;:::o;4576:61::-;4609:17;3563:3596;;;;4609:17;3563:3596;;4609:17;;;;;3563:3596;;;;;;;;;;;;4609:17;;;;;;;;;:::i;912:175:93:-;3563:3596:95;;;;944:22:93;;;940:36;;990:87;;2505:267:103;-1:-1:-1;3563:3596:95;;;2692:16:103;3563:3596:95;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;2692:73:103;;2505:267;;2692:73;:::i;3563:3596:95:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;3563:3596:95;;-1:-1:-1;3563:3596:95;;;-1:-1:-1;3563:3596:95;:::o;10580:184:97:-;10689:20;;;:::i;:::-;-1:-1:-1;;;;;3563:3596:95;;10726:7:97;3563:3596:95;;10736:12:97;:17;:12;;:17;:::i;:::-;3563:3596:95;;;;;;10580:184:97;:::o;10726:31::-;;;10689:11;10580:184;:::o;3563:3596:95:-;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;3563:3596:95;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;1818:604:97:-;;3563:3596:95;;1946:17:97;1942:83;;3563:3596:95;2049:27:97;3563:3596:95;2049:27:97;3563:3596:95;;2049:27:97;;;;;;:::i;:::-;2120:14;;;;;:::i;:::-;3563:3596:95;;;;;;;;;;;;;;;;2148:22:97;;;2144:77;;2235:21;-1:-1:-1;2235:84:97;;;;1818:604;2231:139;;;;1425:34;;;;:::i;2231:139::-;-1:-1:-1;;2049:27:97;2342:17;3563:3596:95;-1:-1:-1;;;;;3563:3596:95;;:::o;2235:84:97:-;3563:3596:95;;;2269:16:97;3563:3596:95;;2269:16:97;:::i;:::-;3563:3596:95;;;2261:24:97;:57;;;;;2235:84;;;;;;;2261:57;2289:29;2298:8;;;2289:18;2298:8;2289:23;2298:8;;:::i;:::-;2289:18;;:::i;:::-;3563:3596:95;;;;;2289:29:97;;2261:57;;;;2144:77;-1:-1:-1;;;;2049:27:97;2193:17;;;;3563:3596:95;-1:-1:-1;;;;;3563:3596:95;;-1:-1:-1;3563:3596:95;:::o;1942:83:97:-;1425:34;;;;:::i;3563:3596:95:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;6491:564:103:-;6614:34;6491:564;6614:34;;;;:::i;:::-;3563:3596:95;;-1:-1:-1;;;6664:41:103;;-1:-1:-1;;;;;3563:3596:95;;;6664:41:103;;;3563:3596:95;;;;;6664:41:103;;;3563:3596:95;;;6674:13:103;3563:3596:95;;6664:41:103;;;;;;;-1:-1:-1;6664:41:103;;;6491:564;6663:42;;6659:90;;2684:111:30;6850:27:103;6664:41;2684:111:30;;;:::i;:::-;-1:-1:-1;3563:3596:95;;-1:-1:-1;;;;;;3563:3596:95;-1:-1:-1;;;;;3563:3596:95;;;;;6850:27:103;;:::i;:::-;3563:3596:95;;;;;;;;;;6892:23:103;;;;;;;;;-1:-1:-1;6892:23:103;;;6491:564;3563:3596:95;;;6892:37:103;:64;;;6491:564;6888:112;;3563:3596:95;7010:38:103;;3563:3596:95;;-1:-1:-1;3563:3596:95;;-1:-1:-1;;;;3563:3596:95;;;;;;-1:-1:-1;;;3563:3596:95;;;;;;;;6888:112:103;3563:3596:95;;-1:-1:-1;;;6979:10:103;;6664:41;;6979:10;6892:64;-1:-1:-1;3563:3596:95;;;;6892:64:103;;:23;;;;;;-1:-1:-1;6892:23:103;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;6659:90;3563:3596:95;;-1:-1:-1;;;6728:10:103;;6664:41;;6728:10;6664:41;;;;;;;;;;;;;;:::i;:::-;;;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;3563:3596:95;;3670:20:30;3666:88;;1991:1;3563:3596:95;;3470:384:30:o;3666:88::-;3563:3596:95;;-1:-1:-1;;;3713:30:30;;;;;4451:257:103;3563:3596:95;;-1:-1:-1;;;4546:86:103;;467:2:99;3563:3596:95;;;;4546:86:103;;;3563:3596:95;-1:-1:-1;;;;;4546:86:103;3563:3596:95;;;4572:26:103;3563:3596:95;;4546:86:103;;;;;;;-1:-1:-1;4546:86:103;;;4451:257;4636:10;;3563:3596:95;;4546:100:103;4542:160;;4451:257::o;4542:160::-;3563:3596:95;;-1:-1:-1;;;4669:22:103;;4546:86;;4669:22;4546:86;;;;;;;;;;;;;;;:::i;:::-;;;;;3563:3596:95;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;2666:855:97:-;;3563:3596:95;;2880:15:97;2838:11;2905:18;2938:7;2944:1;2938:7;;2934:241;;2666:855;3199:60;;;;;:::i;:::-;3274:8;;;3270:62;;3563:3596:95;3430:7:97;;;;:::i;:::-;13267:109;2838:11;13267:109;;2838:11;13267:109;;3563:3596:95;:::i;:::-;;3498:15:97;3505:7;3563:3596:95;13267:109:97;3563:3596:95;;;;;;;;3479:17:97;;3563:3596:95;-1:-1:-1;;;;;3563:3596:95;;;;3505:7:97;;:::i;:::-;3563:3596:95;;;;3498:15:97;3436:1;;3448:66;;2666:855::o;3270:62::-;3298:23;;2838:11;3298:23;2838:11;3298:23;2838:11;3298:23;2838:11;3298:23;:::o;2934:241::-;2981:14;;;;;:::i;:::-;3563:3596:95;;;;;;;3199:60:97;13267:109;;2838:11;13267:109;3563:3596:95;13267:109:97;;;2838:11;13267:109;;3563:3596:95;;;;;3013:55:97;3009:156;3563:3596:95;;;3088:10:97;3009:156;2934:241;;3009:156;3143:7;;;;;;:::i;:::-;3009:156;2934:241;;5905:168;;6006:20;;;:::i;:::-;3563:3596:95;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;:::i;:::-;;;;;;;5905:168:97:o;3563:3596:95:-;;;;;;;;;;;;14296:213:69;3563:3596:95;14374:24:69;;;;14370:103;;3563:3596:95;14296:213:69;:::o;14370:103::-;3563:3596:95;;;;14421:41:69;;;;;;14452:2;14421:41;;;3563:3596:95;;;;;14421:41:69;3563:3596:95;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;:::i;7558:604:97:-;;3563:3596:95;;7686:17:97;7682:83;;3563:3596:95;7789:27:97;3563:3596:95;7789:27:97;3563:3596:95;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;3563:3596:95;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;3563:3596:95;8075:24:97;:::o;7975:84::-;3563:3596:95;;;8009:16:97;3563:3596:95;;8009:16:97;:::i;:::-;3563:3596:95;;;8001:24:97;: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;3563:3596:95;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;3563:3596:95:-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3323:1122:103:-;;3563:3596:95;;:::i;:::-;;;;3608:16:103;3604:109;;3323:1122;837:15:73;;819:34;837:15;819:34;:::i;:::-;-1:-1:-1;3563:3596:95;;;;3778:27:103;;:13;;-1:-1:-1;;;;;3563:3596:95;3778:13:103;3563:3596:95;3778:27:103;3563:3596:95;;;;;;;3778:29:103;;;;;;;;;;;;;;;3740:67;3778:29;3759:48;3778:29;-1:-1:-1;3778:29:103;;;3759:48;;:::i;3740:67::-;3563:3596:95;;;3740:67:103;;;:107;;;;;3323:1122;3740:197;;;;3323:1122;3723:263;;;3563:3596:95;3778:29:103;3563:3596:95;;;;;;;;;;4025:25:103;;;;;;;;;4010:143;4025:25;;;-1:-1:-1;4025:25:103;;;3323:1122;4113:30;;;3563:3596:95;;;;;;;;;;;4010:143:103;;;;;3778:29;4010:143;;;:::i;:::-;;;-1:-1:-1;;;;;3563:3596:95;4010:143:103;;;;;;;4181:257;4010:143;-1:-1:-1;4010:143:103;;;3323:1122;3996:157;;4293:102;3996:157;;4233:162;3996:157;4207:231;3996:157;;2936:28;:47;:38;:28;;;3563:3596:95;;2936:16:103;3563:3596:95;;;;;;;2936:28:103;3563:3596:95;;;;;;;;;;;;;;;;2936:47:103;4351:43;;;4293:102;;:::i;:::-;4233:162;;:::i;:::-;3463:5:68;;;;3066;;3563:3596:95;3060:42:68;3371:111;;4181:257:103;3323:1122;:::o;4010:143::-;4233:162;4010:143;;;4207:231;4010:143;;;;4293:102;4010:143;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;4025:25;;;;;;;;;;;;;;:::i;:::-;;;;3723:263;3962:13;;;;;;-1:-1:-1;3962:13:103;-1:-1:-1;3962:13:103;:::o;3740:197::-;3886:41;;3867:70;3886:51;;:41;;;3563:3596:95;;3886:29:103;3563:3596:95;;;;;;;3886:51:103;3563:3596:95;;;;;3867:70:103;-1:-1:-1;3740:197:103;;;:107;837:15:73;;3811:36:103;819:34:73;837:15;819:34;:::i;3811:36:103:-;;;;3740:107;;;3778:29;;;;;;;;;;;;;;;:::i;3604:109::-;3662:40;;;;;;;;;;;;:::i;:::-;3604:109;;;;4714:335;;;;3563:3596:95;-1:-1:-1;3563:3596:95;4876:29:103;3563:3596:95;;;;4876:51:103;3563:3596:95;;-1:-1:-1;3563:3596:95;;;;;;;;;;;;;;;;;4876:51:103;3563:3596:95;;;;;-1:-1:-1;4872:171:103;;4714:335;;;:::o;4872:171::-;4962:70;3563:3596:95;4962:51:103;3563:3596:95;-1:-1:-1;3563:3596:95;4876:29:103;3563:3596:95;;;-1:-1:-1;3563:3596:95;;;;;;;;;;;;;;;;;4962:51:103;3563:3596:95;;;;;;;;;;;;5055:221:103;;;3563:3596:95;-1:-1:-1;3563:3596:95;5160:16:103;3563:3596:95;;2936:47:103;:38;5160;3563:3596:95;;-1:-1:-1;3563:3596:95;;;;;;;;;;;;;;;;;5160:38:103;837:15:73;819:34;837:15;819:34;:::i;:::-;3563:3596:95;-1:-1:-1;3563:3596:95;5160:16:103;3563:3596:95;;;-1:-1:-1;3563:3596:95;;;;;;;;;;;;;;;;;2936:47:103;3563:3596:95;;;;;;;;6360:12:97;;;3563:3596:95;;;6360:24:97;6356:75;;5055:221:103;6474:30:97;;;:::i;:::-;3563:3596:95;;;;;6578:12:97;;;;:::i;:::-;;6604:24;;;5055:221:103;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;;3563:3596:95;;;;;;;6644:29:97;:21;;;;:::i;:::-;:29;3563:3596:95;;;;;;;;;;;;;;;;;;;;;6600:188:97;6753:24;;8310:38:71;;-1:-1:-1;;;;;3563:3596:95;;;;;8310:38:71;:::i;:::-;6753:24:97;;;:::i;6604:::-;3563:3596:95;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;6400:20;;;:::i;:::-;6356:75;;3563:3596:95;;;;;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5282:431:103:-;;;;5487:25;;:23;:13;3563:3596:95;5494:5:103;3563:3596:95;;;;;;;;;5487:23:103;3563:3596:95;;-1:-1:-1;;;5487:25:103;;3563:3596:95;;;;;5487:25:103;;;;;;;5631:65;5487:25;5631:65;5487:25;5494:5;5487:25;;;5282:431;-1:-1:-1;;;;;;3563:3596:95;;;;:::i;:::-;-1:-1:-1;;;;;5677:4:103;3563:3596:95;;;5677:4:103;5487:25;5642:53;;3563:3596:95;;;5631:65:103;;;5487:25;5631:65;;;:::i;:::-;5472:234;;;;;5494:5;3563:3596:95;5472:234:103;3563:3596:95;;;;;;;;;;;;;;5472:234:103;;5487:25;5472:234;;;:::i;:::-;;;;;;;;;;;5282:431;:::o;5472:234::-;;;;;;:::i;:::-;;;:::i;5487:25::-;;;;;;;;;;;;;;:::i;:::-;;;;5719:137;3563:3596:95;5719:137:103;3563:3596:95;5802:47:103;5719:137;5809:5;3563:3596:95;;;;;;;;;;;;;;;;;;5802:47:103;;;;;3563:3596:95;;;;;;5802:47:103;;;;;;;;5719:137;:::o;5802:47::-;;;;;;;;;;;;;:::i;:::-;;5719:137::o;3563:3596:95:-;;;;;;;:::o;:::-;;;;;;;;;;;;5862:623:103;;;5988:12;3563:3596:95;;;;;;;5984:495:103;;5862:623;;;;;;:::o;5984:495::-;3563:3596:95;;-1:-1:-1;;;6033:22:103;;3563:3596:95;6033:22:103;;3563:3596:95;;6033:22:103;;3563:3596:95;;-1:-1:-1;;;;;3563:3596:95;6033:22:103;;;;;;;5988:12;6033:22;;;5984:495;-1:-1:-1;3563:3596:95;;-1:-1:-1;;;6033:22:103;6094:81;;;;;;;;3563:3596:95;;;;-1:-1:-1;;;;;3563:3596:95;;;;;;;;;;;;;;;;;;;;;;6094:81:103;3563:3596:95;;;;6094:81:103;;3563:3596:95;;6094:81:103;;;;;;:::i;:::-;3563:3596:95;6194:9:103;:55;6190:124;;5988:12;6328:141;;;;;;1271:7;6328:141;;5984:495;;;;;;;6190:124;3563:3596:95;;-1:-1:-1;;;6276:23:103;;6033:22;;6276:23;6033:22;6094:81;6033:22;;;6094:81;6033:22;;;;;;;;;;;:::i;:::-;;;;;10310:206:71;3563:3596:95;;10446:8:71;;;:63;;10405:17;10310:206;:::o;10446:63::-;3563:3596:95;;;;;;;;;;10405:17:71;13267:109:97;;10405:17:71;13267:109:97;;;3563:3596:95;;;10310:206:71;:::o;3563:3596:95:-;;;;;;;:::i;:::-;-1:-1:-1;3563:3596:95;;;;;;;:::o;5573:258:97:-;3563:3596:95;5573:258:97;11452:22:71;5573:258:97;3563:3596:95;;:::i;:::-;;;;:::i;:::-;;11452:22:71;:::i;:::-;3563:3596:95;;:::i;:::-;;;;;;5805:17:97;3563:3596:95;;;;;5805:17:97;;3563:3596:95;;;;;;;;:::i;:::-;;;5805:17:97;5759:65;;3563:3596:95;5573:258:97;:::o;6893:76:26:-;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;3563:3596:95;6893:76:26:o;3563:3596:95:-;;;;;;;:::i;:::-;-1:-1:-1;3563:3596:95;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;8763:604:105:-;;8969:30;8763:604;3563:3596:95;;:::i;:::-;;;;8905:30:105;;;;;;;;;;;;;:::i;:::-;3563:3596:95;;-1:-1:-1;;;8969:30:105;;3563:3596:95;;;;;;;;-1:-1:-1;;;;;3563:3596:95;8969:30:105;;;;;;;;;;;8763:604;9013:19;;;3563:3596:95;;;;;;;;;;;;;;;9013:36:105;;9009:95;;3563:3596:95;9118:29:105;;9150:1;3563:3596:95;;9118:33:105;9114:102;;9226:34;3563:3596:95;9271:54:105;3563:3596:95;;;;;;;;;;;8969:30:105;3563:3596:95;;;8969:30:105;3563:3596:95;;9226:34:105;3563:3596:95;9271:54:105;3563:3596:95;;9271:54:105;9343:17;8763:604;:::o;9114:102::-;3563:3596:95;;-1:-1:-1;;;9174:31:105;;8969:30;;9174:31;9009:95;3563:3596:95;;-1:-1:-1;;;9072:21:105;;8969:30;;9072:21;8969:30;;;;;;;;;;;;;;;:::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;3563:3596:95;18246:1:68;3563:3596:95;22284:6:68;;;;:::i;:::-;3563:3596:95;;;;;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;;;3563:3596:95;23216:28:68;3563:3596:95;;18080:5181:68;:::o;19887:61::-;18246:1;3563:3596:95;19887:61:68;;19787:87;3563:3596:95;;;;;19787:87:68;;;19687;3563:3596:95;;;;;19687:87:68;;;19585:89;3563:3596:95;;;;;19585:89:68;;;19482:90;3563:3596:95;;;;;19482:90:68;;;19379;3563:3596:95;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;3563:3596:95;-1:-1:-1;3563:3596:95;;;;19274:92:68;;12497:447:97;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:68;;;;;;3563:3596:95;;3731:5:68;;;3563:3596:95;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;3563:3596:95;13267:109:97;;;-1:-1:-1;13267:109:97;;3563:3596:95;;;;;-1:-1:-1;12771:136:97;3563:3596:95;;;12830:10:97;;12771:136;;12687:230;;;;12771:136;3563:3596:95;;;;;;;;;;;12771:136:97;;;10695:389:71;3563:3596:95;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;3563:3596:95;;;;;;;;;;10833:17:71;13267:109:97;;10833:17:71;13267:109:97;;;3563:3596:95;11014:1:71;3563:3596:95;;;;;;;11030:37:71;:::o;6999:207:97:-;;7117:34;6999:207;7117:34;;:::i;11486:272::-;;3563:3596:95;11452:22:71;11718:31:97;11486:272;3563:3596:95;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;3563:3596:95:-;;11718:12:97;3563:3596:95;;;;;11731:17:97;3563:3596:95;;;;;11731:17:97;;3563:3596:95;;11718:12:97;;:31;:::i;:::-;3563:3596:95;;;;;;;;;:::i;:::-;;;;;;11731:17:97;11672:79;;3563:3596:95;11486:272:97;:::o;3563:3596:95:-;;;-1:-1:-1;;;3563:3596:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;;3563:3596:95;;;;;;;;;;;;;;;:::i;9584:606:71:-;;3563:3596:95;;9737:15:71;9702:17;9762:18;9795:7;9801:1;9795:7;;9791:234;;9584:606;10049:53;;;;;:::i;:::-;10120:8;;;:63;;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;13267:109:97;9702:17:71;13267:109:97;;9702:17:71;13267:109:97;;3563:3596:95;;;9584:606:71;:::o;9791:234::-;9838:14;;;;;:::i;:::-;3563:3596:95;;;;;;;10049:53:71;13267:109:97;;9702:17:71;13267:109:97;3563:3596:95;13267:109:97;;;9702:17:71;13267:109:97;;3563:3596:95;;;;;9870:48:71;9866:149;3563:3596:95;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;7084:141:26;3563:3596:95;-1:-1:-1;;;;;;;;;;;3563:3596:95;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;3563:3596:95;;-1:-1:-1;;;7191:17:26;;;;;3563:3596:95;;;-1:-1:-1;;;3563:3596:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;3563:3596:95;;;;;;;;;;;:::o;11657:922:71:-;3563:3596:95;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:97;;;;;;13089:293;;11916:28:71;3563:3596:95;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;3563:3596:95;;;;;;;;;;;;;;;;;12285:19:71;3563:3596:95;;12423:25:71;;:::o;12247:163::-;3563:3596:95;;;12343:52:71;3563:3596:95;12353:41:71;3563:3596:95;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;3563:3596:95;;12353:41:71;;;3563:3596:95;12343:52:71;:::i;:::-;12247:163;;12099:89;3563:3596:95;;-1:-1:-1;;;12143:30:71;;;;;11860:713;3563:3596:95;;12479:52:71;3563:3596:95;12489:41:71;3563:3596:95;;:::i;12489:41:71:-;-1:-1:-1;;;;;3563:3596:95;;12489:41:71;;;3563:3596:95;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"59800":[{"start":1147,"length":32}],"59803":[{"start":5518,"length":32},{"start":11350,"length":32}],"64360":[{"start":2920,"length":32}],"64990":[{"start":2054,"length":32},{"start":6428,"length":32},{"start":7441,"length":32}],"67584":[{"start":744,"length":32},{"start":8898,"length":32}],"67587":[{"start":1079,"length":32},{"start":9292,"length":32}],"68317":[{"start":3194,"length":32},{"start":5604,"length":32}]}},"methodIdentifiers":{"BASE_SLASHER_HINTS()":"457821b7","BURNER_GAS_LIMIT()":"d5c24e1a","BURNER_RESERVE()":"2964f8dc","FACTORY()":"2dd31000","NETWORK_MIDDLEWARE_SERVICE()":"2c9d45b3","NETWORK_REGISTRY()":"c0cd7c3e","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","cumulativeSlash(bytes32,address)":"1a2be2c4","cumulativeSlashAt(bytes32,address,uint48,bytes)":"aa8e6489","executeSlash(uint256,bytes)":"b94c386e","executeSlashHints(address,bytes32,address,uint48)":"69f78920","initialize(bytes)":"439fab91","isBurnerHook()":"34d098ea","latestSlashedCaptureTimestamp(bytes32,address)":"267de1f3","requestSlash(bytes32,address,uint256,uint48,bytes)":"545ce389","requestSlashHints(address,address,bytes32,address,uint256,uint48)":"002a0875","resolver(bytes32,bytes)":"cd05b8a1","resolverAt(bytes32,uint48,bytes)":"31ce4dfe","resolverHint(address,bytes32,uint48)":"a4ef9b4f","resolverHintInternal(bytes32,uint48)":"8f82f931","resolverSetEpochsDelay()":"bc6eac5b","setResolver(uint96,address,bytes)":"9168f9d2","setResolverHints(address,bytes32,uint48)":"1dd5f600","slashRequests(uint256)":"9a896551","slashRequestsLength()":"8f42f9ab","slashableStake(bytes32,address,uint48,bytes)":"aab3595f","staticDelegateCall(address,bytes)":"9f86fd85","vault()":"fbfa77cf","vetoDuration()":"e054e08b","vetoSlash(uint256,bytes)":"f9268d18","vetoSlashHints(address,bytes32,uint48)":"5264679b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseSlasherHints\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBurnerGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientSlash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaptureTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidResolverSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidVetoDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoBurner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoResolver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetworkMiddleware\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotResolver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"SlashPeriodEnded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlashRequestCompleted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlashRequestNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VetoPeriodEnded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VetoPeriodNotEnded\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"name\":\"ExecuteSlash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"vetoDeadline\",\"type\":\"uint48\"}],\"name\":\"RequestSlash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"SetResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"VetoSlash\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_SLASHER_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_MIDDLEWARE_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"cumulativeSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"cumulativeSlashAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"executeSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"executeSlashHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isBurnerHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"latestSlashedCaptureTimestamp\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"value\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"requestSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"requestSlashHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"resolverAt\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"resolverHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"resolverHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resolverSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"address\",\"name\":\"resolver_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"setResolverHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"slashRequests\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"vetoDeadline\",\"type\":\"uint48\"},{\"internalType\":\"bool\",\"name\":\"completed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slashRequestsLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"slashableStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vetoDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"vetoSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"vetoSlashHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"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.\"}]},\"events\":{\"ExecuteSlash(uint256,uint256)\":{\"params\":{\"slashIndex\":\"index of the slash request\",\"slashedAmount\":\"virtual amount of the collateral slashed\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RequestSlash(uint256,bytes32,address,uint256,uint48,uint48)\":{\"params\":{\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"operator that could be slashed (if the request is not vetoed)\",\"slashAmount\":\"maximum amount of the collateral to be slashed\",\"slashIndex\":\"index of the slash request\",\"subnetwork\":\"subnetwork that requested the slash\",\"vetoDeadline\":\"deadline for the resolver to veto the slash (exclusively)\"}},\"SetResolver(bytes32,address)\":{\"params\":{\"resolver\":\"address of the resolver\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"VetoSlash(uint256,address)\":{\"params\":{\"resolver\":\"address of the resolver that vetoed the slash\",\"slashIndex\":\"index of the slash request\"}}},\"kind\":\"dev\",\"methods\":{\"cumulativeSlash(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"cumulative slash amount\"}},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the cumulative slash amount until (inclusively)\"},\"returns\":{\"_0\":\"cumulative slash amount until the given timestamp (inclusively)\"}},\"executeSlash(uint256,bytes)\":{\"details\":\"Only a network middleware can call this function.\",\"params\":{\"hints\":\"hints for checkpoints' indexes\",\"slashIndex\":\"index of the slash request\"},\"returns\":{\"slashedAmount\":\"virtual amount of the collateral slashed\"}},\"initialize(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"requestSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only a network middleware can call this function.\",\"params\":{\"amount\":\"maximum amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"hints\":\"hints for checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"slashIndex\":\"index of the slash request\"}},\"resolver(bytes32,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"address of the resolver\"}},\"resolverAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"timestamp to get the resolver at\"},\"returns\":{\"_0\":\"address of the resolver\"}},\"slashRequestsLength()\":{\"returns\":{\"_0\":\"total number of slash requests\"}},\"slashableStake(bytes32,address,uint48,bytes)\":{\"params\":{\"captureTimestamp\":\"time point to get the stake amount at\",\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"amount\":\"slashable amount of the stake\"}},\"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\"}},\"vetoSlash(uint256,bytes)\":{\"details\":\"Only a resolver can call this function.\",\"params\":{\"hints\":\"hints for checkpoints' indexes\",\"slashIndex\":\"index of the slash request\"}}},\"version\":1},\"userdoc\":{\"events\":{\"ExecuteSlash(uint256,uint256)\":{\"notice\":\"Emitted when a slash request is executed.\"},\"RequestSlash(uint256,bytes32,address,uint256,uint48,uint48)\":{\"notice\":\"Emitted when a slash request is created.\"},\"SetResolver(bytes32,address)\":{\"notice\":\"Emitted when a resolver is set.\"},\"VetoSlash(uint256,address)\":{\"notice\":\"Emitted when a slash request is vetoed.\"}},\"kind\":\"user\",\"methods\":{\"BURNER_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the burner.\"},\"BURNER_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the burner's execution.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"NETWORK_MIDDLEWARE_SERVICE()\":{\"notice\":\"Get the network middleware service's address.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"cumulativeSlash(bytes32,address)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork.\"},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint.\"},\"executeSlash(uint256,bytes)\":{\"notice\":\"Execute a slash with a given slash index using hints.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"isBurnerHook()\":{\"notice\":\"Get if the burner is needed to be called on a slashing.\"},\"latestSlashedCaptureTimestamp(bytes32,address)\":{\"notice\":\"Get the latest capture timestamp that was slashed on a subnetwork.\"},\"requestSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Request a slash using a subnetwork for a particular operator by a given amount using hints.\"},\"resolver(bytes32,bytes)\":{\"notice\":\"Get a resolver for a given subnetwork using a hint.\"},\"resolverAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a resolver for a given subnetwork at a particular timestamp using a hint.\"},\"resolverSetEpochsDelay()\":{\"notice\":\"Get a delay for networks in epochs to update a resolver.\"},\"slashRequests(uint256)\":{\"notice\":\"Get a particular slash request.\"},\"slashRequestsLength()\":{\"notice\":\"Get a total number of slash requests.\"},\"slashableStake(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a slashable amount of a stake got at a given capture timestamp using hints.\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"},\"vetoDuration()\":{\"notice\":\"Get a duration during which resolvers can veto slash requests.\"},\"vetoSlash(uint256,bytes)\":{\"notice\":\"Veto a slash with a given slash index using hints.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/SlasherHints.sol\":\"VetoSlasherHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/SlasherHints.sol\":{\"keccak256\":\"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595\",\"dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/slasher/BaseSlasher.sol\":{\"keccak256\":\"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06\",\"dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF\"]},\"src/contracts/slasher/Slasher.sol\":{\"keccak256\":\"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61\",\"dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3\"]},\"src/contracts/slasher/VetoSlasher.sol\":{\"keccak256\":\"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429\",\"dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/INetworkMiddlewareService.sol\":{\"keccak256\":\"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c\",\"dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/slasher/IBurner.sol\":{\"keccak256\":\"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447\",\"dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW\"]},\"src/interfaces/slasher/ISlasher.sol\":{\"keccak256\":\"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1\",\"dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ\"]},\"src/interfaces/slasher/IVetoSlasher.sol\":{\"keccak256\":\"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508\",\"dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseSlasherHints","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientBurnerGas"},{"inputs":[],"type":"error","name":"InsufficientSlash"},{"inputs":[],"type":"error","name":"InvalidCaptureTimestamp"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidResolverSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidVetoDuration"},{"inputs":[],"type":"error","name":"NoBurner"},{"inputs":[],"type":"error","name":"NoResolver"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotNetworkMiddleware"},{"inputs":[],"type":"error","name":"NotResolver"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"SlashPeriodEnded"},{"inputs":[],"type":"error","name":"SlashRequestCompleted"},{"inputs":[],"type":"error","name":"SlashRequestNotExist"},{"inputs":[],"type":"error","name":"VetoPeriodEnded"},{"inputs":[],"type":"error","name":"VetoPeriodNotEnded"},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256","indexed":true},{"internalType":"uint256","name":"slashedAmount","type":"uint256","indexed":false}],"type":"event","name":"ExecuteSlash","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256","indexed":true},{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"slashAmount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","indexed":false},{"internalType":"uint48","name":"vetoDeadline","type":"uint48","indexed":false}],"type":"event","name":"RequestSlash","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"resolver","type":"address","indexed":false}],"type":"event","name":"SetResolver","anonymous":false},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256","indexed":true},{"internalType":"address","name":"resolver","type":"address","indexed":true}],"type":"event","name":"VetoSlash","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_SLASHER_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"cumulativeSlash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"cumulativeSlashAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"executeSlash","outputs":[{"internalType":"uint256","name":"slashedAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"executeSlashHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isBurnerHook","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"latestSlashedCaptureTimestamp","outputs":[{"internalType":"uint48","name":"value","type":"uint48"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"requestSlash","outputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"requestSlashHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"resolver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"resolverAt","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"resolverHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"resolverHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"resolverSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"address","name":"resolver_","type":"address"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setResolver"},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"setResolverHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"slashRequests","outputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"uint48","name":"vetoDeadline","type":"uint48"},{"internalType":"bool","name":"completed","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slashRequestsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"slashableStake","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"vetoDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"vetoSlash"},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"vetoSlashHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]}],"devdoc":{"kind":"dev","methods":{"cumulativeSlash(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"cumulative slash amount"}},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the cumulative slash amount until (inclusively)"},"returns":{"_0":"cumulative slash amount until the given timestamp (inclusively)"}},"executeSlash(uint256,bytes)":{"details":"Only a network middleware can call this function.","params":{"hints":"hints for checkpoints' indexes","slashIndex":"index of the slash request"},"returns":{"slashedAmount":"virtual amount of the collateral slashed"}},"initialize(bytes)":{"params":{"data":"some data to use"}},"requestSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only a network middleware can call this function.","params":{"amount":"maximum amount of the collateral to be slashed","captureTimestamp":"time point when the stake was captured","hints":"hints for checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"slashIndex":"index of the slash request"}},"resolver(bytes32,bytes)":{"params":{"hint":"hint for the checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"address of the resolver"}},"resolverAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"timestamp to get the resolver at"},"returns":{"_0":"address of the resolver"}},"slashRequestsLength()":{"returns":{"_0":"total number of slash requests"}},"slashableStake(bytes32,address,uint48,bytes)":{"params":{"captureTimestamp":"time point to get the stake amount at","hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"amount":"slashable amount of the stake"}},"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"}},"vetoSlash(uint256,bytes)":{"details":"Only a resolver can call this function.","params":{"hints":"hints for checkpoints' indexes","slashIndex":"index of the slash request"}}},"version":1},"userdoc":{"kind":"user","methods":{"BURNER_GAS_LIMIT()":{"notice":"Get a gas limit for the burner."},"BURNER_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the burner's execution."},"FACTORY()":{"notice":"Get the factory's address."},"NETWORK_MIDDLEWARE_SERVICE()":{"notice":"Get the network middleware service's address."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"cumulativeSlash(bytes32,address)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork."},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint."},"executeSlash(uint256,bytes)":{"notice":"Execute a slash with a given slash index using hints."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"isBurnerHook()":{"notice":"Get if the burner is needed to be called on a slashing."},"latestSlashedCaptureTimestamp(bytes32,address)":{"notice":"Get the latest capture timestamp that was slashed on a subnetwork."},"requestSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Request a slash using a subnetwork for a particular operator by a given amount using hints."},"resolver(bytes32,bytes)":{"notice":"Get a resolver for a given subnetwork using a hint."},"resolverAt(bytes32,uint48,bytes)":{"notice":"Get a resolver for a given subnetwork at a particular timestamp using a hint."},"resolverSetEpochsDelay()":{"notice":"Get a delay for networks in epochs to update a resolver."},"slashRequests(uint256)":{"notice":"Get a particular slash request."},"slashRequestsLength()":{"notice":"Get a total number of slash requests."},"slashableStake(bytes32,address,uint48,bytes)":{"notice":"Get a slashable amount of a stake got at a given capture timestamp using hints."},"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)."},"vault()":{"notice":"Get the vault's address."},"vetoDuration()":{"notice":"Get a duration during which resolvers can veto slash requests."},"vetoSlash(uint256,bytes)":{"notice":"Veto a slash with a given slash index using hints."}},"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/hints/SlasherHints.sol":"VetoSlasherHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/SlasherHints.sol":{"keccak256":"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f","urls":["bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595","dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/slasher/BaseSlasher.sol":{"keccak256":"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6","urls":["bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06","dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF"],"license":"BUSL-1.1"},"src/contracts/slasher/Slasher.sol":{"keccak256":"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f","urls":["bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61","dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3"],"license":"BUSL-1.1"},"src/contracts/slasher/VetoSlasher.sol":{"keccak256":"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897","urls":["bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429","dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/INetworkMiddlewareService.sol":{"keccak256":"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783","urls":["bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c","dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/slasher/IBurner.sol":{"keccak256":"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b","urls":["bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447","dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW"],"license":"MIT"},"src/interfaces/slasher/ISlasher.sol":{"keccak256":"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625","urls":["bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1","dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ"],"license":"MIT"},"src/interfaces/slasher/IVetoSlasher.sol":{"keccak256":"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9","urls":["bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508","dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":95} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"baseSlasherHints","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_SLASHER_HINTS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"BURNER_GAS_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BURNER_RESERVE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"NETWORK_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"TYPE","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSlashAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","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":"executeSlash","inputs":[{"name":"slashIndex","type":"uint256","internalType":"uint256"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"slashedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"executeSlashHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isBurnerHook","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"latestSlashedCaptureTimestamp","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"requestSlash","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"slashIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"requestSlashHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"resolver","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"resolverAt","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"resolverHint","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"resolverHintInternal","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"resolverSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setResolver","inputs":[{"name":"identifier","type":"uint96","internalType":"uint96"},{"name":"resolver_","type":"address","internalType":"address"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setResolverHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"slashRequests","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"vetoDeadline","type":"uint48","internalType":"uint48"},{"name":"completed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"slashRequestsLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"slashableStake","inputs":[{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"operator","type":"address","internalType":"address"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"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":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"vetoDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"vetoSlash","inputs":[{"name":"slashIndex","type":"uint256","internalType":"uint256"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"vetoSlashHints","inputs":[{"name":"slasher","type":"address","internalType":"address"},{"name":"subnetwork","type":"bytes32","internalType":"bytes32"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"event","name":"ExecuteSlash","inputs":[{"name":"slashIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"slashedAmount","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":"RequestSlash","inputs":[{"name":"slashIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"slashAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"vetoDeadline","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"SetResolver","inputs":[{"name":"subnetwork","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"resolver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VetoSlash","inputs":[{"name":"slashIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"resolver","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientBurnerGas","inputs":[]},{"type":"error","name":"InsufficientSlash","inputs":[]},{"type":"error","name":"InvalidCaptureTimestamp","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidResolverSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidVetoDuration","inputs":[]},{"type":"error","name":"NoBurner","inputs":[]},{"type":"error","name":"NoResolver","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotNetwork","inputs":[]},{"type":"error","name":"NotNetworkMiddleware","inputs":[]},{"type":"error","name":"NotResolver","inputs":[]},{"type":"error","name":"NotVault","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":"SlashPeriodEnded","inputs":[]},{"type":"error","name":"SlashRequestCompleted","inputs":[]},{"type":"error","name":"SlashRequestNotExist","inputs":[]},{"type":"error","name":"VetoPeriodEnded","inputs":[]},{"type":"error","name":"VetoPeriodNotEnded","inputs":[]}],"bytecode":{"object":"0x6101603461017c576001600160401b0390601f61370238819003918201601f1916830191848311848410176101805780849260209460405283398101031261017c5751906001600160a01b038216820361017c57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661016a578080831603610125575b835f60a0525f60c0525f60e052610100905f8252610120905f82526101409081526040519161356d9384610195853960805184610b68015260a0518461047b015260c05184818161158e0152612c56015260e0518481816102e801526122c2015251838181610437015261244c015251828181610c7a01526115e40152518181816108060152818161191c0152611d110152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b60405163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80622a087514610213578063103f29071461020e5780631a2be2c4146102095780631dd5f60014610204578063267de1f3146101ff5780632964f8dc146101fa5780632c9d45b3146101f55780632dd31000146101f057806331ce4dfe146101eb57806334d098ea146101e6578063439fab91146101e1578063457821b7146101dc5780635264679b146101d7578063545ce389146101d257806369f78920146101cd5780638f42f9ab146101c85780638f82f931146101c35780639168f9d2146101be5780639a896551146101b95780639f86fd85146101b4578063a4ef9b4f146101af578063aa8e6489146101aa578063aab3595f146101a5578063b94c386e146101a0578063bb24fe8a1461019b578063bc6eac5b14610196578063c0cd7c3e14610191578063cd05b8a11461018c578063d5c24e1a14610187578063e054e08b14610182578063f9268d181461017d5763fbfa77cf14610178575f80fd5b61181b565b6116ad565b611688565b61166b565b611613565b6115cf565b6115b2565b61156f565b61121d565b6111c5565b611187565b611124565b611090565b611005565b610bda565b610b49565b610b2c565b610ae7565b61084f565b610835565b6107f1565b6106b9565b610668565b6105ff565b610466565b610422565b610406565b6103b1565b610397565b610317565b6102d3565b610261565b6001600160a01b0381160361022957565b5f80fd5b65ffffffffffff81160361022957565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102295760c0366003190112610229576102c56102b160043561028481610218565b61028f602435610218565b60643561029b81610218565b60a435916102a88361022d565b604435906118d1565b60405191829160208352602083019061023d565b0390f35b5f91031261022957565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022957604036600319011261022957602061036361035e60243561033c81610218565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6120da565b604051908152f35b60609060031901126102295760043561038381610218565b90602435906044356103948161022d565b90565b34610229576102c56102b16103ab3661036b565b916119a8565b3461022957604036600319011261022957602065ffffffffffff6103fc6024356103da81610218565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610229575f366003190112610229576020604051614e208152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176104d957604052565b6104aa565b604081019081106001600160401b038211176104d957604052565b606081019081106001600160401b038211176104d957604052565b6001600160401b0381116104d957604052565b608081019081106001600160401b038211176104d957604052565b90601f801991011681019081106001600160401b038211176104d957604052565b6040519060c082018281106001600160401b038211176104d957604052565b6040519061058f826104f9565b565b6040519061058f826104de565b6001600160401b0381116104d957601f01601f191660200190565b81601f82011215610229578035906105d08261059e565b926105de6040519485610542565b8284526020838301011161022957815f926020809301838601378301015290565b346102295760603660031901126102295760243561061c8161022d565b604435906001600160401b0382116102295761065f61064160209336906004016105b9565b6004355f90815260068552604090206001600160a01b039390612152565b16604051908152f35b34610229575f36600319011261022957602060ff5f5460a01c166040519015158152f35b9181601f84011215610229578235916001600160401b038311610229576020838186019501011161022957565b34610229576020366003190112610229576001600160401b03600435818111610229576106ea90369060040161068c565b5f80516020613518833981519152549260ff8460401c16159316801590816107e9575b60011490816107df575b1590816107d6575b506107c4575f80516020613518833981519152805467ffffffffffffffff1916600117905561075291836107a05761228b565b61075857005b5f80516020613518833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020613518833981519152805460ff60401b1916600160401b17905561228b565b60405163f92ee8a960e01b8152600490fd5b9050155f61071f565b303b159150610717565b84915061070d565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576102c56102b16108493661036b565b91611a2c565b346102295760a0366003190112610229576024356004803561087083610218565b604435926064356108808161022d565b6084356001600160401b0381116102295761089e903690860161068c565b94906108a86123f5565b6108b185612424565b6108b9611abe565b9580610ad1575b50506108cb426125f5565b906108e66108df825465ffffffffffff1690565b8093611b1f565b5f5490969061090b906108ff906001600160a01b031681565b6001600160a01b031690565b968260206040998a51928380926327f843b560e11b82525afa8015610acc5761094a9261093f925f92610a9b575b50611a14565b65ffffffffffff1690565b65ffffffffffff8516908110908115610a85575b50610a765761097090518486886127d0565b5096878082109118028088189714610a68576102c5610a41878988887f3cb7f4ff6cecf74cee0eb9ae3ebf8933fa60a53014cce52f96da72a78dba8464896109c08a6109bb426125f5565b611b1f565b92600354978894610a116109d2610563565b8881526001600160a01b0385166020820152808b018a905265ffffffffffff8616606082015265ffffffffffff831660808201525f60a0820152611b61565b885197885265ffffffffffff938416602089015290921660408701526001600160a01b0316949081906060820190565b0390a4610a5a60015f805160206134f883398151915255565b519081529081906020820190565b855163167f871760e31b8152fd5b508551631357ac9160e11b8152fd5b9050610a9361093f426125f5565b11155f61095e565b610abe91925060203d602011610ac5575b610ab68183610542565b810190611b39565b905f610939565b503d610aac565b6118ad565b610adf929650810190611ad1565b935f806108c0565b34610229576080366003190112610229576102c56102b1600435610b0a81610218565b604435610b1681610218565b60643591610b238361022d565b60243590611c97565b34610229575f366003190112610229576020600354604051908152f35b3461022957604036600319011261022957602435610b668161022d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610bc85763ffffffff610bb36040926004355f526006602052835f206124df565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102295760603660031901126102295760048035906bffffffffffffffffffffffff8216820361022957602435610c1181610218565b6044356001600160401b03811161022957610c2f903690840161068c565b90610c386123f5565b610c40611abe565b5081610fa0575b5050604080516302910f8b60e31b8152338185019081526001600160a01b0395929491602091829082908190830103818a7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610acc575f91610f73575b5015610f64575f54610ce5906001600160a01b0316936bffffffffffffffffffffffff166bffffffffffffffffffffffff193360601b161790565b95610d00610cfb885f52600660205260405f2090565b613223565b50949015610efa57610d1461093f426125f5565b65ffffffffffff9586161115610ec457610d3e610d39895f52600660205260405f2090565b6125b6565b505b610d636108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b612e74565b91808716928303610dcf575b505050505050610db4907f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b7570925b516001600160a01b0390911681529081906020820190565b0390a2610dcd60015f805160206134f883398151915255565b005b610de68998959796985f52600660205260405f2090565b911692845163186a323160e21b815281818981885afa908115610acc575f91610ea7575b5081600554958751998a80926327f843b560e11b82525afa908115610acc5789610e6f610e81977f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b75709c610e7695610db49d610e7b985f92610e8a575b50501690611de6565b9116611e07565b6125f5565b9061341a565b82958495610d6f565b610ea09250803d10610ac557610ab68183610542565b5f80610e66565b610ebe9150823d8411610ac557610ab68183610542565b5f610e0a565b610ee26108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b82871603610d4057865163a741a04560e01b81528490fd5b5093949385169250508115610f56575091610db491610f4f7f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b757094610f46875f52600660205260405f2090565b610e7b426125f5565b5050610d9c565b825163a741a04560e01b8152fd5b5083516323d53b9760e21b8152fd5b610f939150823d8411610f99575b610f8b8183610542565b810190611dd2565b5f610caa565b503d610f81565b610fac91810190611ad1565b505f80610c47565b634e487b7160e01b5f52603260045260245ffd5b6003548110156110005760035f5260021b7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01905f90565b610fb4565b34610229576020366003190112610229576004356003548110156102295761102c90610fc8565b50805460018201546002830154600390930154604080519384526001600160a01b0390921660208401529082019290925265ffffffffffff808316606080840191909152603084901c90911660808301529190911c60ff16151560a082015260c090f35b34610229576040366003190112610229576004356110ad81610218565b6024356001600160401b038111610229575f916110cf8392369060040161068c565b90816040519283928337810184815203915af461111c6110ed611e14565b9161110e60405193849215156020840152604080840152606083019061023d565b03601f198101835282610542565b805190602001fd5b34610229576102c56102b16111383661036b565b91611e75565b906080600319830112610229576004359160243561115b81610218565b916044356111688161022d565b91606435906001600160401b03821161022957610394916004016105b9565b346102295760206103636111c061119d3661113e565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b61265b565b346102295760206111e16111d83661113e565b929190916127d0565b50604051908152f35b9060406003198301126102295760043591602435906001600160401b038211610229576112199160040161068c565b9091565b346102295761122b366111ea565b91906112356123f5565b61123d611f9a565b9280611559575b50506003548110156115475761125981610fc8565b509081549061126782612424565b6003830180549365ffffffffffff9384861660018060a01b0361128c895183856119bf565b1615158061151c575b80611503575b6114f1576112b1816112ac426125f5565b611a14565b5f546112c7906108ff906001600160a01b031681565b96600460206040998a51928380926327f843b560e11b82525afa8015610acc5782915f916114d2575b50169116116114c157600183018054909861131b93929188906001600160a01b0316910151926127d0565b90611330816002850154818082109118021890565b9687156114b05760601c60ff1661149f579261145861144b89946114236114108b9687876102c59f61141e8f9d8f9e61145e9f61137a86600160601b60ff60601b19825416179055565b8a54855461139c91906001600160a01b0316885465ffffffffffff1691612a06565b8a5485546113b59189916001600160a01b031690612a86565b8a5494546113d3906001600160a01b0316965465ffffffffffff1690565b976113dc610582565b9384526020840152818301525196879160208301919091604080606083019480518452602081015160208501520151910152565b03601f198101875286610542565b612bf2565b61143c611436855465ffffffffffff1690565b86612cfb565b5494546001600160a01b031690565b915465ffffffffffff1690565b92612d78565b81518381527f5cc28df3b54da9d06f805d87616ebf969c81310f2aa8369cb14ca50f815d411190602090a2610a5a60015f805160206134f883398151915255565b8551633428e90760e01b8152600490fd5b865163167f871760e31b8152600490fd5b8551639ea153eb60e01b8152600490fd5b6114eb915060203d602011610ac557610ab68183610542565b5f6112f0565b60405163b62b15c760e01b8152600490fd5b5061151061093f426125f5565b868860301c161161129b565b506115406108ff61153461152f426125f5565b6119f8565b60208b015190856119bf565b1515611295565b604051637822972360e11b8152600490fd5b611567929350810190611fb9565b905f80611244565b34610229575f3660031901126102295760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610229575f366003190112610229576020600554604051908152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576040366003190112610229576024356001600160401b0381116102295761165961164860209236906004016105b9565b611651426125f5565b6004356119bf565b6040516001600160a01b039091168152f35b34610229575f366003190112610229576020604051620249f08152f35b34610229575f36600319011261022957602065ffffffffffff60045416604051908152f35b34610229576116bb366111ea565b906116c46123f5565b6116cc612041565b9180611807575b5050600354821015611547576116e882610fc8565b506003815491019182549165ffffffffffff9160018060a01b036117108251858716856119bf565b169182159182156117de575b50506117cc5733036117ba5761173461093f426125f5565b908260301c1611156117a95760601c60ff1661179757805460ff60601b1916600160601b17905533907f7d3d269c851b72257a5194a401d151902e9be4347d555996dcff3ff86a077e925f80a3610dcd60015f805160206134f883398151915255565b604051633428e90760e01b8152600490fd5b60405162c457e560e81b8152600490fd5b604051635d154fe160e11b8152600490fd5b60405163dd1ebd9d60e01b8152600490fd5b6117ff9250906108ff9160206117f661152f426125f5565b910151916119bf565b155f8061171c565b611814925081019061205a565b5f806116d3565b34610229575f366003190112610229575f546040516001600160a01b039091168152602090f35b81601f82011215610229578051906118598261059e565b926118676040519485610542565b8284526020838301011161022957815f9260208093018386015e8301015290565b906020828203126102295781516001600160401b038111610229576103949201611842565b6040513d5f823e3d90fd5b604061039492602083525191602080820152019061023d565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252909116604482015265ffffffffffff9091166064820152606091905f81806084810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610acc575f91611986575b50805161195e5750565b61110e9192506103949060405190611975826104be565b8152604051928391602083016118b8565b6119a291503d805f833e61199a8183610542565b810190611888565b5f611954565b92916119b691606094611e75565b805161195e5750565b5f9081526006602052604090206001600160a01b03926119e0929091612152565b1690565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9081165f190191908211611a0f57565b6119e4565b65ffffffffffff9182169082160391908211611a0f57565b611a4d90939293611a406060958483611e75565b9261113861152f426125f5565b815115801590611ab4575b611a60575050565b611aa19293509061110e6103949260405192611a7b846104de565b83526020830190815260405194859360208086015251604080860152608085019061023d565b9051838203603f1901606085015261023d565b5080511515611a58565b60405190611acb826104be565b60608252565b906020828203126102295781356001600160401b03928382116102295701906020828203126102295760405192611b07846104be565b823590811161022957611b1a92016105b9565b815290565b91909165ffffffffffff80809416911601918211611a0f57565b9081602091031261022957516103948161022d565b634e487b7160e01b5f525f60045260245ffd5b600354600160401b8110156104d957806001611b809201600355610fc8565b919091611c43578051825560208101516001830180546001600160a01b0319166001600160a01b039290921691909117905561058f91611c299060a090600390604085015160028201550192611bf665ffffffffffff606083015116859065ffffffffffff1665ffffffffffff19825416179055565b60808101516bffffffffffff00000000000085549160301b16906bffffffffffff00000000000019161784550151151590565b815460ff60601b191690151560601b60ff60601b16179055565b611b4e565b906103949160208152611c67825160606020840152608083019061023d565b9060606040611c87602086015194601f199586868303018487015261023d565b940151928285030191015261023d565b919093925f606095611caa838287611e75565b94611d0d611cc4611cbd61152f426125f5565b8484611e75565b604051632751749360e11b81526001600160a01b039384166004820152602481019490945291909516604483015265ffffffffffff909316606482015292839081906084820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610acc575f92611da9575b50825115801590611d9f575b8015611d95575b611d6557505050565b61110e939450906103949291611d79610582565b9283526020830152604082015260405192839160208301611c48565b5081511515611d5c565b5080511515611d55565b611dbe9192503d805f833e61199a8183610542565b905f611d49565b5190811515820361022957565b908160209103126102295761039490611dc5565b81810292918115918404141715611a0f57565b9060018201809211611a0f57565b91908201809211611a0f57565b3d15611e3e573d90611e258261059e565b91611e336040519384610542565b82523d5f602084013e565b606090565b519063ffffffff8216820361022957565b9190826040910312610229576103946020611e6e84611dc5565b9301611e43565b92915f8060609565ffffffffffff60405194602096638f82f93160e01b88880152602487015216604485015260448452611eae84610527565b6040519384611edb87820192639f86fd8560e01b845230602484015260406044840152606483019061023d565b0394611eef601f1996878101835282610542565b51915afa50611f0d611eff611e14565b838082518301019101612627565b9015611f6057808380611f2593518301019101611e54565b9290611f3057505050565b61039492939450611f54604051948592830191909163ffffffff6020820193169052565b03908101835282610542565b809150519182156102295701fd5b5f9081526002602090815260408083206001600160a01b0390941683529290522061039492919061265b565b60405190611fa7826104f9565b60606040838281528260208201520152565b906020828203126102295781356001600160401b03928382116102295701906060828203126102295760405192611fef846104f9565b823581811161022957826120049185016105b9565b84526020830135818111610229578261201e9185016105b9565b602085015260408301359081116102295761203992016105b9565b604082015290565b6040519061204e826104de565b60606020838281520152565b906020828203126102295781356001600160401b03928382116102295701906040828203126102295760405192612090846104de565b823581811161022957826120a59185016105b9565b84526020830135908111610229576120bd92016105b9565b602082015290565b8054821015611000575f5260205f2001905f90565b6120e381612e74565b6001600160d01b038116156121085760016120fe92016120c5565b90549060031b1c90565b50505f90565b908160209103126102295761039490611e43565b5f19810191908211611a0f57565b91908203918211611a0f57565b90600163ffffffff80931601918211611a0f57565b91805115612236578060208061216d9351830101910161210e565b916121788382612eb4565b92612189845165ffffffffffff1690565b9065ffffffffffff808516921682811461221d57821191826121c8575b50506121b6576103949250613319565b5050602001516001600160d01b031690565b9091506121d58354612122565b63ffffffff8316149182156121ee575b50505f806121a6565b61221591925061220961220361093f9261213d565b85612eb4565b5165ffffffffffff1690565b115f806121e5565b50505050602091909101516001600160d01b0316905090565b5061039491613319565b91909160408184031261022957803561225881610218565b9260208201356001600160401b0381116102295761039492016105b9565b90816020910312610229575161039481610218565b61229791810190612240565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610acc575f916123d8575b50156123c65781612328600492612308612f08565b5f80546001600160a01b0319166001600160a01b03891617905586612f95565b94604051928380926313c085b760e11b82525afa918215610acc575f92612399575b505016158061238f575b61237d575161058f9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515612354565b6123b89250803d106123bf575b6123b08183610542565b810190612276565b5f8061234a565b503d6123a6565b6040516362df054560e01b8152600490fd5b6123ef9150833d8511610f9957610f8b8183610542565b5f6122f3565b5f805160206134f883398151915260028154146124125760029055565b604051633ee5aeb560e01b8152600490fd5b604051635daf681960e11b815260609190911c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa918215610acc575f9261249a575b503391160361248857565b60405163227bf64d60e01b8152600490fd5b6124b491925060203d6020116123bf576123b08183610542565b905f61247d565b906040516124c8816104de565b915465ffffffffffff8116835260301c6020830152565b908154905f829160058411612568575b6124fa9350846131c1565b90811561255c5761251b9061250e83612122565b905f5260205f20016124bb565b9161255561254c6125466020612537875165ffffffffffff1690565b9601516001600160d01b031690565b93612122565b63ffffffff1690565b6001939291565b50505f905f905f905f90565b919261257381613096565b8103908111611a0f576124fa93855f5265ffffffffffff808360205f20015416908516105f146125a45750916124ef565b9291506125b090611df9565b906124ef565b906125c082612e74565b91805480156125e1575f1901906125d782826120c5565b611c43575f905555565b634e487b7160e01b5f52603160045260245ffd5b65ffffffffffff90818111612608571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b9190916040818403126102295761263d81611dc5565b9260208201516001600160401b038111610229576103949201611842565b9180511561271d57806020806126769351830101910161210e565b916126818382613267565b92612692845165ffffffffffff1690565b9065ffffffffffff808516921682811461271157821191826126c8575b50506126bf57610394925061325c565b50506020015190565b9091506126d58354612122565b63ffffffff8316149182156126ee575b50505f806126af565b61270991925061220961270361093f9261213d565b85613267565b115f806126e5565b50505050506020015190565b506103949161325c565b906020828203126102295781516001600160401b0392838211610229570190604082820312610229576040519261275d846104de565b82518181116102295782612772918501611842565b84526020830151908111610229576120bd9201611842565b90816020910312610229575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526103949291019061023d565b926127d9612041565b908051806129ec575b50506127ed426125f5565b5f54909490612806906108ff906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa8015610acc5761283a9261093f925f926129d45750611a14565b65ffffffffffff82169081109081156129bd575b811561298c575b50612980578560049560405196878092630ce9b79360e41b82525afa948515610acc576128a79587915f91612963575b50845190604051808099819463e02f693760e01b8352878b8a60048601612799565b03916001600160a01b03165afa938415610acc5761291f955f95612922575b509261290e85936129149361290e96869a61290561035e836128f0875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192611f6e565b90612130565b818082109118021890565b91565b61291492955061290e94919361295061290e928a3d8c1161295c575b6129488183610542565b81019061278a565b969350939194506128c6565b503d61293e565b61297a9150823d84116123bf576123b08183610542565b5f612885565b5050505050505f905f90565b90506129b661093f6129aa876128f0875f52600160205260405f2090565b5465ffffffffffff1690565b115f612855565b90506129cb61093f426125f5565b8110159061284e565b610abe9192508a3d8c11610ac557610ab68183610542565b6129ff9250602080918301019101612727565b5f806127e2565b919091805f52600160205265ffffffffffff80612a368560405f209060018060a01b03165f5260205260405f2090565b541690831611612a4557505050565b61058f92612a6d915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9190825f526002602052612ade61035e612ab38360405f209060018060a01b03165f5260205260405f2090565b92612abd426125f5565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211611a0f576001810190815415612b82575b612afe81613223565b509490835495612b0d846120da565b5081612b6d575b5015612b4c5750505f198301928311611a0f5761058f92612b34916120c5565b90919082549060031b91821b915f19901b1916179055565b61058f94612b66926001600160d01b03909116919061341a565b50506132f6565b65ffffffffffff83811691161490505f612b14565b612b8b826132c9565b612af5565b60606020610394938184526001600160401b0381511682850152015191604080820152019061023d565b919360a093610394969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061023d565b92939060046020612c0f6108ff6108ff5f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa908115610acc5761110e91612c8d915f91612cdc575b506001600160a01b031693612c4c610591565b6001600160401b037f000000000000000000000000000000000000000000000000000000000000000016815290602082015260405192839160208301612b90565b823b15610229575f94612cb886926040519889978896879563724ab0f760e11b875260048701612bba565b03925af18015610acc57612cc95750565b80612cd661058f92610514565b806102c9565b612cf5915060203d6020116123bf576123b08183610542565b5f612c39565b65ffffffffffff9160446020925f60018060a01b038154166040519687958694631c9e38c760e21b865260048601521660248401525af18015610acc57612d3f5750565b612d579060203d60201161295c576129488183610542565b50565b8115612d64570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c16612d90575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa918215610acc575f92612e4d575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff9091166084830152612e1a8260a481015b03601f198101845283610542565b6202a15c5a10612e3b575f928380935192620249f0f1505f80808080612d89565b604051632153f33560e21b8152600490fd5b612e1a9250612e6d612e0c9160203d6020116123bf576123b08183610542565b9250612dc1565b805480612e815750505f90565b5f19918183810111611a0f575f5260205f2001015460301c90565b60405190612ea9826104de565b5f6020838281520152565b612ed991612ed391612ec4612e9c565b50612ecd612e9c565b506120c5565b506124bb565b65ffffffffffff81511690602060018060d01b039101511660405191612efe836104de565b8252602082015290565b612f106133a5565b612f186133a5565b60015f805160206134f883398151915255565b60405190612f38826104be565b5f8252565b809103906060821261022957602060405192612f58846104f9565b12610229576040908151612f6b816104be565b612f7482611dc5565b815283526020810151612f868161022d565b60208401520151604082015290565b90600490612fa1612f2b565b508051612fb8602092838080948301019101612f3d565b6040516327f843b560e11b815290949093849182906001600160a01b03165afa918215610acc575f92613077575b50820190612ffa825165ffffffffffff1690565b65ffffffffffff91821691161015613065576040820160038151106130535761304961302f61304f935165ffffffffffff1690565b65ffffffffffff1665ffffffffffff196004541617600455565b51600555565b5190565b6040516354f778f360e01b8152600490fd5b6040516367d5e3df60e11b8152600490fd5b8161308f9293503d8411610ac557610ab68183610542565b905f612fe6565b600181111561039457600181600160801b8110156131af575b61315761314d61314361313961312f61312561316397600488600160401b61315e9a10156131a2575b640100000000811015613195575b62010000811015613188575b61010081101561317c575b6010811015613170575b1015613168575b60030260011c61311e818b612d5a565b0160011c90565b61311e818a612d5a565b61311e8189612d5a565b61311e8188612d5a565b61311e8187612d5a565b61311e8186612d5a565b8093612d5a565b821190565b900390565b60011b61310e565b811c9160021b91613107565b60081c91811b916130fd565b60101c9160081b916130f2565b60201c9160101b916130e6565b60401c9160201b916130d8565b50600160401b9050608082901c6130af565b91905b8382106131d15750505090565b909192808316906001818518811c8301809311611a0f57855f5265ffffffffffff808460205f20015416908516105f14613210575050925b91906131c4565b909493508101809111611a0f5791613209565b8054806132345750505f905f905f90565b5f19918183810111611a0f575f5260205f2001015460019165ffffffffffff82169160301c90565b906120e39082613319565b9061328a612ed36132ab9261327a612e9c565b50613283612e9c565b50846120c5565b91600165ffffffffffff845116936020828060d01b039101511691016120c5565b905490604051926132bb846104de565b835260031b1c602082015290565b8054600160401b8110156104d9576132e6916001820181556120c5565b8154905f199060031b1b19169055565b90815491600160401b8310156104d95782612b3491600161058f950181556120c5565b908154905f829160058411613357575b6133349350846131c1565b8061333f5750505f90565b61334890612122565b905f5260205f20015460301c90565b919261336281613096565b8103908111611a0f5761333493855f5265ffffffffffff808360205f20015416908516105f14613393575091613329565b92915061339f90611df9565b90613329565b60ff5f805160206135188339815191525460401c16156133c157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156104d9576133f0916001820181556120c5565b611c4357815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b805492939280156134cd5761343161343c91612122565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116134bb57879303613482575061347b92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506134b6916134a2613494610591565b65ffffffffffff9093168352565b6001600160d01b03861660208301526133d3565b61347b565b604051632520601d60e01b8152600490fd5b50906134f2916134de613494610591565b6001600160d01b03851660208301526133d3565b5f919056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122083c9d2c27050cb61d0026c4a120151139ad36b1ef086f66b4ca1715f04bbc28864736f6c63430008190033","sourceMap":"3563:3596:97:-:0;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;348:4:95;332:21;;8837:64:26;3563:3596:97;;;;;;;;;7896:76:26;;3563:3596:97;;;;7985:34:26;7981:146;;-1:-1:-1;525:17:82;-1:-1:-1;525:17:82;;-1:-1:-1;552:12:82;;-1:-1:-1;2353:28:105;;2391:53;;-1:-1:-1;2391:53:105;;1620:34:107;;-1:-1:-1;1620:34:107;;3901:37:97;;;;3563:3596;;;;;;;;;332:21:95;3563:3596:97;;;;;525:17:82;3563:3596:97;;;;;552:12:82;3563:3596:97;;;;;;;;;;2353:28:105;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;3563:3596:97;;;;;;;;;;;;;8087:29:26;;3563:3596:97;;8087:29:26;7981:146;;;;;7896:76;3563:3596:97;;-1:-1:-1;;;7938:23:26;;;;;3563:3596:97;-1:-1:-1;3563:3596:97;;;;;;-1:-1:-1;3563:3596:97;;;;;-1:-1:-1;3563:3596:97","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80622a087514610213578063103f29071461020e5780631a2be2c4146102095780631dd5f60014610204578063267de1f3146101ff5780632964f8dc146101fa5780632c9d45b3146101f55780632dd31000146101f057806331ce4dfe146101eb57806334d098ea146101e6578063439fab91146101e1578063457821b7146101dc5780635264679b146101d7578063545ce389146101d257806369f78920146101cd5780638f42f9ab146101c85780638f82f931146101c35780639168f9d2146101be5780639a896551146101b95780639f86fd85146101b4578063a4ef9b4f146101af578063aa8e6489146101aa578063aab3595f146101a5578063b94c386e146101a0578063bb24fe8a1461019b578063bc6eac5b14610196578063c0cd7c3e14610191578063cd05b8a11461018c578063d5c24e1a14610187578063e054e08b14610182578063f9268d181461017d5763fbfa77cf14610178575f80fd5b61181b565b6116ad565b611688565b61166b565b611613565b6115cf565b6115b2565b61156f565b61121d565b6111c5565b611187565b611124565b611090565b611005565b610bda565b610b49565b610b2c565b610ae7565b61084f565b610835565b6107f1565b6106b9565b610668565b6105ff565b610466565b610422565b610406565b6103b1565b610397565b610317565b6102d3565b610261565b6001600160a01b0381160361022957565b5f80fd5b65ffffffffffff81160361022957565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346102295760c0366003190112610229576102c56102b160043561028481610218565b61028f602435610218565b60643561029b81610218565b60a435916102a88361022d565b604435906118d1565b60405191829160208352602083019061023d565b0390f35b5f91031261022957565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022957604036600319011261022957602061036361035e60243561033c81610218565b6004355f526002845260405f209060018060a01b03165f5260205260405f2090565b6120da565b604051908152f35b60609060031901126102295760043561038381610218565b90602435906044356103948161022d565b90565b34610229576102c56102b16103ab3661036b565b916119a8565b3461022957604036600319011261022957602065ffffffffffff6103fc6024356103da81610218565b6004355f526001845260405f209060018060a01b03165f5260205260405f2090565b5416604051908152f35b34610229575f366003190112610229576020604051614e208152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b634e487b7160e01b5f52604160045260245ffd5b602081019081106001600160401b038211176104d957604052565b6104aa565b604081019081106001600160401b038211176104d957604052565b606081019081106001600160401b038211176104d957604052565b6001600160401b0381116104d957604052565b608081019081106001600160401b038211176104d957604052565b90601f801991011681019081106001600160401b038211176104d957604052565b6040519060c082018281106001600160401b038211176104d957604052565b6040519061058f826104f9565b565b6040519061058f826104de565b6001600160401b0381116104d957601f01601f191660200190565b81601f82011215610229578035906105d08261059e565b926105de6040519485610542565b8284526020838301011161022957815f926020809301838601378301015290565b346102295760603660031901126102295760243561061c8161022d565b604435906001600160401b0382116102295761065f61064160209336906004016105b9565b6004355f90815260068552604090206001600160a01b039390612152565b16604051908152f35b34610229575f36600319011261022957602060ff5f5460a01c166040519015158152f35b9181601f84011215610229578235916001600160401b038311610229576020838186019501011161022957565b34610229576020366003190112610229576001600160401b03600435818111610229576106ea90369060040161068c565b5f80516020613518833981519152549260ff8460401c16159316801590816107e9575b60011490816107df575b1590816107d6575b506107c4575f80516020613518833981519152805467ffffffffffffffff1916600117905561075291836107a05761228b565b61075857005b5f80516020613518833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b5f80516020613518833981519152805460ff60401b1916600160401b17905561228b565b60405163f92ee8a960e01b8152600490fd5b9050155f61071f565b303b159150610717565b84915061070d565b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576102c56102b16108493661036b565b91611a2c565b346102295760a0366003190112610229576024356004803561087083610218565b604435926064356108808161022d565b6084356001600160401b0381116102295761089e903690860161068c565b94906108a86123f5565b6108b185612424565b6108b9611abe565b9580610ad1575b50506108cb426125f5565b906108e66108df825465ffffffffffff1690565b8093611b1f565b5f5490969061090b906108ff906001600160a01b031681565b6001600160a01b031690565b968260206040998a51928380926327f843b560e11b82525afa8015610acc5761094a9261093f925f92610a9b575b50611a14565b65ffffffffffff1690565b65ffffffffffff8516908110908115610a85575b50610a765761097090518486886127d0565b5096878082109118028088189714610a68576102c5610a41878988887f3cb7f4ff6cecf74cee0eb9ae3ebf8933fa60a53014cce52f96da72a78dba8464896109c08a6109bb426125f5565b611b1f565b92600354978894610a116109d2610563565b8881526001600160a01b0385166020820152808b018a905265ffffffffffff8616606082015265ffffffffffff831660808201525f60a0820152611b61565b885197885265ffffffffffff938416602089015290921660408701526001600160a01b0316949081906060820190565b0390a4610a5a60015f805160206134f883398151915255565b519081529081906020820190565b855163167f871760e31b8152fd5b508551631357ac9160e11b8152fd5b9050610a9361093f426125f5565b11155f61095e565b610abe91925060203d602011610ac5575b610ab68183610542565b810190611b39565b905f610939565b503d610aac565b6118ad565b610adf929650810190611ad1565b935f806108c0565b34610229576080366003190112610229576102c56102b1600435610b0a81610218565b604435610b1681610218565b60643591610b238361022d565b60243590611c97565b34610229575f366003190112610229576020600354604051908152f35b3461022957604036600319011261022957602435610b668161022d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610bc85763ffffffff610bb36040926004355f526006602052835f206124df565b91505083929192519215158352166020820152f35b604051637ca475e560e11b8152600490fd5b346102295760603660031901126102295760048035906bffffffffffffffffffffffff8216820361022957602435610c1181610218565b6044356001600160401b03811161022957610c2f903690840161068c565b90610c386123f5565b610c40611abe565b5081610fa0575b5050604080516302910f8b60e31b8152338185019081526001600160a01b0395929491602091829082908190830103818a7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610acc575f91610f73575b5015610f64575f54610ce5906001600160a01b0316936bffffffffffffffffffffffff166bffffffffffffffffffffffff193360601b161790565b95610d00610cfb885f52600660205260405f2090565b613223565b50949015610efa57610d1461093f426125f5565b65ffffffffffff9586161115610ec457610d3e610d39895f52600660205260405f2090565b6125b6565b505b610d636108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b612e74565b91808716928303610dcf575b505050505050610db4907f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b7570925b516001600160a01b0390911681529081906020820190565b0390a2610dcd60015f805160206134f883398151915255565b005b610de68998959796985f52600660205260405f2090565b911692845163186a323160e21b815281818981885afa908115610acc575f91610ea7575b5081600554958751998a80926327f843b560e11b82525afa908115610acc5789610e6f610e81977f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b75709c610e7695610db49d610e7b985f92610e8a575b50501690611de6565b9116611e07565b6125f5565b9061341a565b82958495610d6f565b610ea09250803d10610ac557610ab68183610542565b5f80610e66565b610ebe9150823d8411610ac557610ab68183610542565b5f610e0a565b610ee26108ff6108ff6108ff610d5e8c5f52600660205260405f2090565b82871603610d4057865163a741a04560e01b81528490fd5b5093949385169250508115610f56575091610db491610f4f7f7b0b759b513b299fd2811f51926dca8854222a675557e8d544ce0933bf5b757094610f46875f52600660205260405f2090565b610e7b426125f5565b5050610d9c565b825163a741a04560e01b8152fd5b5083516323d53b9760e21b8152fd5b610f939150823d8411610f99575b610f8b8183610542565b810190611dd2565b5f610caa565b503d610f81565b610fac91810190611ad1565b505f80610c47565b634e487b7160e01b5f52603260045260245ffd5b6003548110156110005760035f5260021b7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01905f90565b610fb4565b34610229576020366003190112610229576004356003548110156102295761102c90610fc8565b50805460018201546002830154600390930154604080519384526001600160a01b0390921660208401529082019290925265ffffffffffff808316606080840191909152603084901c90911660808301529190911c60ff16151560a082015260c090f35b34610229576040366003190112610229576004356110ad81610218565b6024356001600160401b038111610229575f916110cf8392369060040161068c565b90816040519283928337810184815203915af461111c6110ed611e14565b9161110e60405193849215156020840152604080840152606083019061023d565b03601f198101835282610542565b805190602001fd5b34610229576102c56102b16111383661036b565b91611e75565b906080600319830112610229576004359160243561115b81610218565b916044356111688161022d565b91606435906001600160401b03821161022957610394916004016105b9565b346102295760206103636111c061119d3661113e565b939190925f526002865260405f209060018060a01b03165f5260205260405f2090565b61265b565b346102295760206111e16111d83661113e565b929190916127d0565b50604051908152f35b9060406003198301126102295760043591602435906001600160401b038211610229576112199160040161068c565b9091565b346102295761122b366111ea565b91906112356123f5565b61123d611f9a565b9280611559575b50506003548110156115475761125981610fc8565b509081549061126782612424565b6003830180549365ffffffffffff9384861660018060a01b0361128c895183856119bf565b1615158061151c575b80611503575b6114f1576112b1816112ac426125f5565b611a14565b5f546112c7906108ff906001600160a01b031681565b96600460206040998a51928380926327f843b560e11b82525afa8015610acc5782915f916114d2575b50169116116114c157600183018054909861131b93929188906001600160a01b0316910151926127d0565b90611330816002850154818082109118021890565b9687156114b05760601c60ff1661149f579261145861144b89946114236114108b9687876102c59f61141e8f9d8f9e61145e9f61137a86600160601b60ff60601b19825416179055565b8a54855461139c91906001600160a01b0316885465ffffffffffff1691612a06565b8a5485546113b59189916001600160a01b031690612a86565b8a5494546113d3906001600160a01b0316965465ffffffffffff1690565b976113dc610582565b9384526020840152818301525196879160208301919091604080606083019480518452602081015160208501520151910152565b03601f198101875286610542565b612bf2565b61143c611436855465ffffffffffff1690565b86612cfb565b5494546001600160a01b031690565b915465ffffffffffff1690565b92612d78565b81518381527f5cc28df3b54da9d06f805d87616ebf969c81310f2aa8369cb14ca50f815d411190602090a2610a5a60015f805160206134f883398151915255565b8551633428e90760e01b8152600490fd5b865163167f871760e31b8152600490fd5b8551639ea153eb60e01b8152600490fd5b6114eb915060203d602011610ac557610ab68183610542565b5f6112f0565b60405163b62b15c760e01b8152600490fd5b5061151061093f426125f5565b868860301c161161129b565b506115406108ff61153461152f426125f5565b6119f8565b60208b015190856119bf565b1515611295565b604051637822972360e11b8152600490fd5b611567929350810190611fb9565b905f80611244565b34610229575f3660031901126102295760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610229575f366003190112610229576020600554604051908152f35b34610229575f366003190112610229576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610229576040366003190112610229576024356001600160401b0381116102295761165961164860209236906004016105b9565b611651426125f5565b6004356119bf565b6040516001600160a01b039091168152f35b34610229575f366003190112610229576020604051620249f08152f35b34610229575f36600319011261022957602065ffffffffffff60045416604051908152f35b34610229576116bb366111ea565b906116c46123f5565b6116cc612041565b9180611807575b5050600354821015611547576116e882610fc8565b506003815491019182549165ffffffffffff9160018060a01b036117108251858716856119bf565b169182159182156117de575b50506117cc5733036117ba5761173461093f426125f5565b908260301c1611156117a95760601c60ff1661179757805460ff60601b1916600160601b17905533907f7d3d269c851b72257a5194a401d151902e9be4347d555996dcff3ff86a077e925f80a3610dcd60015f805160206134f883398151915255565b604051633428e90760e01b8152600490fd5b60405162c457e560e81b8152600490fd5b604051635d154fe160e11b8152600490fd5b60405163dd1ebd9d60e01b8152600490fd5b6117ff9250906108ff9160206117f661152f426125f5565b910151916119bf565b155f8061171c565b611814925081019061205a565b5f806116d3565b34610229575f366003190112610229575f546040516001600160a01b039091168152602090f35b81601f82011215610229578051906118598261059e565b926118676040519485610542565b8284526020838301011161022957815f9260208093018386015e8301015290565b906020828203126102295781516001600160401b038111610229576103949201611842565b6040513d5f823e3d90fd5b604061039492602083525191602080820152019061023d565b604051632751749360e11b81526001600160a01b0391821660048201526024810192909252909116604482015265ffffffffffff9091166064820152606091905f81806084810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610acc575f91611986575b50805161195e5750565b61110e9192506103949060405190611975826104be565b8152604051928391602083016118b8565b6119a291503d805f833e61199a8183610542565b810190611888565b5f611954565b92916119b691606094611e75565b805161195e5750565b5f9081526006602052604090206001600160a01b03926119e0929091612152565b1690565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff9081165f190191908211611a0f57565b6119e4565b65ffffffffffff9182169082160391908211611a0f57565b611a4d90939293611a406060958483611e75565b9261113861152f426125f5565b815115801590611ab4575b611a60575050565b611aa19293509061110e6103949260405192611a7b846104de565b83526020830190815260405194859360208086015251604080860152608085019061023d565b9051838203603f1901606085015261023d565b5080511515611a58565b60405190611acb826104be565b60608252565b906020828203126102295781356001600160401b03928382116102295701906020828203126102295760405192611b07846104be565b823590811161022957611b1a92016105b9565b815290565b91909165ffffffffffff80809416911601918211611a0f57565b9081602091031261022957516103948161022d565b634e487b7160e01b5f525f60045260245ffd5b600354600160401b8110156104d957806001611b809201600355610fc8565b919091611c43578051825560208101516001830180546001600160a01b0319166001600160a01b039290921691909117905561058f91611c299060a090600390604085015160028201550192611bf665ffffffffffff606083015116859065ffffffffffff1665ffffffffffff19825416179055565b60808101516bffffffffffff00000000000085549160301b16906bffffffffffff00000000000019161784550151151590565b815460ff60601b191690151560601b60ff60601b16179055565b611b4e565b906103949160208152611c67825160606020840152608083019061023d565b9060606040611c87602086015194601f199586868303018487015261023d565b940151928285030191015261023d565b919093925f606095611caa838287611e75565b94611d0d611cc4611cbd61152f426125f5565b8484611e75565b604051632751749360e11b81526001600160a01b039384166004820152602481019490945291909516604483015265ffffffffffff909316606482015292839081906084820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610acc575f92611da9575b50825115801590611d9f575b8015611d95575b611d6557505050565b61110e939450906103949291611d79610582565b9283526020830152604082015260405192839160208301611c48565b5081511515611d5c565b5080511515611d55565b611dbe9192503d805f833e61199a8183610542565b905f611d49565b5190811515820361022957565b908160209103126102295761039490611dc5565b81810292918115918404141715611a0f57565b9060018201809211611a0f57565b91908201809211611a0f57565b3d15611e3e573d90611e258261059e565b91611e336040519384610542565b82523d5f602084013e565b606090565b519063ffffffff8216820361022957565b9190826040910312610229576103946020611e6e84611dc5565b9301611e43565b92915f8060609565ffffffffffff60405194602096638f82f93160e01b88880152602487015216604485015260448452611eae84610527565b6040519384611edb87820192639f86fd8560e01b845230602484015260406044840152606483019061023d565b0394611eef601f1996878101835282610542565b51915afa50611f0d611eff611e14565b838082518301019101612627565b9015611f6057808380611f2593518301019101611e54565b9290611f3057505050565b61039492939450611f54604051948592830191909163ffffffff6020820193169052565b03908101835282610542565b809150519182156102295701fd5b5f9081526002602090815260408083206001600160a01b0390941683529290522061039492919061265b565b60405190611fa7826104f9565b60606040838281528260208201520152565b906020828203126102295781356001600160401b03928382116102295701906060828203126102295760405192611fef846104f9565b823581811161022957826120049185016105b9565b84526020830135818111610229578261201e9185016105b9565b602085015260408301359081116102295761203992016105b9565b604082015290565b6040519061204e826104de565b60606020838281520152565b906020828203126102295781356001600160401b03928382116102295701906040828203126102295760405192612090846104de565b823581811161022957826120a59185016105b9565b84526020830135908111610229576120bd92016105b9565b602082015290565b8054821015611000575f5260205f2001905f90565b6120e381612e74565b6001600160d01b038116156121085760016120fe92016120c5565b90549060031b1c90565b50505f90565b908160209103126102295761039490611e43565b5f19810191908211611a0f57565b91908203918211611a0f57565b90600163ffffffff80931601918211611a0f57565b91805115612236578060208061216d9351830101910161210e565b916121788382612eb4565b92612189845165ffffffffffff1690565b9065ffffffffffff808516921682811461221d57821191826121c8575b50506121b6576103949250613319565b5050602001516001600160d01b031690565b9091506121d58354612122565b63ffffffff8316149182156121ee575b50505f806121a6565b61221591925061220961220361093f9261213d565b85612eb4565b5165ffffffffffff1690565b115f806121e5565b50505050602091909101516001600160d01b0316905090565b5061039491613319565b91909160408184031261022957803561225881610218565b9260208201356001600160401b0381116102295761039492016105b9565b90816020910312610229575161039481610218565b61229791810190612240565b6040516302910f8b60e31b81526001600160a01b0392831660048201819052929160209182816024817f000000000000000000000000000000000000000000000000000000000000000088165afa908115610acc575f916123d8575b50156123c65781612328600492612308612f08565b5f80546001600160a01b0319166001600160a01b03891617905586612f95565b94604051928380926313c085b760e11b82525afa918215610acc575f92612399575b505016158061238f575b61237d575161058f9015155f805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60405163d2420f5960e01b8152600490fd5b5080511515612354565b6123b89250803d106123bf575b6123b08183610542565b810190612276565b5f8061234a565b503d6123a6565b6040516362df054560e01b8152600490fd5b6123ef9150833d8511610f9957610f8b8183610542565b5f6122f3565b5f805160206134f883398151915260028154146124125760029055565b604051633ee5aeb560e01b8152600490fd5b604051635daf681960e11b815260609190911c60048201526001600160a01b036020826024817f000000000000000000000000000000000000000000000000000000000000000085165afa918215610acc575f9261249a575b503391160361248857565b60405163227bf64d60e01b8152600490fd5b6124b491925060203d6020116123bf576123b08183610542565b905f61247d565b906040516124c8816104de565b915465ffffffffffff8116835260301c6020830152565b908154905f829160058411612568575b6124fa9350846131c1565b90811561255c5761251b9061250e83612122565b905f5260205f20016124bb565b9161255561254c6125466020612537875165ffffffffffff1690565b9601516001600160d01b031690565b93612122565b63ffffffff1690565b6001939291565b50505f905f905f905f90565b919261257381613096565b8103908111611a0f576124fa93855f5265ffffffffffff808360205f20015416908516105f146125a45750916124ef565b9291506125b090611df9565b906124ef565b906125c082612e74565b91805480156125e1575f1901906125d782826120c5565b611c43575f905555565b634e487b7160e01b5f52603160045260245ffd5b65ffffffffffff90818111612608571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b9190916040818403126102295761263d81611dc5565b9260208201516001600160401b038111610229576103949201611842565b9180511561271d57806020806126769351830101910161210e565b916126818382613267565b92612692845165ffffffffffff1690565b9065ffffffffffff808516921682811461271157821191826126c8575b50506126bf57610394925061325c565b50506020015190565b9091506126d58354612122565b63ffffffff8316149182156126ee575b50505f806126af565b61270991925061220961270361093f9261213d565b85613267565b115f806126e5565b50505050506020015190565b506103949161325c565b906020828203126102295781516001600160401b0392838211610229570190604082820312610229576040519261275d846104de565b82518181116102295782612772918501611842565b84526020830151908111610229576120bd9201611842565b90816020910312610229575190565b9081526001600160a01b03909116602082015265ffffffffffff90911660408201526080606082018190526103949291019061023d565b926127d9612041565b908051806129ec575b50506127ed426125f5565b5f54909490612806906108ff906001600160a01b031681565b93604051956327f843b560e11b875260209687816004818a5afa8015610acc5761283a9261093f925f926129d45750611a14565b65ffffffffffff82169081109081156129bd575b811561298c575b50612980578560049560405196878092630ce9b79360e41b82525afa948515610acc576128a79587915f91612963575b50845190604051808099819463e02f693760e01b8352878b8a60048601612799565b03916001600160a01b03165afa938415610acc5761291f955f95612922575b509261290e85936129149361290e96869a61290561035e836128f0875f52600260205260405f2090565b9060018060a01b03165f5260205260405f2090565b95015192611f6e565b90612130565b818082109118021890565b91565b61291492955061290e94919361295061290e928a3d8c1161295c575b6129488183610542565b81019061278a565b969350939194506128c6565b503d61293e565b61297a9150823d84116123bf576123b08183610542565b5f612885565b5050505050505f905f90565b90506129b661093f6129aa876128f0875f52600160205260405f2090565b5465ffffffffffff1690565b115f612855565b90506129cb61093f426125f5565b8110159061284e565b610abe9192508a3d8c11610ac557610ab68183610542565b6129ff9250602080918301019101612727565b5f806127e2565b919091805f52600160205265ffffffffffff80612a368560405f209060018060a01b03165f5260205260405f2090565b541690831611612a4557505050565b61058f92612a6d915f52600160205260405f209060018060a01b03165f5260205260405f2090565b9065ffffffffffff1665ffffffffffff19825416179055565b9190825f526002602052612ade61035e612ab38360405f209060018060a01b03165f5260205260405f2090565b92612abd426125f5565b955f52600260205260405f209060018060a01b03165f5260205260405f2090565b918201809211611a0f576001810190815415612b82575b612afe81613223565b509490835495612b0d846120da565b5081612b6d575b5015612b4c5750505f198301928311611a0f5761058f92612b34916120c5565b90919082549060031b91821b915f19901b1916179055565b61058f94612b66926001600160d01b03909116919061341a565b50506132f6565b65ffffffffffff83811691161490505f612b14565b612b8b826132c9565b612af5565b60606020610394938184526001600160401b0381511682850152015191604080820152019061023d565b919360a093610394969565ffffffffffff938552600180871b031660208501526040840152166060820152816080820152019061023d565b92939060046020612c0f6108ff6108ff5f5460018060a01b031690565b604051630ce9b79360e41b815292839182905afa908115610acc5761110e91612c8d915f91612cdc575b506001600160a01b031693612c4c610591565b6001600160401b037f000000000000000000000000000000000000000000000000000000000000000016815290602082015260405192839160208301612b90565b823b15610229575f94612cb886926040519889978896879563724ab0f760e11b875260048701612bba565b03925af18015610acc57612cc95750565b80612cd661058f92610514565b806102c9565b612cf5915060203d6020116123bf576123b08183610542565b5f612c39565b65ffffffffffff9160446020925f60018060a01b038154166040519687958694631c9e38c760e21b865260048601521660248401525af18015610acc57612d3f5750565b612d579060203d60201161295c576129488183610542565b50565b8115612d64570490565b634e487b7160e01b5f52601260045260245ffd5b92905f549060ff8260a01c16612d90575b5050505050565b6040516313c085b760e11b815291602090839060049082906001600160a01b03165afa918215610acc575f92612e4d575b5060405163065c1e0360e01b6020820190815260248201969096526001600160a01b039091166044820152606481019390935265ffffffffffff9091166084830152612e1a8260a481015b03601f198101845283610542565b6202a15c5a10612e3b575f928380935192620249f0f1505f80808080612d89565b604051632153f33560e21b8152600490fd5b612e1a9250612e6d612e0c9160203d6020116123bf576123b08183610542565b9250612dc1565b805480612e815750505f90565b5f19918183810111611a0f575f5260205f2001015460301c90565b60405190612ea9826104de565b5f6020838281520152565b612ed991612ed391612ec4612e9c565b50612ecd612e9c565b506120c5565b506124bb565b65ffffffffffff81511690602060018060d01b039101511660405191612efe836104de565b8252602082015290565b612f106133a5565b612f186133a5565b60015f805160206134f883398151915255565b60405190612f38826104be565b5f8252565b809103906060821261022957602060405192612f58846104f9565b12610229576040908151612f6b816104be565b612f7482611dc5565b815283526020810151612f868161022d565b60208401520151604082015290565b90600490612fa1612f2b565b508051612fb8602092838080948301019101612f3d565b6040516327f843b560e11b815290949093849182906001600160a01b03165afa918215610acc575f92613077575b50820190612ffa825165ffffffffffff1690565b65ffffffffffff91821691161015613065576040820160038151106130535761304961302f61304f935165ffffffffffff1690565b65ffffffffffff1665ffffffffffff196004541617600455565b51600555565b5190565b6040516354f778f360e01b8152600490fd5b6040516367d5e3df60e11b8152600490fd5b8161308f9293503d8411610ac557610ab68183610542565b905f612fe6565b600181111561039457600181600160801b8110156131af575b61315761314d61314361313961312f61312561316397600488600160401b61315e9a10156131a2575b640100000000811015613195575b62010000811015613188575b61010081101561317c575b6010811015613170575b1015613168575b60030260011c61311e818b612d5a565b0160011c90565b61311e818a612d5a565b61311e8189612d5a565b61311e8188612d5a565b61311e8187612d5a565b61311e8186612d5a565b8093612d5a565b821190565b900390565b60011b61310e565b811c9160021b91613107565b60081c91811b916130fd565b60101c9160081b916130f2565b60201c9160101b916130e6565b60401c9160201b916130d8565b50600160401b9050608082901c6130af565b91905b8382106131d15750505090565b909192808316906001818518811c8301809311611a0f57855f5265ffffffffffff808460205f20015416908516105f14613210575050925b91906131c4565b909493508101809111611a0f5791613209565b8054806132345750505f905f905f90565b5f19918183810111611a0f575f5260205f2001015460019165ffffffffffff82169160301c90565b906120e39082613319565b9061328a612ed36132ab9261327a612e9c565b50613283612e9c565b50846120c5565b91600165ffffffffffff845116936020828060d01b039101511691016120c5565b905490604051926132bb846104de565b835260031b1c602082015290565b8054600160401b8110156104d9576132e6916001820181556120c5565b8154905f199060031b1b19169055565b90815491600160401b8310156104d95782612b3491600161058f950181556120c5565b908154905f829160058411613357575b6133349350846131c1565b8061333f5750505f90565b61334890612122565b905f5260205f20015460301c90565b919261336281613096565b8103908111611a0f5761333493855f5265ffffffffffff808360205f20015416908516105f14613393575091613329565b92915061339f90611df9565b90613329565b60ff5f805160206135188339815191525460401c16156133c157565b604051631afcd79f60e31b8152600490fd5b8054600160401b8110156104d9576133f0916001820181556120c5565b611c4357815160209092015160301b65ffffffffffff191665ffffffffffff909216919091179055565b805492939280156134cd5761343161343c91612122565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116134bb57879303613482575061347b92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506134b6916134a2613494610591565b65ffffffffffff9093168352565b6001600160d01b03861660208301526133d3565b61347b565b604051632520601d60e01b8152600490fd5b50906134f2916134de613494610591565b6001600160d01b03851660208301526133d3565b5f919056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122083c9d2c27050cb61d0026c4a120151139ad36b1ef086f66b4ca1715f04bbc28864736f6c63430008190033","sourceMap":"3563:3596:97:-: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;:::-;-1:-1:-1;;;;;3563:3596:97;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;3563:3596:97;;;;;;;;-1:-1:-1;;3563:3596:97;;;;:::o;:::-;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;3563:3596:97;;;;;;1435:38:105;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;2936:47:105;:38;3563:3596:97;;;;;:::i;:::-;;;-1:-1:-1;3563:3596:97;2936:16:105;3563:3596:97;;;-1:-1:-1;3563:3596:97;;;;;;;;;;;;;;;;;2936:38:105;:47;:::i;:::-;3563:3596:97;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:97;;;;;;1788:109:105;3563:3596:97;;;;;:::i;:::-;;;-1:-1:-1;3563:3596:97;1788:109:105;3563:3596:97;;;-1:-1:-1;3563:3596:97;;;;;;;;;;;;;;;;;1788:109:105;3563:3596:97;;;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;1374:6:105;3563:3596:97;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;1528:51:105;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;322:32:82;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;:::o;:::-;-1:-1:-1;;;;;3563:3596:97;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;3563:3596:97;;;;;;-1:-1:-1;;3563:3596:97;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3563:3596:97;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3563:3596:97;;;;2016:56:107;3563:3596:97;;;;;;;;:::i;:::-;;;-1:-1:-1;3563:3596:97;;;2016:9:107;3563:3596:97;;;;;-1:-1:-1;;;;;3563:3596:97;;2016:56:107;:::i;:::-;3563:3596:97;;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;3563:3596:97;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;3563:3596:97;;;;;;;4301:16:26;3563:3596:97;;4726:16:26;;:34;;;;3563:3596:97;4805:1:26;4790:16;:50;;;;3563:3596:97;4855:13:26;:30;;;;3563:3596:97;4851:91:26;;;-1:-1:-1;;;;;;;;;;;3563:3596:97;;-1:-1:-1;;3563:3596:97;;;;;718:4:82;;4951:18:26;4979:67;;718:4:82;:::i;:::-;5066:101:26;;3563:3596:97;5066:101:26;-1:-1:-1;;;;;;;;;;;3563:3596:97;;-1:-1:-1;;;;3563:3596:97;;;;;-1:-1:-1;3563:3596:97;;5142:14:26;;3563:3596:97;;5142:14:26;3563:3596:97;4979:67:26;-1:-1:-1;;;;;;;;;;;3563:3596:97;;-1:-1:-1;;;;3563:3596:97;-1:-1:-1;;;3563:3596:97;;;718:4:82;:::i;4851:91:26:-;3563:3596:97;;-1:-1:-1;;;4908:23:26;;3563:3596:97;;4908:23:26;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:26;;4726:34;;;-1:-1:-1;4726:34:26;;3563:3596:97;;;;;;-1:-1:-1;;3563:3596:97;;;;;;3726:43;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;:::i;:::-;3361:103:30;;;;:::i;:::-;2123:10:105;;;:::i;:::-;3563:3596:97;;:::i;:::-;2666:16:107;;2662:105;;3563:3596:97;837:15:75;;819:34;837:15;819:34;:::i;:::-;3563:3596:97;2813:31:107;3563:3596:97;;;;;;;;2813:31:107;;;:::i;:::-;-1:-1:-1;3563:3596:97;;;;2847:27:107;;:13;;-1:-1:-1;;;;;3563:3596:97;2847:13:107;3563:3596:97;;-1:-1:-1;;;;;3563:3596:97;;;2847:27:107;3563:3596:97;;;;;;;;;;;;;;2847:29:107;;;;;;;;2794:82;2847:29;2813:63;2847:29;-1:-1:-1;2847:29:107;;;3563:3596:97;2813:63:107;;:::i;:::-;3563:3596:97;;;;2794:82:107;3563:3596:97;;;2794:82:107;;;:138;;;;;3563:3596:97;2777:223:107;;;3248:62:105;3104:37:107;;3248:62:105;;;;:::i;:::-;3463:5:70;;;;;;3066;;3563:3596:97;3060:42:70;;;3166:11:107;;3162:68;;3563:3596:97;3671:86:107;837:15:75;;;;3671:86:107;837:15:75;3262:31:107;837:15:75;819:34;837:15;819:34;:::i;:::-;3262:31:107;:::i;:::-;3563:3596:97;3317:13:107;3563:3596:97;;;;3347:308:107;3563:3596:97;;:::i;:::-;;;;-1:-1:-1;;;;;3563:3596:97;;;3379:266:107;;3563:3596:97;3379:266:107;;;3563:3596:97;;;;;;;3379:266:107;;3563:3596:97;;;;;3379:266:107;;3563:3596:97;-1:-1:-1;3563:3596:97;3379:266:107;;3563:3596:97;3347:308:107;:::i;:::-;3563:3596:97;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;3671:86:107;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3563:3596:97;3860:283:30;3426:1;3563:3596:97;;;;;;;;;;;;3162:68:107;3563:3596:97;;-1:-1:-1;;;3200:19:107;;;2777:223;-1:-1:-1;3563:3596:97;;-1:-1:-1;;;2964:25:107;;;2794:138;837:15:75;;2896:36:107;819:34:75;837:15;819:34;:::i;2896:36:107:-;-1:-1:-1;2896:36:107;2794:138;;;2847:29;;;;;3563:3596:97;2847:29:107;3563:3596:97;2847:29:107;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;2662:105::-;2718:38;;;;;;;;:::i;:::-;2662:105;;;;;3563:3596:97;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:97;;;;;1795:13:107;3563:3596:97;;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;3563:3596:97;435:10:95;:19;431:71;;3563:3596:97;4136:60;3563:3596;;;;-1:-1:-1;3563:3596:97;4136:9;3563:3596;;;-1:-1:-1;3563:3596:97;4136:60;:::i;:::-;3563:3596;;;;;;;;;;;;;;;;;;;431:71:95;3563:3596:97;;-1:-1:-1;;;477:14:95;;3563:3596:97;;477:14:95;3563:3596:97;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;:::i;:::-;3361:103:30;;;:::i;:::-;3563:3596:97;;:::i;:::-;;7493:16:107;7489:103;;3563:3596:97;-1:-1:-1;;3563:3596:97;;;-1:-1:-1;;;7607:48:107;;7644:10;7607:48;;;3563:3596:97;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;7607:48:107;7617:16;;;3563:3596:97;7607:48:107;;;;;;;-1:-1:-1;7607:48:107;;;3563:3596:97;7606:49:107;;7602:99;;-1:-1:-1;3563:3596:97;7764:35:107;;-1:-1:-1;;;;;3563:3596:97;7644:10:107;3563:3596:97;;-1:-1:-1;;7644:10:107;297:2:101;3563:3596:97;;267:46:101;;152:169;7764:35:107;7850:21;5260:30:99;7850:21:107;;3563:3596:97;;7850:9:107;3563:3596:97;;;;;;;7850:21:107;5260:30:99;:::i;:::-;-1:-1:-1;7900:801:107;;;;;7930:34;819::75;837:15;819:34;:::i;7930::107:-;3563:3596:97;;;;7930:34:107;;;;7984:27;:21;;3563:3596:97;;7850:9:107;3563:3596:97;;;;;;;7984:21:107;:27;:::i;:::-;;7926:225;8169:61;8182:48;8190:39;4928:20:99;8198:21:107;;3563:3596:97;;7850:9:107;3563:3596:97;;;;;;;8198:21:107;4928:20:99;:::i;8169:61:107:-;3563:3596:97;;;;8169:61:107;;;8165:336;;7926:225;7900:801;;;;;;8716:34;7900:801;8716:34;7900:801;;3563:3596:97;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;8716:34:107;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3563:3596:97;3860:283:30;3426:1;3563:3596:97;8165:336:107;8250:21;;;;;;;3563:3596:97;;7850:9:107;3563:3596:97;;;;;;;8250:21:107;3563:3596:97;;;;;;;;8299:34:107;;;;;;;;;;;;;;-1:-1:-1;8299:34:107;;;8165:336;3563:3596:97;;8336:22:107;3563:3596:97;;;;;;;;;;;8361:30:107;;;;;;;;;;8336:55;8310:38:73;8361:30:107;8716:34;8361:30;8299:92;8361:30;8716:34;8361:30;8298:130;8361:30;-1:-1:-1;8361:30:107;;;8165:336;3563:3596:97;;;8336:55:107;;:::i;:::-;3563:3596:97;;8299:92:107;:::i;:::-;8298:130;:::i;:::-;8310:38:73;;:::i;:::-;8165:336:107;;;;;;8361:30;;;;;;-1:-1:-1;8361:30:107;;;;;;:::i;:::-;;;;;8299:34;;;;;;;;;;;;;;:::i;:::-;;;;7926:225;8036:61;8049:48;8057:39;4928:20:99;8065:21:107;;3563:3596:97;;7850:9:107;3563:3596:97;;;;;;;8036:61:107;3563:3596:97;;;8036:61:107;7926:225;8032:119;3563:3596:97;;-1:-1:-1;;;8124:12:107;;3563:3596:97;;8124:12:107;7900:801;-1:-1:-1;3563:3596:97;;;;;;-1:-1:-1;;8535:23:107;;8531:81;;8626:21;;8716:34;8626:21;8310:38:73;8716:34:107;8626:21;;;3563:3596:97;;7850:9:107;3563:3596:97;;;;;;;8626:21:107;819:34:75;837:15;819:34;:::i;8310:38:73:-;7900:801:107;;;;8531:81;3563:3596:97;;-1:-1:-1;;;8585:12:107;;;7602:99;-1:-1:-1;3563:3596:97;;-1:-1:-1;;;7678:12:107;;;7607:48;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;7489:103;7544:37;;;;;;:::i;:::-;;7489:103;;;;3563:3596:97;;;;;;;;;;;;;1050:35:107;3563:3596:97;;;;;;1050:35:107;-1:-1:-1;3563:3596:97;;;;;;-1:-1:-1;3563:3596:97;:::o;:::-;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:97;;;;;;1050:35:107;3563:3596:97;1050:35:107;;;;;;;;:::i;:::-;-1:-1:-1;3563:3596:97;;;1050:35:107;;3563:3596:97;1050:35:107;;;3563:3596:97;1050:35:107;;;;3563:3596:97;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3563:3596:97;;;;-1:-1:-1;3563:3596:97;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;3563:3596:97;;;;;;;;;;477:31:88;;3563:3596:97;;;;;;;;;;;:::i;:::-;477:31:88;3563:3596:97;;477:31:88;;;;;;:::i;:::-;518:79;;;3563:3596:97;518:79:88;;3563:3596:97;;;;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;:::i;:::-;;;;;2692:73:105;:38;3563:3596:97;;;:::i;:::-;;;;;-1:-1:-1;3563:3596:97;2692:16:105;3563:3596:97;;;-1:-1:-1;3563:3596:97;;;;;;;;;;;;;;;;;2692:38:105;:73;:::i;3563:3596:97:-;;;;;3248:62:105;3563:3596:97;;;:::i;:::-;3248:62:105;;;;;:::i;:::-;3563:3596:97;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;3361:103:30;;;;:::i;:::-;3563:3596:97;;:::i;:::-;4024:16:107;;4020:105;;3563:3596:97;;;4153:13:107;3563:3596:97;4139:34:107;;;4135:94;;4270:25;;;:::i;:::-;3563:3596:97;;;;4330:18:107;;;;:::i;:::-;4153:13;4408:24;;3563:3596:97;;;;;;;;;;;;;4377:95:107;4434:37;;4377:95;;;:::i;:::-;3563:3596:97;4377:125:107;;:250;;;3563:3596:97;4377:309:107;;;3563:3596:97;4360:389:107;;4763:43;837:15:75;819:34;837:15;819:34;:::i;:::-;4763:43:107;:::i;:::-;-1:-1:-1;3563:3596:97;4809:27:107;;:13;;-1:-1:-1;;;;;3563:3596:97;4809:13:107;3563:3596:97;4809:27:107;3563:3596:97;;4809:29:107;3563:3596:97;;;;;;;;;;;4809:29:107;;;;;;;;;;-1:-1:-1;4809:29:107;;;3563:3596:97;;;;;4763:75:107;4759:131;;4994:16;;;3563:3596:97;;4994:16:107;;4945:140;;4994:16;;3563:3596:97;;-1:-1:-1;;;;;3563:3596:97;5038:37:107;;;4945:140;;:::i;:::-;5120:14;5111:41;5120:14;;;;3563:3596:97;3463:5:70;;;;3066;;3563:3596:97;3060:42:70;3371:111;;5111:41:107;5166:18;;;5162:75;;3563:3596:97;;;;5247:78:107;;5335:24;3563:3596:97;;5335:24:107;;5725:145;;5335:24;;;;3563:3596:97;5335:24:107;5725:145;5335:24;;;;6024;5335;;;3563:3596:97;;;;;;;;;;;;;;5335:24:107;3563:3596:97;;;;5445:24:107;;3563:3596:97;-1:-1:-1;;;;;3563:3596:97;;;;;5445:24:107;;:::i;:::-;3563:3596:97;;;;5542:13:107;;3563:3596:97;;-1:-1:-1;;;;;3563:3596:97;5542:13:107;;:::i;:::-;3563:3596:97;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;:::i;:::-;;;;4809:29:107;5753:103;;3563:3596:97;5753:103:107;;;3563:3596:97;;5725:145:107;;;4809:29;5725:145;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:145:107;;3563:3596:97;;5725:145:107;;;;;;:::i;:::-;;:::i;:::-;5920:24;3563:3596:97;;;;;;;;5920:24:107;;:::i;:::-;3563:3596:97;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;6024:24:107;;:::i;:::-;3563:3596:97;;;;;6065:39:107;;3563:3596:97;;6065:39:107;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3563:3596:97;3860:283:30;5247:78:107;3563:3596:97;;-1:-1:-1;;;5291:23:107;;3563:3596:97;;5291:23:107;5162:75;3563:3596:97;;-1:-1:-1;;;5207:19:107;;3563:3596:97;;5207:19:107;4759:131;3563:3596:97;;-1:-1:-1;;;4861:18:107;;3563:3596:97;;4861:18:107;4809:29;;;;;;;;;;;;;;:::i;:::-;;;;4360:389;3563:3596:97;;-1:-1:-1;;;4718:20:107;;3563:3596:97;;4718:20:107;4377:309;837:15:75;4647:39:107;819:34:75;837:15;819:34;:::i;4647:39:107:-;3563:3596:97;;;;;4647:39:107;4377:309;;:250;837:15:75;4522:105:107;:91;4553:20;819:34:75;837:15;819:34;:::i;:::-;4553:20:107;:::i;:::-;4575:37;;;;4522:91;;;:::i;:105::-;;;4377:250;;4135:94;3563:3596:97;;-1:-1:-1;;;4196:22:107;;3563:3596:97;;4196:22:107;4020:105;4076:38;;;;;;;;:::i;:::-;4020:105;;;;;3563:3596:97;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;-1:-1:-1;;;;;404:28:82;3563:3596:97;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;1221:37:107;3563:3596:97;;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;954:41:107;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;2239:46:107;3563:3596:97;;;;;;;;:::i;:::-;819:34:75;837:15;819:34;:::i;:::-;3563:3596:97;;2239:46:107;:::i;:::-;3563:3596:97;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;1271:7:105;3563:3596:97;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;;:::i;:::-;3563:3596:97;;:::i;:::-;6308:16:107;;6304:99;;3563:3596:97;;;6431:13:107;3563:3596:97;6417:34:107;;;6413:94;;6548:25;;;:::i;:::-;3563:3596:97;6431:13:107;3563:3596:97;;6653:24:107;;3563:3596:97;;;;;;;;;;;6622:92:107;6679:34;;3563:3596:97;;;6622:92:107;;:::i;:::-;3563:3596:97;6741:29:107;;;:151;;;;;3563:3596:97;6724:223:107;;;;6961:10;:29;6957:80;;7051:40;819:34:75;837:15;819:34;:::i;7051:40:107:-;3563:3596:97;;;;;7051:40:107;;7047:95;;3563:3596:97;;;;7152:78:107;;3563:3596:97;;-1:-1:-1;;;;3563:3596:97;-1:-1:-1;;;3563:3596:97;;;6961:10:107;7280:33;;-1:-1:-1;7280:33:107;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;3563:3596:97;3860:283:30;7152:78:107;3563:3596:97;;-1:-1:-1;;;7196:23:107;;3563:3596:97;;7196:23:107;7047:95;3563:3596:97;;-1:-1:-1;;;7114:17:107;;3563:3596:97;;7114:17:107;6957:80;3563:3596:97;;-1:-1:-1;;;7013:13:107;;3563:3596:97;;7013:13:107;6724:223;3563:3596:97;;-1:-1:-1;;;6924:12:107;;3563:3596:97;;6924:12:107;6741:151;6790:102;837:15:75;;;6790:88:107;837:15:75;6843:34:107;6821:20;819:34:75;837:15;819:34;:::i;6821:20:107:-;6843:34;;;6790:88;;:::i;:102::-;;6741:151;;;;6304:99;6357:35;;;;;;;:::i;:::-;6304:99;;;;3563:3596:97;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3563:3596:97;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4649:553::-;3563:3596;;-1:-1:-1;;;4939:105:97;;-1:-1:-1;;;;;3563:3596:97;;;4939:105;;;3563:3596;;;;;;;;;;;;;;;;;;;;;;;;;4649:553;4939:105;3563:3596;;;;;4939:105;3563:3596;4956:18;-1:-1:-1;;;;;3563:3596:97;4939:105;;;;;;;;;;;4649:553;3563:3596;;;5055:141;;4649:553;:::o;5055:141::-;5112:73;3563:3596;;;5112:73;3563:3596;;;;;;;:::i;:::-;;;;;5112:73;;;3563:3596;5112:73;;;:::i;4939:105::-;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;6788:369;;;6975:44;6788:369;3563:3596;6975:44;;:::i;:::-;3563:3596;;7030:121;;6788:369;:::o;1876:205:107:-;-1:-1:-1;3563:3596:97;;;2016:9:107;3563:3596:97;;;;;-1:-1:-1;;;;;3563:3596:97;2016:56:107;;1876:205;;2016:56;:::i;:::-;3563:3596:97;1876:205:107;:::o;3563:3596:97:-;;;;;;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::o;6172:610::-;6466:55;6172:610;;;;6370:51;3563:3596;6370:51;;;;:::i;:::-;837:15:75;6500:20:97;819:34:75;837:15;819:34;:::i;6466:55:97:-;3563:3596;;6536:30;;;:64;;;6172:610;6532:244;;6172:610;;:::o;6532:244::-;3563:3596;;;;;;6623:142;3563:3596;;;;;;;:::i;:::-;;;6651:100;;;3563:3596;;;;;6623:142;;;6651:100;6623:142;;;3563:3596;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3563:3596:97;;;;;;:::i;6536:64::-;3563:3596;;;6570:30;;6536:64;;3563:3596;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3317:13:107;3563:3596:97;-1:-1:-1;;;3563:3596:97;;;;;;;;;;3317:13:107;3563:3596:97;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3563:3596:97;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;3317:13:107;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3563:3596:97;;;;;;-1:-1:-1;;;3563:3596:97;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;5208:958::-;;;;;5643:105;3563:3596;5435:51;;;;;;:::i;:::-;837:15:75;5643:105:97;5531:55;5565:20;819:34:75;837:15;819:34;:::i;5565:20:97:-;5531:55;;;:::i;:::-;3563:3596;;-1:-1:-1;;;5643:105:97;;-1:-1:-1;;;;;3563:3596:97;;;5643:105;;;3563:3596;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5643:105;;3563:3596;5660:18;-1:-1:-1;;;;;3563:3596:97;5643:105;;;;;;;;;;;5208:958;3563:3596;;;5763:30;;;:64;;;5208:958;5763:98;;;;5208:958;5759:401;;5208:958;;;:::o;5759:401::-;5884:265;3563:3596;;;;5884:265;3563:3596;;;;:::i;:::-;;;;5912:223;;;3563:3596;;5912:223;;3563:3596;;;5884:265;;;5912:223;5884:265;;;:::i;5763:98::-;3563:3596;;;5831:30;;5763:98;;:64;3563:3596;;;5797:30;;5763:64;;5643:105;;;;;;;;;;;;;;:::i;:::-;;;;;3563:3596;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;:::-;;3149:1:99;3563:3596:97;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;3563:3596:97;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;4209:434::-;;;-1:-1:-1;4307:12:97;3563:3596;;;;;4435:78;;;;;;;;;;;;;3563:3596;;;;;;;4435:78;;;;;:::i;:::-;3563:3596;;716:88:95;;3563:3596:97;716:88:95;;;;;;;;;783:4;4435:78:97;716:88:95;;3563:3596:97;;;;;;;;;;;:::i;:::-;716:88:95;3563:3596:97;716:88:95;3563:3596:97;;716:88:95;;;;;;;;:::i;:::-;698:107;;;;;857:45;698:107;;:::i;:::-;3563:3596:97;;;;857:45:95;;;;;;:::i;:::-;916:8;;912:175;;3563:3596:97;;;4361:204;3563:3596;;4361:204;;;;;;:::i;:::-;4576:61;;;;4209:434;;;:::o;4576:61::-;4609:17;3563:3596;;;;4609:17;3563:3596;;4609:17;;;;;3563:3596;;;;;;;;;;;;4609:17;;;;;;;;;:::i;912:175:95:-;3563:3596:97;;;;944:22:95;;;940:36;;990:87;;2505:267:105;-1:-1:-1;3563:3596:97;;;2692:16:105;3563:3596:97;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;2692:73:105;;2505:267;;2692:73;:::i;3563:3596:97:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;3563:3596:97;;-1:-1:-1;3563:3596:97;;;-1:-1:-1;3563:3596:97;:::o;10580:184:99:-;10689:20;;;:::i;:::-;-1:-1:-1;;;;;3563:3596:97;;10726:7:99;3563:3596:97;;10736:12:99;:17;:12;;:17;:::i;:::-;3563:3596:97;;;;;;10580:184:99;:::o;10726:31::-;;;10689:11;10580:184;:::o;3563:3596:97:-;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;3563:3596:97;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;1818:604:99:-;;3563:3596:97;;1946:17:99;1942:83;;3563:3596:97;2049:27:99;3563:3596:97;2049:27:99;3563:3596:97;;2049:27:99;;;;;;:::i;:::-;2120:14;;;;;:::i;:::-;3563:3596:97;;;;;;;;;;;;;;;;2148:22:99;;;2144:77;;2235:21;-1:-1:-1;2235:84:99;;;;1818:604;2231:139;;;;1425:34;;;;:::i;2231:139::-;-1:-1:-1;;2049:27:99;2342:17;3563:3596:97;-1:-1:-1;;;;;3563:3596:97;;:::o;2235:84:99:-;3563:3596:97;;;2269:16:99;3563:3596:97;;2269:16:99;:::i;:::-;3563:3596:97;;;2261:24:99;:57;;;;;2235:84;;;;;;;2261:57;2289:29;2298:8;;;2289:18;2298:8;2289:23;2298:8;;:::i;:::-;2289:18;;:::i;:::-;3563:3596:97;;;;;2289:29:99;;2261:57;;;;2144:77;-1:-1:-1;;;;2049:27:99;2193:17;;;;3563:3596:97;-1:-1:-1;;;;;3563:3596:97;;-1:-1:-1;3563:3596:97;:::o;1942:83:99:-;1425:34;;;;:::i;3563:3596:97:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;6491:564:105:-;6614:34;6491:564;6614:34;;;;:::i;:::-;3563:3596:97;;-1:-1:-1;;;6664:41:105;;-1:-1:-1;;;;;3563:3596:97;;;6664:41:105;;;3563:3596:97;;;;;6664:41:105;;;3563:3596:97;;;6674:13:105;3563:3596:97;;6664:41:105;;;;;;;-1:-1:-1;6664:41:105;;;6491:564;6663:42;;6659:90;;2684:111:30;6850:27:105;6664:41;2684:111:30;;;:::i;:::-;-1:-1:-1;3563:3596:97;;-1:-1:-1;;;;;;3563:3596:97;-1:-1:-1;;;;;3563:3596:97;;;;;6850:27:105;;:::i;:::-;3563:3596:97;;;;;;;;;;6892:23:105;;;;;;;;;-1:-1:-1;6892:23:105;;;6491:564;3563:3596:97;;;6892:37:105;:64;;;6491:564;6888:112;;3563:3596:97;7010:38:105;;3563:3596:97;;-1:-1:-1;3563:3596:97;;-1:-1:-1;;;;3563:3596:97;;;;;;-1:-1:-1;;;3563:3596:97;;;;;;;;6888:112:105;3563:3596:97;;-1:-1:-1;;;6979:10:105;;6664:41;;6979:10;6892:64;-1:-1:-1;3563:3596:97;;;;6892:64:105;;:23;;;;;;-1:-1:-1;6892:23:105;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;6659:90;3563:3596:97;;-1:-1:-1;;;6728:10:105;;6664:41;;6728:10;6664:41;;;;;;;;;;;;;;:::i;:::-;;;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;3563:3596:97;;3670:20:30;3666:88;;1991:1;3563:3596:97;;3470:384:30:o;3666:88::-;3563:3596:97;;-1:-1:-1;;;3713:30:30;;;;;4451:257:105;3563:3596:97;;-1:-1:-1;;;4546:86:105;;467:2:101;3563:3596:97;;;;4546:86:105;;;3563:3596:97;-1:-1:-1;;;;;4546:86:105;3563:3596:97;;;4572:26:105;3563:3596:97;;4546:86:105;;;;;;;-1:-1:-1;4546:86:105;;;4451:257;4636:10;;3563:3596:97;;4546:100:105;4542:160;;4451:257::o;4542:160::-;3563:3596:97;;-1:-1:-1;;;4669:22:105;;4546:86;;4669:22;4546:86;;;;;;;;;;;;;;;:::i;:::-;;;;;3563:3596:97;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;2666:855:99:-;;3563:3596:97;;2880:15:99;2838:11;2905:18;2938:7;2944:1;2938:7;;2934:241;;2666:855;3199:60;;;;;:::i;:::-;3274:8;;;3270:62;;3563:3596:97;3430:7:99;;;;:::i;:::-;13267:109;2838:11;13267:109;;2838:11;13267:109;;3563:3596:97;:::i;:::-;;3498:15:99;3505:7;3563:3596:97;13267:109:99;3563:3596:97;;;;;;;;3479:17:99;;3563:3596:97;-1:-1:-1;;;;;3563:3596:97;;;;3505:7:99;;:::i;:::-;3563:3596:97;;;;3498:15:99;3436:1;;3448:66;;2666:855::o;3270:62::-;3298:23;;2838:11;3298:23;2838:11;3298:23;2838:11;3298:23;2838:11;3298:23;:::o;2934:241::-;2981:14;;;;;:::i;:::-;3563:3596:97;;;;;;;3199:60:99;13267:109;;2838:11;13267:109;3563:3596:97;13267:109:99;;;2838:11;13267:109;;3563:3596:97;;;;;3013:55:99;3009:156;3563:3596:97;;;3088:10:99;3009:156;2934:241;;3009:156;3143:7;;;;;;:::i;:::-;3009:156;2934:241;;5905:168;;6006:20;;;:::i;:::-;3563:3596:97;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;:::i;:::-;;;;;;;5905:168:99:o;3563:3596:97:-;;;;;;;;;;;;14296:213:71;3563:3596:97;14374:24:71;;;;14370:103;;3563:3596:97;14296:213:71;:::o;14370:103::-;3563:3596:97;;;;14421:41:71;;;;;;14452:2;14421:41;;;3563:3596:97;;;;;14421:41:71;3563:3596:97;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;:::i;7558:604:99:-;;3563:3596:97;;7686:17:99;7682:83;;3563:3596:97;7789:27:99;3563:3596:97;7789:27:99;3563:3596:97;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;3563:3596:97;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;3563:3596:97;8075:24:99;:::o;7975:84::-;3563:3596:97;;;8009:16:99;3563:3596:97;;8009:16:99;:::i;:::-;3563:3596:97;;;8001:24:99;: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;3563:3596:97;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;3563:3596:97:-;;;;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3323:1122:105:-;;3563:3596:97;;:::i;:::-;;;;3608:16:105;3604:109;;3323:1122;837:15:75;;819:34;837:15;819:34;:::i;:::-;-1:-1:-1;3563:3596:97;;;;3778:27:105;;:13;;-1:-1:-1;;;;;3563:3596:97;3778:13:105;3563:3596:97;3778:27:105;3563:3596:97;;;;;;;3778:29:105;;;;;;;;;;;;;;;3740:67;3778:29;3759:48;3778:29;-1:-1:-1;3778:29:105;;;3759:48;;:::i;3740:67::-;3563:3596:97;;;3740:67:105;;;:107;;;;;3323:1122;3740:197;;;;3323:1122;3723:263;;;3563:3596:97;3778:29:105;3563:3596:97;;;;;;;;;;4025:25:105;;;;;;;;;4010:143;4025:25;;;-1:-1:-1;4025:25:105;;;3323:1122;4113:30;;;3563:3596:97;;;;;;;;;;;4010:143:105;;;;;3778:29;4010:143;;;:::i;:::-;;;-1:-1:-1;;;;;3563:3596:97;4010:143:105;;;;;;;4181:257;4010:143;-1:-1:-1;4010:143:105;;;3323:1122;3996:157;;4293:102;3996:157;;4233:162;3996:157;4207:231;3996:157;;2936:28;:47;:38;:28;;;3563:3596:97;;2936:16:105;3563:3596:97;;;;;;;2936:28:105;3563:3596:97;;;;;;;;;;;;;;;;2936:47:105;4351:43;;;4293:102;;:::i;:::-;4233:162;;:::i;:::-;3463:5:70;;;;3066;;3563:3596:97;3060:42:70;3371:111;;4181:257:105;3323:1122;:::o;4010:143::-;4233:162;4010:143;;;4207:231;4010:143;;;;4293:102;4010:143;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;4025:25;;;;;;;;;;;;;;:::i;:::-;;;;3723:263;3962:13;;;;;;-1:-1:-1;3962:13:105;-1:-1:-1;3962:13:105;:::o;3740:197::-;3886:41;;3867:70;3886:51;;:41;;;3563:3596:97;;3886:29:105;3563:3596:97;;;;;;;3886:51:105;3563:3596:97;;;;;3867:70:105;-1:-1:-1;3740:197:105;;;:107;837:15:75;;3811:36:105;819:34:75;837:15;819:34;:::i;3811:36:105:-;;;;3740:107;;;3778:29;;;;;;;;;;;;;;;:::i;3604:109::-;3662:40;;;;;;;;;;;;:::i;:::-;3604:109;;;;4714:335;;;;3563:3596:97;-1:-1:-1;3563:3596:97;4876:29:105;3563:3596:97;;;;4876:51:105;3563:3596:97;;-1:-1:-1;3563:3596:97;;;;;;;;;;;;;;;;;4876:51:105;3563:3596:97;;;;;-1:-1:-1;4872:171:105;;4714:335;;;:::o;4872:171::-;4962:70;3563:3596:97;4962:51:105;3563:3596:97;-1:-1:-1;3563:3596:97;4876:29:105;3563:3596:97;;;-1:-1:-1;3563:3596:97;;;;;;;;;;;;;;;;;4962:51:105;3563:3596:97;;;;;;;;;;;;5055:221:105;;;3563:3596:97;-1:-1:-1;3563:3596:97;5160:16:105;3563:3596:97;;2936:47:105;:38;5160;3563:3596:97;;-1:-1:-1;3563:3596:97;;;;;;;;;;;;;;;;;5160:38:105;837:15:75;819:34;837:15;819:34;:::i;:::-;3563:3596:97;-1:-1:-1;3563:3596:97;5160:16:105;3563:3596:97;;;-1:-1:-1;3563:3596:97;;;;;;;;;;;;;;;;;2936:47:105;3563:3596:97;;;;;;;;6360:12:99;;;3563:3596:97;;;6360:24:99;6356:75;;5055:221:105;6474:30:99;;;:::i;:::-;3563:3596:97;;;;;6578:12:99;;;;:::i;:::-;;6604:24;;;5055:221:105;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;3563:3596:97;;;;;;;6644:29:99;:21;;;;:::i;:::-;:29;3563:3596:97;;;;;;;;;;;;;;;;;;;;;6600:188:99;6753:24;;8310:38:73;;-1:-1:-1;;;;;3563:3596:97;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;3563:3596:97;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;6400:20;;;:::i;:::-;6356:75;;3563:3596:97;;;;;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5282:431:105:-;;;;5487:25;;:23;:13;3563:3596:97;5494:5:105;3563:3596:97;;;;;;;;;5487:23:105;3563:3596:97;;-1:-1:-1;;;5487:25:105;;3563:3596:97;;;;;5487:25:105;;;;;;;5631:65;5487:25;5631:65;5487:25;5494:5;5487:25;;;5282:431;-1:-1:-1;;;;;;3563:3596:97;;;;:::i;:::-;-1:-1:-1;;;;;5677:4:105;3563:3596:97;;;5677:4:105;5487:25;5642:53;;3563:3596:97;;;5631:65:105;;;5487:25;5631:65;;;:::i;:::-;5472:234;;;;;5494:5;3563:3596:97;5472:234:105;3563:3596:97;;;;;;;;;;;;;;5472:234:105;;5487:25;5472:234;;;:::i;:::-;;;;;;;;;;;5282:431;:::o;5472:234::-;;;;;;:::i;:::-;;;:::i;5487:25::-;;;;;;;;;;;;;;:::i;:::-;;;;5719:137;3563:3596:97;5719:137:105;3563:3596:97;5802:47:105;5719:137;5809:5;3563:3596:97;;;;;;;;;;;;;;;;;;5802:47:105;;;;;3563:3596:97;;;;;;5802:47:105;;;;;;;;5719:137;:::o;5802:47::-;;;;;;;;;;;;;:::i;:::-;;5719:137::o;3563:3596:97:-;;;;;;;:::o;:::-;;;;;;;;;;;;5862:623:105;;;5988:12;3563:3596:97;;;;;;;5984:495:105;;5862:623;;;;;;:::o;5984:495::-;3563:3596:97;;-1:-1:-1;;;6033:22:105;;3563:3596:97;6033:22:105;;3563:3596:97;;6033:22:105;;3563:3596:97;;-1:-1:-1;;;;;3563:3596:97;6033:22:105;;;;;;;5988:12;6033:22;;;5984:495;-1:-1:-1;3563:3596:97;;-1:-1:-1;;;6033:22:105;6094:81;;;;;;;;3563:3596:97;;;;-1:-1:-1;;;;;3563:3596:97;;;;;;;;;;;;;;;;;;;;;;6094:81:105;3563:3596:97;;;;6094:81:105;;3563:3596:97;;6094:81:105;;;;;;:::i;:::-;3563:3596:97;6194:9:105;:55;6190:124;;5988:12;6328:141;;;;;;1271:7;6328:141;;5984:495;;;;;;;6190:124;3563:3596:97;;-1:-1:-1;;;6276:23:105;;6033:22;;6276:23;6033:22;6094:81;6033:22;;;6094:81;6033:22;;;;;;;;;;;:::i;:::-;;;;;10310:206:73;3563:3596:97;;10446:8:73;;;:63;;10405:17;10310:206;:::o;10446:63::-;3563:3596:97;;;;;;;;;;10405:17:73;13267:109:99;;10405:17:73;13267:109:99;;;3563:3596:97;;;10310:206:73;:::o;3563:3596:97:-;;;;;;;:::i;:::-;-1:-1:-1;3563:3596:97;;;;;;;:::o;5573:258:99:-;3563:3596:97;5573:258:99;11452:22:73;5573:258:99;3563:3596:97;;:::i;:::-;;;;:::i;:::-;;11452:22:73;:::i;:::-;3563:3596:97;;:::i;:::-;;;;;;5805:17:99;3563:3596:97;;;;;5805:17:99;;3563:3596:97;;;;;;;;:::i;:::-;;;5805:17:99;5759:65;;3563:3596:97;5573:258:99;:::o;6893:76:26:-;;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;3563:3596:97;6893:76:26:o;3563:3596:97:-;;;;;;;:::i;:::-;-1:-1:-1;3563:3596:97;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;8763:604:107:-;;8969:30;8763:604;3563:3596:97;;:::i;:::-;;;;8905:30:107;;;;;;;;;;;;;:::i;:::-;3563:3596:97;;-1:-1:-1;;;8969:30:107;;3563:3596:97;;;;;;;;-1:-1:-1;;;;;3563:3596:97;8969:30:107;;;;;;;;;;;8763:604;9013:19;;;3563:3596:97;;;;;;;;;;;;;;;9013:36:107;;9009:95;;3563:3596:97;9118:29:107;;9150:1;3563:3596:97;;9118:33:107;9114:102;;9226:34;3563:3596:97;9271:54:107;3563:3596:97;;;;;;;;;;;8969:30:107;3563:3596:97;;;8969:30:107;3563:3596:97;;9226:34:107;3563:3596:97;9271:54:107;3563:3596:97;;9271:54:107;9343:17;8763:604;:::o;9114:102::-;3563:3596:97;;-1:-1:-1;;;9174:31:107;;8969:30;;9174:31;9009:95;3563:3596:97;;-1:-1:-1;;;9072:21:107;;8969:30;;9072:21;8969:30;;;;;;;;;;;;;;;:::i;:::-;;;;;18080:5181:70;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;3563:3596:97;18246:1:70;3563:3596:97;22284:6:70;;;;:::i;:::-;3563:3596:97;;;;;22278:18:70;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;;;3563:3596:97;23216:28:70;3563:3596:97;;18080:5181:70;:::o;19887:61::-;18246:1;3563:3596:97;19887:61:70;;19787:87;3563:3596:97;;;;;19787:87:70;;;19687;3563:3596:97;;;;;19687:87:70;;;19585:89;3563:3596:97;;;;;19585:89:70;;;19482:90;3563:3596:97;;;;;19482:90:70;;;19379;3563:3596:97;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;3563:3596:97;-1:-1:-1;3563:3596:97;;;;19274:92:70;;12497:447:99;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:70;;;;;;3563:3596:97;;3731:5:70;;;3563:3596:97;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;3563:3596:97;13267:109:99;;;-1:-1:-1;13267:109:99;;3563:3596:97;;;;;-1:-1:-1;12771:136:99;3563:3596:97;;;12830:10:99;;12771:136;;12687:230;;;;12771:136;3563:3596:97;;;;;;;;;;;12771:136:99;;;10695:389:73;3563:3596:97;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;3563:3596:97;;;;;;;;;;10833:17:73;13267:109:99;;10833:17:73;13267:109:99;;;3563:3596:97;11014:1:73;3563:3596:97;;;;;;;11030:37:73;:::o;6999:207:99:-;;7117:34;6999:207;7117:34;;:::i;11486:272::-;;3563:3596:97;11452:22:73;11718:31:99;11486:272;3563:3596:97;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;3563:3596:97:-;;11718:12:99;3563:3596:97;;;;;11731:17:99;3563:3596:97;;;;;11731:17:99;;3563:3596:97;;11718:12:99;;:31;:::i;:::-;3563:3596:97;;;;;;;;;:::i;:::-;;;;;;11731:17:99;11672:79;;3563:3596:97;11486:272:99;:::o;3563:3596:97:-;;;-1:-1:-1;;;3563:3596:97;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;;3563:3596:97;;;;;;;;;;;;;;;:::i;9584:606:73:-;;3563:3596:97;;9737:15:73;9702:17;9762:18;9795:7;9801:1;9795:7;;9791:234;;9584:606;10049:53;;;;;:::i;:::-;10120:8;;;:63;;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;13267:109:99;9702:17:73;13267:109:99;;9702:17:73;13267:109:99;;3563:3596:97;;;9584:606:73;:::o;9791:234::-;9838:14;;;;;:::i;:::-;3563:3596:97;;;;;;;10049:53:73;13267:109:99;;9702:17:73;13267:109:99;3563:3596:97;13267:109:99;;;9702:17:73;13267:109:99;;3563:3596:97;;;;;9870:48:73;9866:149;3563:3596:97;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;7084:141:26;3563:3596:97;-1:-1:-1;;;;;;;;;;;3563:3596:97;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;3563:3596:97;;-1:-1:-1;;;7191:17:26;;;;;3563:3596:97;;;-1:-1:-1;;;3563:3596:97;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;3563:3596:97;;;;;;;;;;;:::o;11657:922:73:-;3563:3596:97;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:99;;;;;;13089:293;;11916:28:73;3563:3596:97;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;3563:3596:97;;;;;;;;;;;;;;;;;12285:19:73;3563:3596:97;;12423:25:73;;:::o;12247:163::-;3563:3596:97;;;12343:52:73;3563:3596:97;12353:41:73;3563:3596:97;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;3563:3596:97;;12353:41:73;;;3563:3596:97;12343:52:73;:::i;:::-;12247:163;;12099:89;3563:3596:97;;-1:-1:-1;;;12143:30:73;;;;;11860:713;3563:3596:97;;12479:52:73;3563:3596:97;12489:41:73;3563:3596:97;;:::i;12489:41:73:-;-1:-1:-1;;;;;3563:3596:97;;12489:41:73;;;3563:3596:97;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"60120":[{"start":1147,"length":32}],"60123":[{"start":5518,"length":32},{"start":11350,"length":32}],"64680":[{"start":2920,"length":32}],"65310":[{"start":2054,"length":32},{"start":6428,"length":32},{"start":7441,"length":32}],"67904":[{"start":744,"length":32},{"start":8898,"length":32}],"67907":[{"start":1079,"length":32},{"start":9292,"length":32}],"68637":[{"start":3194,"length":32},{"start":5604,"length":32}]}},"methodIdentifiers":{"BASE_SLASHER_HINTS()":"457821b7","BURNER_GAS_LIMIT()":"d5c24e1a","BURNER_RESERVE()":"2964f8dc","FACTORY()":"2dd31000","NETWORK_MIDDLEWARE_SERVICE()":"2c9d45b3","NETWORK_REGISTRY()":"c0cd7c3e","TYPE()":"bb24fe8a","VAULT_FACTORY()":"103f2907","cumulativeSlash(bytes32,address)":"1a2be2c4","cumulativeSlashAt(bytes32,address,uint48,bytes)":"aa8e6489","executeSlash(uint256,bytes)":"b94c386e","executeSlashHints(address,bytes32,address,uint48)":"69f78920","initialize(bytes)":"439fab91","isBurnerHook()":"34d098ea","latestSlashedCaptureTimestamp(bytes32,address)":"267de1f3","requestSlash(bytes32,address,uint256,uint48,bytes)":"545ce389","requestSlashHints(address,address,bytes32,address,uint256,uint48)":"002a0875","resolver(bytes32,bytes)":"cd05b8a1","resolverAt(bytes32,uint48,bytes)":"31ce4dfe","resolverHint(address,bytes32,uint48)":"a4ef9b4f","resolverHintInternal(bytes32,uint48)":"8f82f931","resolverSetEpochsDelay()":"bc6eac5b","setResolver(uint96,address,bytes)":"9168f9d2","setResolverHints(address,bytes32,uint48)":"1dd5f600","slashRequests(uint256)":"9a896551","slashRequestsLength()":"8f42f9ab","slashableStake(bytes32,address,uint48,bytes)":"aab3595f","staticDelegateCall(address,bytes)":"9f86fd85","vault()":"fbfa77cf","vetoDuration()":"e054e08b","vetoSlash(uint256,bytes)":"f9268d18","vetoSlashHints(address,bytes32,uint48)":"5264679b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseSlasherHints\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBurnerGas\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientSlash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaptureTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidResolverSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidVetoDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoBurner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoResolver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetwork\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotNetworkMiddleware\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotResolver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotVault\",\"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\":\"SlashPeriodEnded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlashRequestCompleted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlashRequestNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VetoPeriodEnded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VetoPeriodNotEnded\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"name\":\"ExecuteSlash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"vetoDeadline\",\"type\":\"uint48\"}],\"name\":\"RequestSlash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"SetResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"VetoSlash\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_SLASHER_HINTS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURNER_RESERVE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_MIDDLEWARE_SERVICE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NETWORK_REGISTRY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TYPE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"cumulativeSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"cumulativeSlashAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"executeSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"executeSlashHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isBurnerHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"latestSlashedCaptureTimestamp\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"value\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"requestSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"requestSlashHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"resolverAt\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"resolverHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"resolverHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resolverSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint96\",\"name\":\"identifier\",\"type\":\"uint96\"},{\"internalType\":\"address\",\"name\":\"resolver_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"setResolverHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"slashRequests\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"vetoDeadline\",\"type\":\"uint48\"},{\"internalType\":\"bool\",\"name\":\"completed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slashRequestsLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"slashableStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"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\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vetoDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"slashIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"vetoSlash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"subnetwork\",\"type\":\"bytes32\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"vetoSlashHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"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.\"}]},\"events\":{\"ExecuteSlash(uint256,uint256)\":{\"params\":{\"slashIndex\":\"index of the slash request\",\"slashedAmount\":\"virtual amount of the collateral slashed\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RequestSlash(uint256,bytes32,address,uint256,uint48,uint48)\":{\"params\":{\"captureTimestamp\":\"time point when the stake was captured\",\"operator\":\"operator that could be slashed (if the request is not vetoed)\",\"slashAmount\":\"maximum amount of the collateral to be slashed\",\"slashIndex\":\"index of the slash request\",\"subnetwork\":\"subnetwork that requested the slash\",\"vetoDeadline\":\"deadline for the resolver to veto the slash (exclusively)\"}},\"SetResolver(bytes32,address)\":{\"params\":{\"resolver\":\"address of the resolver\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"}},\"VetoSlash(uint256,address)\":{\"params\":{\"resolver\":\"address of the resolver that vetoed the slash\",\"slashIndex\":\"index of the slash request\"}}},\"kind\":\"dev\",\"methods\":{\"cumulativeSlash(bytes32,address)\":{\"params\":{\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"cumulative slash amount\"}},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"time point to get the cumulative slash amount until (inclusively)\"},\"returns\":{\"_0\":\"cumulative slash amount until the given timestamp (inclusively)\"}},\"executeSlash(uint256,bytes)\":{\"details\":\"Only a network middleware can call this function.\",\"params\":{\"hints\":\"hints for checkpoints' indexes\",\"slashIndex\":\"index of the slash request\"},\"returns\":{\"slashedAmount\":\"virtual amount of the collateral slashed\"}},\"initialize(bytes)\":{\"params\":{\"data\":\"some data to use\"}},\"requestSlash(bytes32,address,uint256,uint48,bytes)\":{\"details\":\"Only a network middleware can call this function.\",\"params\":{\"amount\":\"maximum amount of the collateral to be slashed\",\"captureTimestamp\":\"time point when the stake was captured\",\"hints\":\"hints for checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"slashIndex\":\"index of the slash request\"}},\"resolver(bytes32,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"_0\":\"address of the resolver\"}},\"resolverAt(bytes32,uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\",\"timestamp\":\"timestamp to get the resolver at\"},\"returns\":{\"_0\":\"address of the resolver\"}},\"slashRequestsLength()\":{\"returns\":{\"_0\":\"total number of slash requests\"}},\"slashableStake(bytes32,address,uint48,bytes)\":{\"params\":{\"captureTimestamp\":\"time point to get the stake amount at\",\"hints\":\"hints for the checkpoints' indexes\",\"operator\":\"address of the operator\",\"subnetwork\":\"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)\"},\"returns\":{\"amount\":\"slashable amount of the stake\"}},\"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\"}},\"vetoSlash(uint256,bytes)\":{\"details\":\"Only a resolver can call this function.\",\"params\":{\"hints\":\"hints for checkpoints' indexes\",\"slashIndex\":\"index of the slash request\"}}},\"version\":1},\"userdoc\":{\"events\":{\"ExecuteSlash(uint256,uint256)\":{\"notice\":\"Emitted when a slash request is executed.\"},\"RequestSlash(uint256,bytes32,address,uint256,uint48,uint48)\":{\"notice\":\"Emitted when a slash request is created.\"},\"SetResolver(bytes32,address)\":{\"notice\":\"Emitted when a resolver is set.\"},\"VetoSlash(uint256,address)\":{\"notice\":\"Emitted when a slash request is vetoed.\"}},\"kind\":\"user\",\"methods\":{\"BURNER_GAS_LIMIT()\":{\"notice\":\"Get a gas limit for the burner.\"},\"BURNER_RESERVE()\":{\"notice\":\"Get a reserve gas between the gas limit check and the burner's execution.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"NETWORK_MIDDLEWARE_SERVICE()\":{\"notice\":\"Get the network middleware service's address.\"},\"NETWORK_REGISTRY()\":{\"notice\":\"Get the network registry's address.\"},\"TYPE()\":{\"notice\":\"Get the entity's type.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"cumulativeSlash(bytes32,address)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork.\"},\"cumulativeSlashAt(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint.\"},\"executeSlash(uint256,bytes)\":{\"notice\":\"Execute a slash with a given slash index using hints.\"},\"initialize(bytes)\":{\"notice\":\"Initialize this entity contract by using a given data.\"},\"isBurnerHook()\":{\"notice\":\"Get if the burner is needed to be called on a slashing.\"},\"latestSlashedCaptureTimestamp(bytes32,address)\":{\"notice\":\"Get the latest capture timestamp that was slashed on a subnetwork.\"},\"requestSlash(bytes32,address,uint256,uint48,bytes)\":{\"notice\":\"Request a slash using a subnetwork for a particular operator by a given amount using hints.\"},\"resolver(bytes32,bytes)\":{\"notice\":\"Get a resolver for a given subnetwork using a hint.\"},\"resolverAt(bytes32,uint48,bytes)\":{\"notice\":\"Get a resolver for a given subnetwork at a particular timestamp using a hint.\"},\"resolverSetEpochsDelay()\":{\"notice\":\"Get a delay for networks in epochs to update a resolver.\"},\"slashRequests(uint256)\":{\"notice\":\"Get a particular slash request.\"},\"slashRequestsLength()\":{\"notice\":\"Get a total number of slash requests.\"},\"slashableStake(bytes32,address,uint48,bytes)\":{\"notice\":\"Get a slashable amount of a stake got at a given capture timestamp using hints.\"},\"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).\"},\"vault()\":{\"notice\":\"Get the vault's address.\"},\"vetoDuration()\":{\"notice\":\"Get a duration during which resolvers can veto slash requests.\"},\"vetoSlash(uint256,bytes)\":{\"notice\":\"Veto a slash with a given slash index using hints.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/hints/SlasherHints.sol\":\"VetoSlasherHints\"},\"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/IERC1271.sol\":{\"keccak256\":\"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710\",\"dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L\"]},\"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/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"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/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"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/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"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/delegator/BaseDelegator.sol\":{\"keccak256\":\"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10\",\"dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3\"]},\"src/contracts/delegator/FullRestakeDelegator.sol\":{\"keccak256\":\"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f\",\"dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE\"]},\"src/contracts/delegator/NetworkRestakeDelegator.sol\":{\"keccak256\":\"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3\",\"dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw\"]},\"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5\",\"dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY\"]},\"src/contracts/delegator/OperatorSpecificDelegator.sol\":{\"keccak256\":\"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa\",\"dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA\"]},\"src/contracts/hints/DelegatorHints.sol\":{\"keccak256\":\"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591\",\"dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY\"]},\"src/contracts/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/OptInServiceHints.sol\":{\"keccak256\":\"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42\",\"dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5\"]},\"src/contracts/hints/SlasherHints.sol\":{\"keccak256\":\"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595\",\"dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/service/OptInService.sol\":{\"keccak256\":\"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278\",\"dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf\"]},\"src/contracts/slasher/BaseSlasher.sol\":{\"keccak256\":\"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06\",\"dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF\"]},\"src/contracts/slasher/Slasher.sol\":{\"keccak256\":\"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61\",\"dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3\"]},\"src/contracts/slasher/VetoSlasher.sol\":{\"keccak256\":\"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429\",\"dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/delegator/IDelegatorHook.sol\":{\"keccak256\":\"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780\",\"dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW\"]},\"src/interfaces/delegator/IFullRestakeDelegator.sol\":{\"keccak256\":\"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e\",\"dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A\"]},\"src/interfaces/delegator/INetworkRestakeDelegator.sol\":{\"keccak256\":\"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad\",\"dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z\"]},\"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol\":{\"keccak256\":\"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20\",\"dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ\"]},\"src/interfaces/delegator/IOperatorSpecificDelegator.sol\":{\"keccak256\":\"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441\",\"dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ\"]},\"src/interfaces/service/INetworkMiddlewareService.sol\":{\"keccak256\":\"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c\",\"dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA\"]},\"src/interfaces/service/IOptInService.sol\":{\"keccak256\":\"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337\",\"dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/slasher/IBurner.sol\":{\"keccak256\":\"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447\",\"dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW\"]},\"src/interfaces/slasher/ISlasher.sol\":{\"keccak256\":\"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1\",\"dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ\"]},\"src/interfaces/slasher/IVetoSlasher.sol\":{\"keccak256\":\"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508\",\"dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseSlasherHints","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientBurnerGas"},{"inputs":[],"type":"error","name":"InsufficientSlash"},{"inputs":[],"type":"error","name":"InvalidCaptureTimestamp"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidResolverSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidVetoDuration"},{"inputs":[],"type":"error","name":"NoBurner"},{"inputs":[],"type":"error","name":"NoResolver"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotNetwork"},{"inputs":[],"type":"error","name":"NotNetworkMiddleware"},{"inputs":[],"type":"error","name":"NotResolver"},{"inputs":[],"type":"error","name":"NotVault"},{"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":"SlashPeriodEnded"},{"inputs":[],"type":"error","name":"SlashRequestCompleted"},{"inputs":[],"type":"error","name":"SlashRequestNotExist"},{"inputs":[],"type":"error","name":"VetoPeriodEnded"},{"inputs":[],"type":"error","name":"VetoPeriodNotEnded"},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256","indexed":true},{"internalType":"uint256","name":"slashedAmount","type":"uint256","indexed":false}],"type":"event","name":"ExecuteSlash","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256","indexed":true},{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"uint256","name":"slashAmount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","indexed":false},{"internalType":"uint48","name":"vetoDeadline","type":"uint48","indexed":false}],"type":"event","name":"RequestSlash","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32","indexed":true},{"internalType":"address","name":"resolver","type":"address","indexed":false}],"type":"event","name":"SetResolver","anonymous":false},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256","indexed":true},{"internalType":"address","name":"resolver","type":"address","indexed":true}],"type":"event","name":"VetoSlash","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_SLASHER_HINTS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_GAS_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BURNER_RESERVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_MIDDLEWARE_SERVICE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NETWORK_REGISTRY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TYPE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"cumulativeSlash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"cumulativeSlashAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"executeSlash","outputs":[{"internalType":"uint256","name":"slashedAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"executeSlashHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isBurnerHook","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"latestSlashedCaptureTimestamp","outputs":[{"internalType":"uint48","name":"value","type":"uint48"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"requestSlash","outputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"requestSlashHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"resolver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"resolverAt","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"resolverHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"resolverHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"resolverSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint96","name":"identifier","type":"uint96"},{"internalType":"address","name":"resolver_","type":"address"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setResolver"},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"setResolverHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"slashRequests","outputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"uint48","name":"vetoDeadline","type":"uint48"},{"internalType":"bool","name":"completed","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slashRequestsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"slashableStake","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"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":"vault","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"vetoDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"uint256","name":"slashIndex","type":"uint256"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"vetoSlash"},{"inputs":[{"internalType":"address","name":"slasher","type":"address"},{"internalType":"bytes32","name":"subnetwork","type":"bytes32"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"vetoSlashHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]}],"devdoc":{"kind":"dev","methods":{"cumulativeSlash(bytes32,address)":{"params":{"operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"cumulative slash amount"}},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"time point to get the cumulative slash amount until (inclusively)"},"returns":{"_0":"cumulative slash amount until the given timestamp (inclusively)"}},"executeSlash(uint256,bytes)":{"details":"Only a network middleware can call this function.","params":{"hints":"hints for checkpoints' indexes","slashIndex":"index of the slash request"},"returns":{"slashedAmount":"virtual amount of the collateral slashed"}},"initialize(bytes)":{"params":{"data":"some data to use"}},"requestSlash(bytes32,address,uint256,uint48,bytes)":{"details":"Only a network middleware can call this function.","params":{"amount":"maximum amount of the collateral to be slashed","captureTimestamp":"time point when the stake was captured","hints":"hints for checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"slashIndex":"index of the slash request"}},"resolver(bytes32,bytes)":{"params":{"hint":"hint for the checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"_0":"address of the resolver"}},"resolverAt(bytes32,uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)","timestamp":"timestamp to get the resolver at"},"returns":{"_0":"address of the resolver"}},"slashRequestsLength()":{"returns":{"_0":"total number of slash requests"}},"slashableStake(bytes32,address,uint48,bytes)":{"params":{"captureTimestamp":"time point to get the stake amount at","hints":"hints for the checkpoints' indexes","operator":"address of the operator","subnetwork":"full identifier of the subnetwork (address of the network concatenated with the uint96 identifier)"},"returns":{"amount":"slashable amount of the stake"}},"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"}},"vetoSlash(uint256,bytes)":{"details":"Only a resolver can call this function.","params":{"hints":"hints for checkpoints' indexes","slashIndex":"index of the slash request"}}},"version":1},"userdoc":{"kind":"user","methods":{"BURNER_GAS_LIMIT()":{"notice":"Get a gas limit for the burner."},"BURNER_RESERVE()":{"notice":"Get a reserve gas between the gas limit check and the burner's execution."},"FACTORY()":{"notice":"Get the factory's address."},"NETWORK_MIDDLEWARE_SERVICE()":{"notice":"Get the network middleware service's address."},"NETWORK_REGISTRY()":{"notice":"Get the network registry's address."},"TYPE()":{"notice":"Get the entity's type."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"cumulativeSlash(bytes32,address)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork."},"cumulativeSlashAt(bytes32,address,uint48,bytes)":{"notice":"Get a cumulative slash amount for an operator on a subnetwork until a given timestamp (inclusively) using a hint."},"executeSlash(uint256,bytes)":{"notice":"Execute a slash with a given slash index using hints."},"initialize(bytes)":{"notice":"Initialize this entity contract by using a given data."},"isBurnerHook()":{"notice":"Get if the burner is needed to be called on a slashing."},"latestSlashedCaptureTimestamp(bytes32,address)":{"notice":"Get the latest capture timestamp that was slashed on a subnetwork."},"requestSlash(bytes32,address,uint256,uint48,bytes)":{"notice":"Request a slash using a subnetwork for a particular operator by a given amount using hints."},"resolver(bytes32,bytes)":{"notice":"Get a resolver for a given subnetwork using a hint."},"resolverAt(bytes32,uint48,bytes)":{"notice":"Get a resolver for a given subnetwork at a particular timestamp using a hint."},"resolverSetEpochsDelay()":{"notice":"Get a delay for networks in epochs to update a resolver."},"slashRequests(uint256)":{"notice":"Get a particular slash request."},"slashRequestsLength()":{"notice":"Get a total number of slash requests."},"slashableStake(bytes32,address,uint48,bytes)":{"notice":"Get a slashable amount of a stake got at a given capture timestamp using hints."},"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)."},"vault()":{"notice":"Get the vault's address."},"vetoDuration()":{"notice":"Get a duration during which resolvers can veto slash requests."},"vetoSlash(uint256,bytes)":{"notice":"Veto a slash with a given slash index using hints."}},"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/hints/SlasherHints.sol":"VetoSlasherHints"},"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/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"],"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/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"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/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"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/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"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/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"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/delegator/BaseDelegator.sol":{"keccak256":"0x7c54d491fdd4415b764a9c8defa068e56d4c0c8c9419be0053a1d377669290e8","urls":["bzz-raw://9238bfbad0f6eeb0dc7727724de14380f1980b395902269703d5e2ef07e52e10","dweb:/ipfs/QmPJn1V4HNXcEghYvogGuSTF24dSQUPosR5qtsXcmNqRm3"],"license":"BUSL-1.1"},"src/contracts/delegator/FullRestakeDelegator.sol":{"keccak256":"0x0a81c4f8e72914563a9cb771e93acf889c71ea36b7bec040e4eb562b199d5af1","urls":["bzz-raw://6fc66b6ba02da77046a0bbbd1dd407a62c08f52e04486c9cbd2cb1cca3da555f","dweb:/ipfs/QmZQivK1ZnMxfRQQ5aLpV9co5u55wQVNev5Rg1hzAqxhkE"],"license":"BUSL-1.1"},"src/contracts/delegator/NetworkRestakeDelegator.sol":{"keccak256":"0xd3a8e6522f9c6fdcc2da837c9023afd6bdff2bce45a35590320c475519e3636d","urls":["bzz-raw://58b17a87f6554f08376f9ea7fedf486a4aa75801bf0ad8b23ff5a46959b6b7a3","dweb:/ipfs/QmSTmNh67tYt8CmjVZb57r8N3qX5yeYdMApKPJm3qvQgQw"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorNetworkSpecificDelegator.sol":{"keccak256":"0x031a10722b9ec49048f0952710401131290adb87e71caf294e864e7ac3b98a16","urls":["bzz-raw://72428febc875134b2f29205e6f294634a1c22a7d5c78d6a9cb2f8196f107c9b5","dweb:/ipfs/QmTPwXR6h5oytckmkLrHdKeEMdphJxceDhYUR4zvQeWAwY"],"license":"BUSL-1.1"},"src/contracts/delegator/OperatorSpecificDelegator.sol":{"keccak256":"0x630ce62fa30b9f3349ab7a8cf8dbf041319febc6dd757be2f94d3d25944ed328","urls":["bzz-raw://c2ac59d47ce57d2a6819ae9833e1a618a371eccff93eb5ab367b201b01f42bfa","dweb:/ipfs/QmdBpGMBivpNPv2WbH8vnCUy5xkVeaxQvGgqi33vKCz1kA"],"license":"BUSL-1.1"},"src/contracts/hints/DelegatorHints.sol":{"keccak256":"0xd71e9102e99a25ee8b5435779f011a24558f56074aa2b16c18b623b57754ae97","urls":["bzz-raw://29db5552e55dab51bea1ae40ba00ca674cb50fcb10997999a72a94527b6eb591","dweb:/ipfs/QmQrYyTPx73ubNxMhYWJCkprCVFVtuTFcKaabYiKTe71tY"],"license":"BUSL-1.1"},"src/contracts/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/OptInServiceHints.sol":{"keccak256":"0x95d9407900d27b9f4a1233b772aeed809c07b2dc5b31cfc9fa77ca26514c49e5","urls":["bzz-raw://a13a8877e312d7e6b8b85bde3668c5d84ff5ecc83f762cd573f2b7104c64eb42","dweb:/ipfs/QmYV2J55acuGzCNnS3juABuUHY5U1xc8g8o9jwEyFFdeG5"],"license":"BUSL-1.1"},"src/contracts/hints/SlasherHints.sol":{"keccak256":"0xd77c5f3bbb0265af8ecd947df88f6f9684e136d80052b5292f5b29aaa3566a3f","urls":["bzz-raw://484a26504bf6706202ec82a9a4cfa7d196bbc552b5b78ced25bf7130c2842595","dweb:/ipfs/QmaQqmkoZoUWEam4R94vmajzH3gKqFqpZQwFbrHDsN1peV"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/service/OptInService.sol":{"keccak256":"0x4e0932077f2686b7990e10d59deb2535334c0d09e52ef6e57c6ab09eca21c4b1","urls":["bzz-raw://7c00d311032ed4a1743aca7475f3c86ce15cdfc2218108efc3731c03d34a5278","dweb:/ipfs/QmUGGfVwVhaHr5kS4177yKKYiLYzi5qZpkEmvYxBZqazxf"],"license":"BUSL-1.1"},"src/contracts/slasher/BaseSlasher.sol":{"keccak256":"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6","urls":["bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06","dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF"],"license":"BUSL-1.1"},"src/contracts/slasher/Slasher.sol":{"keccak256":"0xeee0cb25fad58d496fdcc641d852d11bae06e6ceed5230ae21150964175c494f","urls":["bzz-raw://34aa27d21246a1bcee0b6a2afa8d9d613441156362430392f75d176511d58c61","dweb:/ipfs/Qmf53Y3zdGfH4PU2zpSGeHZ8mMLzLXCtmkQrG5mnVJECQ3"],"license":"BUSL-1.1"},"src/contracts/slasher/VetoSlasher.sol":{"keccak256":"0xeccc8128de5e1ad499c067feac1c526638fbbac1a18b96726fc7507969fd5897","urls":["bzz-raw://cdfcf281338423625acbccdf8810115b258ef7cfe4aa3c10b8911ead1aa85429","dweb:/ipfs/QmZFsDvZXpkFkx4PHcDXAVPN3ZCAahbSVfYpSVrMBvbt4k"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/delegator/IDelegatorHook.sol":{"keccak256":"0xc51aa8d7d1f6c8043ee819b7aeb86da0e993912e1442098df897e299f01f9f46","urls":["bzz-raw://adddf5cb2ba282aeb576b26efb28640f865a1721cc9b6eee8b3ee0457a2c9780","dweb:/ipfs/QmNYgAmnLRwWZbhTuQhZs9rx4zcme1df5mEepkrniorSoW"],"license":"MIT"},"src/interfaces/delegator/IFullRestakeDelegator.sol":{"keccak256":"0xa3c8cb2e45d4d8ce90e95263bea40c01dc400f05ad65bc29597d878606be5e7d","urls":["bzz-raw://782cf5e201aa4cca037ebafd3807a68ff1cc721d5b8416a35244db0d0607369e","dweb:/ipfs/QmQkJks6x7CKndeTPa9LxgTNygD5uEi7obhADhpq1Lsr9A"],"license":"MIT"},"src/interfaces/delegator/INetworkRestakeDelegator.sol":{"keccak256":"0xe7030fe30389a147fd710e3436ec346b4842695fd3e65a81b95375c9f1d633fc","urls":["bzz-raw://739c7e66d301778054f5c90bee45ec9438f68afba8a03eaaac52064c73b115ad","dweb:/ipfs/QmfZ2ytKcTykAc76nxhg8ikUXV8NdBpetqb8W4YWPcox1Z"],"license":"MIT"},"src/interfaces/delegator/IOperatorNetworkSpecificDelegator.sol":{"keccak256":"0x74b95e64d29769202d45dd277bb830f623ff3d41ce77b80ce3ee4e318a5c71ec","urls":["bzz-raw://e512b903aae5c1b8a028c6e3f4f6223b5cb5d704503cfa6bd37b5346868f5c20","dweb:/ipfs/QmZim9YExsPWtyxyeui993HTKAEmrg8MUcSkZ77Gp2JcuZ"],"license":"MIT"},"src/interfaces/delegator/IOperatorSpecificDelegator.sol":{"keccak256":"0x72075cab585dc17240cc3e32bc99b92f0d5627ddd988fed680e3e1a52d5a01e4","urls":["bzz-raw://7448bc90699409ae61d85216b5efc2143a37f0f73354be2aea993bc54afca441","dweb:/ipfs/QmXE4gAxM8pHosZK8mcTcj17puBx484meDCcmrDePskGHZ"],"license":"MIT"},"src/interfaces/service/INetworkMiddlewareService.sol":{"keccak256":"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783","urls":["bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c","dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA"],"license":"MIT"},"src/interfaces/service/IOptInService.sol":{"keccak256":"0x76fb5460a6d87a5705433d4fbeff7253cd75b8bbd0c888b2088f16e86ace146a","urls":["bzz-raw://990322019b3d11465f7024bae77ccbf7e2fe5d6fa3c754584778f37d04fa1337","dweb:/ipfs/QmaSNHzcqxTkUCG9a4nqVfLECHLdjdrwAnDi3yDC7tDL24"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/slasher/IBurner.sol":{"keccak256":"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b","urls":["bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447","dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW"],"license":"MIT"},"src/interfaces/slasher/ISlasher.sol":{"keccak256":"0x34d226d67a3d5e16571f2fac91a8b9773551bcc41c88a96279669dd78d192625","urls":["bzz-raw://7a6e8c1462ee4a1b0f745414be043c09012ea676613790aba004b06c85c980d1","dweb:/ipfs/QmadjNEbHKRthtA1EeNy3Kg2sXpejH2KBeHm8QZtBPvXbJ"],"license":"MIT"},"src/interfaces/slasher/IVetoSlasher.sol":{"keccak256":"0xdf7edd04a4f36e9aec3a15241dcb6b6315b2e64927b12710c2c410d571fc55e9","urls":["bzz-raw://c4be6ac339c2ebf230fed65363f036784224095d0cd0f3f2d01d64d6e0da9508","dweb:/ipfs/QmRSMbpfaHExqrzUA8vYZMYZWh6eQW1KX9JKJSLdgronfg"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":97} \ No newline at end of file diff --git a/out/Vault.sol/Vault.json b/out/Vault.sol/Vault.json index adb8926..84a3375 100644 --- a/out/Vault.sol/Vault.json +++ b/out/Vault.sol/Vault.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"},{"name":"vaultFactory","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":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","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":"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":"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":"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":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"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":"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":"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":"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":"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":"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":"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":"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":"AlreadyInitialized","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":"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":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","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"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]}],"bytecode":{"object":"0x60e03461013c57601f614a8938819003918201601f1916830192916001600160401b03918285118486101761014057816060928592604097885283398101031261013c5761004c82610154565b916100648461005d60208401610154565b9201610154565b9260805260a0527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82861c1661012b5780808316036100e7575b50505060c052516149209081610169823960805181818161119f01526116d2015260a05181818161183b0152611d24015260c05181818161077101526109a20152f35b6001600160401b0319909116811790915582519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a4565b845163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361013c5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104345780631415519b1461042f5780631b66c9e11461042a5780631e9a695014610425578063248a9ca31461042057806327810b6e1461041b578063281f5752146104165780632abe3048146104115780632d73c69c1461040c5780632dd31000146104075780632f2ff15d1461040257806336568abe146103fd578063392e53cd146103f85780634105a7dd146103f357806346361671146103ee57806347e7ef24146103e957806348d3b775146103e45780634ff0876a146103df57806350861adc146103da57806350f22068146103d55780635346e34f146103d057806354fd4d50146103cb57806357ec83cc146103c657806359f769a9146103c15780635cc07076146103bc57806361a8c8c4146103b75780636da3e06d146103b25780636ec1e3f8146103ad578063715018a6146103a85780637278e31c146103a357806373790ab31461039e5780637667180814610399578063794b15b7146103945780637953b33b1461038f5780637c04c80a1461038a578063810da75d1461038557806383cd9cc31461038057806387df07881461037b5780638b0e9f3f146103765780638da5cb5b1461037157806391d148541461036c5780639d66201b146103675780639f86fd8514610362578063a1b122021461035d578063a217fddf14610358578063a21a1df914610353578063a28614661461034e578063a3b5417214610349578063a5d0322314610344578063aabc24961461033f578063aad3ec961461033a578063afba70ad14610335578063b134427114610330578063bd49c35f1461032b578063bdc8144b14610326578063bfefcd7b14610321578063c31e8dd71461031c578063ce9b793014610317578063d547741f14610312578063d8dfeb451461030d578063db38871514610308578063ecf7085814610303578063efb559d6146102fe578063f2fde38b146102f9578063f3fef3a3146102f45763f5e7ee0f146102ef575f80fd5b6123c1565b61231b565b6122ee565b61219f565b612182565b612148565b61211d565b6120d1565b6120a9565b61203f565b612025565b611f47565b611f2d565b611f05565b611edb565b611e1a565b611c63565b611c1d565b611bd0565b611add565b611aa3565b611a89565b611a65565b611998565b61195e565b611900565b6118cc565b61186a565b611826565b61166d565b611654565b6115ee565b6115c7565b611587565b61156d565b61152c565b61125a565b6111f3565b6111ce565b61118a565b611137565b61110d565b6110e6565b610fae565b610f7c565b610ee7565b610ece565b610e71565b610e51565b610e30565b610b72565b610b4a565b610aaf565b610a6a565b610a1f565b6109d1565b61098d565b610919565b61072b565b61065d565b610635565b6105fc565b610513565b6104c8565b61048e565b3461048a57602036600319011261048a5760043563ffffffff60e01b811680910361048a57602090637965db0b60e01b8114908115610479575b506040519015158152f35b6301ffc9a760e01b1490505f61046e565b5f80fd5b3461048a575f36600319011261048a5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b3461048a575f36600319011261048a5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b0381160361048a57565b3461048a57604036600319011261048a5760043561053081610502565b6024359061053c612be6565b6001600160a01b038116156105eb57335f908152600e6020526040902061056790613c6f565b613c6f565b82116105d957610587610578613b82565b610580613bfb565b9084613cbc565b9182156105c4578261059892612c15565b906105af60015f805160206148ab83398151915255565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b3461048a57602036600319011261048a576004355f525f8051602061488b8339815191526020526020600160405f200154604051908152f35b3461048a575f36600319011261048a576001546040516001600160a01b039091168152602090f35b3461048a575f36600319011261048a5761067561293a565b80156106d65760015465ffffffffffff8160a01c16915f1981019081116106d1576106a39160d01c9061241a565b81018091116106d1576106b86105c091612d8f565b60405165ffffffffffff90911681529081906020820190565b6123eb565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b038216820361048a57565b9181601f8401121561048a578235916001600160401b03831161048a576020838186019501011161048a57565b3461048a57604036600319011261048a576107446106e8565b6001600160401b0360243581811161048a576107649036906004016106fe565b92909161076f612be6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036107e9575f805160206148cb833981519152549060ff8260401c169283156107d9575b50505015612dc1575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f80806107be565b604051631966391b60e11b8152600490fd5b65ffffffffffff81160361048a57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761083a57604052565b61080b565b604081019081106001600160401b0382111761083a57604052565b90601f801991011681019081106001600160401b0382111761083a57604052565b6040519061016082018281106001600160401b0382111761083a57604052565b604051906108a88261083f565b565b6001600160401b03811161083a57601f01601f191660200190565b9291926108d1826108aa565b916108df604051938461085a565b82948184528183011161048a578281602093845f960137010152565b9080601f8301121561048a57816020610916933591016108c5565b90565b3461048a57606036600319011261048a5760043561093681610502565b60243590610943826107fb565b604435906001600160401b03821161048a576020926109696109859336906004016108fb565b6001600160a01b039092165f908152600e855260409020612f87565b604051908152f35b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a57604036600319011261048a57610a1d6024356004356109f482610502565b805f525f8051602061488b833981519152602052610a18600160405f20015461315e565b61345e565b005b3461048a57604036600319011261048a57602435610a3c81610502565b336001600160a01b03821603610a5857610a1d90600435613494565b60405163334bd91960e11b8152600490fd5b3461048a575f36600319011261048a5760ff60025460a01c1680610a96575b6020906040519015158152f35b5060035460a01c60ff16610a89565b8015150361048a57565b3461048a57602036600319011261048a57600435610acc81610aa5565b610ad4612be6565b610adc613053565b5f54901515908160ff8216151514610b385760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f805160206148ab83398151915255005b60405163a741a04560e01b8152600490fd5b3461048a575f36600319011261048a57602065ffffffffffff60015460a01c16604051908152f35b3461048a5760408060031936011261048a576004803591610b9283610502565b610b9a612be6565b6001600160a01b0391838316908115610e22575f5460ff811680610e09575b610dfa5783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dd2575f93610dd7575b50610c0e906024359030903390613526565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dd257610c4d935f92610da5575b505061240d565b938415610d965760081c60ff1680610d81575b610d735750906105c091610d11610c75613b82565b95610cbe610c81613bfb565b610ca9610c8f8a838b613cbc565b99610ca38a610c9d42612d8f565b9261243b565b9061367a565b5050610cb889610c9d42612d8f565b9061375a565b50506001600160a01b0381165f908152600e6020526040902090610d0b88610d06610562610ceb42612d8f565b6001600160a01b039095165f908152600e6020526040902090565b61243b565b91613836565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d5d60015f805160206148ab83398151915255565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8e84610d06613b82565b815410610c60565b50825163070f6eed60e11b8152fd5b610dc49250803d10610dcb575b610dbc818361085a565b810190612469565b5f80610c46565b503d610db2565b612478565b610c0e919350610df390853d8711610dcb57610dbc818361085a565b9290610bfc565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bb9565b8251630d534ce360e11b8152fd5b3461048a575f36600319011261048a57602060ff5f54166040519015158152f35b3461048a575f36600319011261048a57602060015460d01c604051908152f35b3461048a575f36600319011261048a57602060ff60025460a01c166040519015158152f35b90604060031983011261048a57600435610eaf816107fb565b91602435906001600160401b03821161048a57610916916004016108fb565b3461048a576020610985610ee136610e96565b90612dfd565b3461048a57602036600319011261048a57600435610f0481610aa5565b610f0c612be6565b610f146130b0565b5f54901515908160ff8260081c16151514610b385761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610a1d60015f805160206148ab83398151915255565b3461048a575f36600319011261048a5760206001600160401b035f805160206148cb8339815191525416604051908152f35b3461048a57606036600319011261048a57610fc76106e8565b602435610fd381610502565b6001600160401b039160443583811161048a57610ff49036906004016106fe565b5f805160206148cb8339815191529491855494838616806110d55760ff8760401c169081156110c8575b506107c7577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966110c39661108b958716906001600160401b0319161790556110865f805160206148cb833981519152600160401b68ff000000000000000019825416179055565b612483565b5f805160206148cb833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f61101e565b60405162dc149f60e41b8152600490fd5b3461048a57602036600319011261048a57602061098560043561110881610502565b6128a3565b3461048a57602036600319011261048a576004355f526006602052602060405f2054604051908152f35b3461048a575f36600319011261048a5760015465ffffffffffff61116d818360a01c169261116361293a565b9060d01c9061241a565b82018092116106d157611181602092612d8f565b60405191168152f35b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a575f36600319011261048a57602060ff60035460a01c166040519015158152f35b3461048a575f36600319011261048a5761120b6139c8565b5f8051602061482b83398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461048a57604036600319011261048a5760043560243561127a816107fb565b611282612be6565b60035461129f906001600160a01b03165b6001600160a01b031690565b330361151a576112ad61293a565b906112b78161296e565b9082151580611509575b8015611500575b6114ee576105c0937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926112fa613b82565b946113156113078261242d565b5f52600660205260405f2090565b54908281036114085750611329818761243b565b8381188185100281189687806113c1575b50505050505b8361138d575b6040805191825265ffffffffffff929092166020820152908101839052606090a161137d60015f805160206148ab83398151915255565b6040519081529081906020820190565b5f546113bc9085906113aa9060101c6001600160a01b0316611293565b6001546001600160a01b031690613a97565b611346565b6113fd93610c4683610ca36113e76113e0611307986113f79888613a0a565b809661240d565b946113f142612d8f565b9261240d565b9261242d565b555f8080808761133a565b915061141c825f52600660205260405f2090565b549061142c81610d06848a61243b565b908482188286100282189788611447575b5050505050611340565b6114bc938361146f9361147c8c6114776114656114ad998884613a0a565b9788958584613a0a565b94859261240d565b61240d565b938484106114c7575b610c4690610ca361149b9596976113f142612d8f565b6114a76113078761242d565b5561240d565b915f52600660205260405f2090565b555f8080808061143d565b916114e3610c46916114dd8661149b979861240d565b9061243b565b859450929050611485565b604051635e18d2a560e01b8152600490fd5b508282116112c8565b50611513836123ff565b82106112c1565b60405163dabc4ad960e01b8152600490fd5b3461048a575f36600319011261048a5760015465ffffffffffff808260a01c169161155561293a565b600181018091116106d15761116d9160d01c9061241a565b3461048a575f36600319011261048a57602061098561293a565b3461048a57602036600319011261048a576004356115a481610502565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b3461048a57602036600319011261048a5760206109856004356115e9816107fb565b61296e565b3461048a57604036600319011261048a5760043561160b81610502565b6024356001600160401b0380821161048a573660238301121561048a57816004013590811161048a573660248260051b8401011161048a576105c092602461137d9301906129a9565b3461048a57602061098561166736610e96565b90612ed2565b3461048a5760208060031936011261048a57600480359061168d82610502565b611695612be6565b60025460a01c60ff16611817576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f916117ea575b50156117da5760405163fbfa77cf60e01b8152838516949082818581895afa928315610dd2575f936117ab575b50503091160361179c5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610a1d60015f805160206148ab83398151915255565b60405163b9f0f17160e01b8152fd5b6117cb929350803d106117d3575b6117c3818361085a565b810190612b02565b905f8061172f565b503d6117b9565b506040516324e5af8d60e21b8152fd5b61180a9150823d8411611810575b611802818361085a565b810190612ae2565b5f611702565b503d6117f8565b604051631380833b60e01b8152fd5b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a575f36600319011261048a5761188261293a565b61188a613b82565b90805f52600660205260405f205482018092116106d157600181018091116106d1575f52600660205260405f205481018091116106d157602090604051908152f35b3461048a575f36600319011261048a575f8051602061482b833981519152546040516001600160a01b039091168152602090f35b3461048a57604036600319011261048a57602060ff61195260243561192481610502565b6004355f525f8051602061488b833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461048a57602036600319011261048a5760043561197b81610502565b60018060a01b03165f52600e602052602061098560405f20613c6f565b3461048a5760408060031936011261048a576004356119b681610502565b6024356001600160401b03811161048a575f80611a54936119dd60809436906004016106fe565b908188519283928337810184815203915af43d15611a5c5760203d611a01816108aa565b90611a0e8751928361085a565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261085a565b805190602001fd5b60206060611a17565b3461048a575f36600319011261048a57602060ff5f5460081c166040519015158152f35b3461048a575f36600319011261048a5760206040515f8152f35b3461048a575f36600319011261048a5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461048a57604036600319011261048a57600435611afa81610502565b602435611b0681610aa5565b611b0e612be6565b611b16613107565b6001600160a01b038216918215611bbe575f8381526005602052604090205460ff16151582151514610b38576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a6291611ba591611b93908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610a1d60015f805160206148ab83398151915255565b604051630da30f6560e31b8152600490fd5b3461048a57604036600319011261048a576020611c14602435611bf281610502565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461048a57604036600319011261048a57602060ff611952602435611c4181610502565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b3461048a5760208060031936011261048a576004803590611c8382610502565b611c8b612be6565b60035460a01c60ff16611e0b576001600160a01b03828116939084611cf9575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610a1d60015f805160206148ab83398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f91611dee575b5015611ddd5760405163fbfa77cf60e01b815282818581895afa928315610dd2575f93611dbe575b505030911603611daf5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080611cab565b604051633f3e089160e21b8152fd5b611dd5929350803d106117d3576117c3818361085a565b905f80611d7c565b60405163dabc4ad960e01b81528390fd5b611e059150833d851161181057611802818361085a565b5f611d54565b60405163703fe2e560e01b8152fd5b3461048a57604036600319011261048a57600435611e3781610502565b60243590611e43612be6565b6001600160a01b0391818316908115611ec957611e746105c094611e6683613ae6565b9485915f5460101c16613a97565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f805160206148ab833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b3461048a57602036600319011261048a576004355f526007602052602060405f2054604051908152f35b3461048a575f36600319011261048a576003546040516001600160a01b039091168152602090f35b3461048a575f36600319011261048a576020610985613b82565b3461048a57602036600319011261048a57600435611f63612be6565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff161561200757508060045414610b38576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f805160206148ab83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461048a575f36600319011261048a576020610985613bfb565b3461048a57602036600319011261048a5760043561205c81610502565b61206461293a565b61206d826128a3565b916120788183612b88565b83018093116106d157600182018092116106d15761209591612b88565b81018091116106d157602090604051908152f35b3461048a575f36600319011261048a576002546040516001600160a01b039091168152602090f35b3461048a57604036600319011261048a57610a1d6024356004356120f482610502565b805f525f8051602061488b833981519152602052612118600160405f20015461315e565b613494565b3461048a575f36600319011261048a575f5460405160109190911c6001600160a01b03168152602090f35b3461048a575f36600319011261048a5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b3461048a575f36600319011261048a576020600454604051908152f35b3461048a57606036600319011261048a576004356121bc81610502565b602435906121c9826107fb565b6001600160401b039160443583811161048a576121ea9036906004016106fe565b909260409384516121fa8161081f565b60608152606060208201526060868201529280612259575b6105c08661224a878761224461222b8984845191612448565b928561223b602085015183612ed2565b93015190612dfd565b91613cbc565b90519081529081906020820190565b810193925060208185031261048a5780359086821161048a57019260608482031261048a5784519561228a8761081f565b843581811161048a578261229f9187016108fb565b8752602085013581811161048a57826122b99187016108fb565b60208801528585013590811161048a576105c0966122e26122449361222b9361224a98016108fb565b87820152939450612212565b3461048a57602036600319011261048a57610a1d60043561230e81610502565b6123166139c8565b612b17565b3461048a57604036600319011261048a5760043561233881610502565b602435612343612be6565b6001600160a01b038216156105eb5780156123af57612372612363613bfb565b61236b613b82565b90836140ff565b335f908152600e6020526040902090929061238c90613c6f565b831161239d57610598918391612c15565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b3461048a57604036600319011261048a5760206109856024356123e381610502565b600435612b88565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106d157565b919082039182116106d157565b818102929181159184041417156106d157565b90600182018092116106d157565b919082018092116106d157565b6001600160a01b03165f908152600e60205260409020610916929190612f87565b9081602091031261048a575190565b6040513d5f823e3d90fd5b916124d5916124c69161249461421b565b61249c61421b565b60015f805160206148ab833981519152556001600160a01b0394808616612889575b5036916108c5565b602080825183010191016138ff565b805182166001600160a01b03161561287757604080820165ffffffffffff612503825165ffffffffffff1690565b16156128665760c083018051909290612524906001600160a01b0316611293565b15612717575b5091612663610140926126026125dd6126c196612578612550875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b039092169190911790556125d16125a842612d8f565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6126226126126060850151151590565b60ff80195f541691151516175f55565b6126496126326080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61265660a0840151600455565b516001600160a01b031690565b848116612707575b5060e08101516001600160a01b03168481166126f7575b506101008101516001600160a01b03168481166126e7575b506101208101516001600160a01b03168481166126d7575b5001516001600160a01b031690565b9081166126cb5750565b6126d4906133ef565b50565b6126e090613380565b505f6126b2565b6126f090613311565b505f61269a565b6127009061323b565b505f612682565b6127109061318a565b505f61266b565b60e084015161272e906001600160a01b0316611293565b15612803575b61012084015161274c906001600160a01b0316611293565b61252a576080840151156127b95760a0840151158061279a575b61278a575091612663610140926126026125dd6126c1965b9496505050925061252a565b5163183c854560e21b8152600490fd5b506101408401516127b3906001600160a01b0316611293565b15612766565b60a0840151158015906127e3575b61278a575091612663610140926126026125dd6126c19661277e565b506101408401516127fc906001600160a01b0316611293565b15156127c7565b60608401511561283957610100840151612825906001600160a01b0316611293565b612734575163183c854560e21b8152600490fd5b610100840151612851906001600160a01b0316611293565b15612734575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b61289d9061289561421b565b61231661421b565b5f6124be565b6001600160a01b03165f908152600e602052604090206128c290613c6f565b6128ca613b82565b6128d2613bfb565b90600181018091116106d157600182018092116106d15761091692613a0a565b65ffffffffffff91821690821603919082116106d157565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff80911691821561293557160490565b61290a565b61294342612d8f565b61296a60015461296065ffffffffffff93848360a01c16906128f2565b9060d01c9061291e565b1690565b6001549065ffffffffffff91828160a01c169182848216106129975761296a92612960916128f2565b60405163b7d0949760e01b8152600490fd5b906129b2612be6565b5f926001600160a01b038316928315611ec9578115612a6a575f5b828110612a4857505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612a1d918491612a189060101c6001600160a01b0316611293565b613a97565b612a2e604051928392339684612aa5565b0390a3906108a860015f805160206148ab83398151915255565b94612a636001916114dd612a5d898789612a90565b35613ae6565b95016129cd565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612aa05760051b0190565b612a7c565b604080825281018390529392916001600160fb1b03811161048a5760209160609160051b809183880137850101930152565b51906108a882610aa5565b9081602091031261048a575161091681610aa5565b51906108a882610502565b9081602091031261048a575161091681610502565b6001600160a01b03908116908115612b70575f8051602061482b83398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612bae90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116106d157600182018092116106d15761091692613a0a565b5f805160206148ab8339815191526002815414612c035760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e6020526040902093929190612c3042612d8f565b335f908152600e60205260409020612c4790613c6f565b918483039283116106d157612c827febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f938593612d0d99613836565b5050612c9c612c9042612d8f565b610cb887611477613bfb565b5050612cb6612caa42612d8f565b610ca384611477613b82565b5050612d5b81612d46612ccf612cca61293a565b61242d565b612d25612ce4825f52600660205260405f2090565b54612cf7835f52600760205260405f2090565b54612d0382828b613cbc565b9d8e998a9361243b565b612d1f855f52600660205260405f2090565b5561243b565b612d37825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b612d6683825461243b565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b65ffffffffffff90818111612da2571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b61048a9136916108c5565b9081602091031261048a575163ffffffff8116810361048a5790565b90600163ffffffff809316019182116106d157565b90805115612ec85780602080612e1893518301019101612dcc565b612e2181613f2d565b90612e32825165ffffffffffff1690565b9065ffffffffffff8085169216828114612ebc5782119182612e68575b5050612e5f575061091690613cdd565b60209150015190565b909150612e76600a546123ff565b63ffffffff831614918215612e8f575b50505f80612e4f565b612eb49192506125d1612ea4612ea992612de8565b613f2d565b65ffffffffffff1690565b115f80612e86565b50505060209150015190565b5061091690613cdd565b90805115612f7d5780602080612eed93518301019101612dcc565b612ef681613fb7565b90612f07825165ffffffffffff1690565b9065ffffffffffff8085169216828114612ebc5782119182612f34575b5050612e5f575061091690613da4565b909150612f42600c546123ff565b63ffffffff831614918215612f5b575b50505f80612f24565b612f759192506125d1612f70612ea992612de8565b613fb7565b115f80612f52565b5061091690613da4565b918051156130495780602080612fa293518301019101612dcc565b91612fad8382614037565b92612fbe845165ffffffffffff1690565b9065ffffffffffff808516921682811461303d5782119182612ff4575b5050612feb576109169250613e64565b50506020015190565b90915061300183546123ff565b63ffffffff83161491821561301a575b50505f80612fdb565b6130359192506125d161302f612ea992612de8565b85614037565b115f80613011565b50505050506020015190565b5061091691613e64565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156120075750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906130a6565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906130a6565b5f8181525f8051602061488b83398151915260209081526040808320338452909152902060ff906130a6565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f8051602061488b8339815191529060ff16613235575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f8051602061488b8339815191529060ff905b541661330a575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f8051602061488b8339815191529060ff906132a6565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f8051602061488b8339815191529060ff906132a6565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f8051602061488b8339815191529060ff906132a6565b5f8181525f8051602061488b833981519152602081815260408084206001600160a01b038716855290915290912060ff906132a6565b5f8181525f8051602061488b833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561330a575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b0384111761083a576108a8926040526140a5565b600b54811015612aa057600b5f525f8051602061486b83398151915201905f90565b600d54811015612aa057600d5f525f8051602061484b83398151915201905f90565b8054821015612aa0575f5260205f2001905f90565b600d54600160401b81101561083a576001810180600d55811015612aa057600d5f525f8051602061484b8339815191520155565b600b54600160401b81101561083a576001810180600b55811015612aa057600b5f525f8051602061486b8339815191520155565b90815491600160401b83101561083a57826136629160016108a8950181556135c2565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613725575b50613692614138565b509290918154926136a1613b82565b9481613710575b50156136ed57505f1982018281116106d15781541115612aa0575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613701926001600160d01b03169150614362565b505061370c836135d7565b9190565b65ffffffffffff83811691161490505f6136a8565b600160401b81101561083a5760018101808455811015612aa0575f908382525f8051602061484b83398151915201555f613689565b919091600b9081548015613801575b5061377261418d565b50929091815492613781613bfb565b94816137ec575b50156137cd57505f1982018281116106d15781541115612aa0575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b6137e1926001600160d01b03169150614432565b505061370c8361360b565b65ffffffffffff83811691161490505f613788565b600160401b81101561083a5760018101808455811015612aa0575f908382525f8051602061486b83398151915201555f613769565b909291926001820190815480156138c4575b5084613853846141e2565b5094909284549361386383613c6f565b96816138af575b501561388c575050505f1981019081116106d157613662859161370c936135c2565b61370c9492936138a8926001600160d01b0390911691906144d1565b505061363f565b65ffffffffffff83811691161490505f61386a565b600160401b81101561083a578060016138e092018455836135c2565b8154905f199060031b1b191690555f613848565b51906108a8826107fb565b908161016091031261048a5761391361087b565b9061391d81612af7565b825261392b60208201612af7565b602083015261393c604082016138f4565b604083015261394d60608201612ad7565b606083015261395e60808201612ad7565b608083015260a081015160a083015261397960c08201612af7565b60c083015261398a60e08201612af7565b60e083015261010061399d818301612af7565b908301526101206139af818301612af7565b908301526139c1610140809201612af7565b9082015290565b5f8051602061482b833981519152546001600160a01b031633036139e857565b60405163118cdaa760e01b8152336004820152602490fd5b8115612935570490565b91818302915f1981850993838086109503948086039514613a8a5784831115613a7d5790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614249565b5050906109169250613a00565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b0383118284101761083a576108a8926040526140a5565b90613aef61293a565b821015613b70575f82815260096020908152604080832033845290915290205460ff16613b5e57613b203383612b88565b918215613b4c575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600c5480613bc257505f5b6001600160d01b03811615613bbd57600d54811015612aa057600d5f525f8051602061484b833981519152015490565b505f90565b805f198101116106d157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613b8d565b600a5480613c3657505f5b6001600160d01b03811615613bbd57600b54811015612aa057600b5f525f8051602061486b833981519152015490565b805f198101116106d157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613c06565b805480613c9e57505f5b6001600160d01b03811615613235576001613c9492016135c2565b90549060031b1c90565b5f199080828101116106d157825f5260205f2001015460301c613c79565b9190600181018091116106d157600182018092116106d15761091692613a0a565b600a54905f829160058411613d4b575b613cf793506146b6565b80613d1a57505f5b6001600160d01b03811615613bbd57613c946109169161357e565b613d3f613d29613d46926123ff565b600a5f525f8051602061480b8339815191520190565b5460301c90565b613cff565b9192613d568161458b565b81039081116106d157613cf793600a5f5265ffffffffffff80835f8051602061480b833981519152015416908516105f14613d92575091613ced565b929150613d9e9061242d565b90613ced565b600c54905f829160058411613e0b575b613dbe935061471f565b80613de157505f5b6001600160d01b03811615613bbd57613c94610916916135a0565b613d3f613df0613e06926123ff565b600c5f525f805160206147eb8339815191520190565b613dc6565b9192613e168161458b565b81039081116106d157613dbe93600c5f5265ffffffffffff80835f805160206147eb833981519152015416908516105f14613e52575091613db4565b929150613e5e9061242d565b90613db4565b908154905f829160058411613ec7575b613e7f935084614788565b80613ea757505f905b6001600160d01b0382161561323557610916916001613c9492016135c2565b613d3f613eb6613ec1926123ff565b835f5260205f200190565b90613e88565b9192613ed28161458b565b81039081116106d157613e7f93855f5265ffffffffffff808360205f20015416908516105f14613f03575091613e74565b929150613f0f9061242d565b90613e74565b60405190613f228261083f565b5f6020838281520152565b613f35613f15565b50613f3e613f15565b50600a54811015612aa057600a5f52602060405191613f5c8361083f565b5f8051602061480b83398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612aa057600b5f525f8051602061486b833981519152015460405191613fad8361083f565b8252602082015290565b613fbf613f15565b50613fc8613f15565b50600c54811015612aa057600c5f52602060405191613fe68361083f565b5f805160206147eb83398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612aa057600d5f525f8051602061484b833981519152015460405191613fad8361083f565b906020600161405b6140879361404b613f15565b50614054613f15565b50856135c2565b50936040519461406a8661083f565b549465ffffffffffff86169586825260301c9384910152016135c2565b905490604051926140978461083f565b835260031b1c602082015290565b905f602091828151910182855af115612478575f513d6140f657506001600160a01b0381163b155b6140d45750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156140cd565b9190600181018091116106d157600182018092116106d157614122828285613a0a565b9282156129355709151581018091116106d15790565b600c548061414957505f905f905f90565b805f198101116106d157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061419e57505f905f905f90565b805f198101116106d157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806141f35750505f905f905f90565b5f199181838101116106d1575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f805160206148cb8339815191525460401c161561423757565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfd5b600c5490600160401b82101561083a576001820180600c55821015612aa057600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206147eb83398151915290910155565b600a5490600160401b82101561083a576001820180600a55821015612aa057600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f8051602061480b83398151915290910155565b8054600160401b81101561083a57614324916001820181556135c2565b61434f57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c54919291801561440957613df061437a916123ff565b9081549165ffffffffffff908184169183168083116143f7578692036143bf576143b892509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506143f2906143de6143d061089b565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614259565b6143b8565b604051632520601d60e01b8152600490fd5b5061442d906144196143d061089b565b6001600160d01b0384166020820152614259565b5f9190565b600a5491929180156144ad57613d2961444a916123ff565b9081549165ffffffffffff908184169183168083116143f757869203614488576143b892509065ffffffffffff82549181199060301b169116179055565b50506143f2906144996143d061089b565b6001600160d01b03851660208201526142b0565b5061442d906144bd6143d061089b565b6001600160d01b03841660208201526142b0565b80549293928015614566576144e86144f3916123ff565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116143f75787930361453257506143b892509065ffffffffffff82549181199060301b169116179055565b9150506143f29161455261454461089b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614307565b509061442d9161457761454461089b565b6001600160d01b0385166020830152614307565b600181111561091657600181600160801b8110156146a4575b61464c61464261463861462e61462461461a61465897600488600160401b6146539a1015614697575b64010000000081101561468a575b6201000081101561467d575b610100811015614671575b6010811015614665575b101561465d575b60030260011c614613818b613a00565b0160011c90565b614613818a613a00565b6146138189613a00565b6146138188613a00565b6146138187613a00565b6146138186613a00565b8093613a00565b821190565b900390565b60011b614603565b811c9160021b916145fc565b60081c91811b916145f2565b60101c9160081b916145e7565b60201c9160101b916145db565b60401c9160201b916145cd565b50600160401b9050608082901c6145a4565b905b8281106146c457505090565b9091808216906001818418811c83018093116106d157600a5f5265ffffffffffff80845f8051602061480b833981519152015416908616105f1461470c575050915b906146b8565b9093925081018091116106d15790614706565b905b82811061472d57505090565b9091808216906001818418811c83018093116106d157600c5f5265ffffffffffff80845f805160206147eb833981519152015416908616105f14614775575050915b90614721565b9093925081018091116106d1579061476f565b91905b8382106147985750505090565b909192808316906001818518811c83018093116106d157855f5265ffffffffffff808460205f20015416908516105f146147d7575050925b919061478b565b9094935081018091116106d157916147d056fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220397482c9a8ce651b670b21962bb148b00fad05ebc198b873564640451f1ffc5164736f6c63430008190033","sourceMap":"981:14958:106:-:0;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;3173:36:107;;;3219:32;;8837:64:26;981:14958:106;;;;;;;;;7896:76:26;;981:14958:106;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;981:14958:106;;;;;;;3173:36:107;981:14958:106;;;;;;;;;;3219:32:107;981:14958:106;;;;;;;;;;927:17:82;981:14958:106;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;981:14958:106;;;;;;;;;;;;;8087:29:26;;981:14958:106;;8087:29:26;7981:146;;;;;7896:76;981:14958:106;;-1:-1:-1;;;7938:23:26;;;;;981:14958:106;-1:-1:-1;981:14958:106;;;;;;-1:-1:-1;981:14958:106;;;;;-1:-1:-1;981:14958:106;;;;-1:-1:-1;;;;;981:14958:106;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104345780631415519b1461042f5780631b66c9e11461042a5780631e9a695014610425578063248a9ca31461042057806327810b6e1461041b578063281f5752146104165780632abe3048146104115780632d73c69c1461040c5780632dd31000146104075780632f2ff15d1461040257806336568abe146103fd578063392e53cd146103f85780634105a7dd146103f357806346361671146103ee57806347e7ef24146103e957806348d3b775146103e45780634ff0876a146103df57806350861adc146103da57806350f22068146103d55780635346e34f146103d057806354fd4d50146103cb57806357ec83cc146103c657806359f769a9146103c15780635cc07076146103bc57806361a8c8c4146103b75780636da3e06d146103b25780636ec1e3f8146103ad578063715018a6146103a85780637278e31c146103a357806373790ab31461039e5780637667180814610399578063794b15b7146103945780637953b33b1461038f5780637c04c80a1461038a578063810da75d1461038557806383cd9cc31461038057806387df07881461037b5780638b0e9f3f146103765780638da5cb5b1461037157806391d148541461036c5780639d66201b146103675780639f86fd8514610362578063a1b122021461035d578063a217fddf14610358578063a21a1df914610353578063a28614661461034e578063a3b5417214610349578063a5d0322314610344578063aabc24961461033f578063aad3ec961461033a578063afba70ad14610335578063b134427114610330578063bd49c35f1461032b578063bdc8144b14610326578063bfefcd7b14610321578063c31e8dd71461031c578063ce9b793014610317578063d547741f14610312578063d8dfeb451461030d578063db38871514610308578063ecf7085814610303578063efb559d6146102fe578063f2fde38b146102f9578063f3fef3a3146102f45763f5e7ee0f146102ef575f80fd5b6123c1565b61231b565b6122ee565b61219f565b612182565b612148565b61211d565b6120d1565b6120a9565b61203f565b612025565b611f47565b611f2d565b611f05565b611edb565b611e1a565b611c63565b611c1d565b611bd0565b611add565b611aa3565b611a89565b611a65565b611998565b61195e565b611900565b6118cc565b61186a565b611826565b61166d565b611654565b6115ee565b6115c7565b611587565b61156d565b61152c565b61125a565b6111f3565b6111ce565b61118a565b611137565b61110d565b6110e6565b610fae565b610f7c565b610ee7565b610ece565b610e71565b610e51565b610e30565b610b72565b610b4a565b610aaf565b610a6a565b610a1f565b6109d1565b61098d565b610919565b61072b565b61065d565b610635565b6105fc565b610513565b6104c8565b61048e565b3461048a57602036600319011261048a5760043563ffffffff60e01b811680910361048a57602090637965db0b60e01b8114908115610479575b506040519015158152f35b6301ffc9a760e01b1490505f61046e565b5f80fd5b3461048a575f36600319011261048a5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b3461048a575f36600319011261048a5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b0381160361048a57565b3461048a57604036600319011261048a5760043561053081610502565b6024359061053c612be6565b6001600160a01b038116156105eb57335f908152600e6020526040902061056790613c6f565b613c6f565b82116105d957610587610578613b82565b610580613bfb565b9084613cbc565b9182156105c4578261059892612c15565b906105af60015f805160206148ab83398151915255565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b3461048a57602036600319011261048a576004355f525f8051602061488b8339815191526020526020600160405f200154604051908152f35b3461048a575f36600319011261048a576001546040516001600160a01b039091168152602090f35b3461048a575f36600319011261048a5761067561293a565b80156106d65760015465ffffffffffff8160a01c16915f1981019081116106d1576106a39160d01c9061241a565b81018091116106d1576106b86105c091612d8f565b60405165ffffffffffff90911681529081906020820190565b6123eb565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b038216820361048a57565b9181601f8401121561048a578235916001600160401b03831161048a576020838186019501011161048a57565b3461048a57604036600319011261048a576107446106e8565b6001600160401b0360243581811161048a576107649036906004016106fe565b92909161076f612be6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036107e9575f805160206148cb833981519152549060ff8260401c169283156107d9575b50505015612dc1575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f80806107be565b604051631966391b60e11b8152600490fd5b65ffffffffffff81160361048a57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761083a57604052565b61080b565b604081019081106001600160401b0382111761083a57604052565b90601f801991011681019081106001600160401b0382111761083a57604052565b6040519061016082018281106001600160401b0382111761083a57604052565b604051906108a88261083f565b565b6001600160401b03811161083a57601f01601f191660200190565b9291926108d1826108aa565b916108df604051938461085a565b82948184528183011161048a578281602093845f960137010152565b9080601f8301121561048a57816020610916933591016108c5565b90565b3461048a57606036600319011261048a5760043561093681610502565b60243590610943826107fb565b604435906001600160401b03821161048a576020926109696109859336906004016108fb565b6001600160a01b039092165f908152600e855260409020612f87565b604051908152f35b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a57604036600319011261048a57610a1d6024356004356109f482610502565b805f525f8051602061488b833981519152602052610a18600160405f20015461315e565b61345e565b005b3461048a57604036600319011261048a57602435610a3c81610502565b336001600160a01b03821603610a5857610a1d90600435613494565b60405163334bd91960e11b8152600490fd5b3461048a575f36600319011261048a5760ff60025460a01c1680610a96575b6020906040519015158152f35b5060035460a01c60ff16610a89565b8015150361048a57565b3461048a57602036600319011261048a57600435610acc81610aa5565b610ad4612be6565b610adc613053565b5f54901515908160ff8216151514610b385760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f805160206148ab83398151915255005b60405163a741a04560e01b8152600490fd5b3461048a575f36600319011261048a57602065ffffffffffff60015460a01c16604051908152f35b3461048a5760408060031936011261048a576004803591610b9283610502565b610b9a612be6565b6001600160a01b0391838316908115610e22575f5460ff811680610e09575b610dfa5783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dd2575f93610dd7575b50610c0e906024359030903390613526565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dd257610c4d935f92610da5575b505061240d565b938415610d965760081c60ff1680610d81575b610d735750906105c091610d11610c75613b82565b95610cbe610c81613bfb565b610ca9610c8f8a838b613cbc565b99610ca38a610c9d42612d8f565b9261243b565b9061367a565b5050610cb889610c9d42612d8f565b9061375a565b50506001600160a01b0381165f908152600e6020526040902090610d0b88610d06610562610ceb42612d8f565b6001600160a01b039095165f908152600e6020526040902090565b61243b565b91613836565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d5d60015f805160206148ab83398151915255565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8e84610d06613b82565b815410610c60565b50825163070f6eed60e11b8152fd5b610dc49250803d10610dcb575b610dbc818361085a565b810190612469565b5f80610c46565b503d610db2565b612478565b610c0e919350610df390853d8711610dcb57610dbc818361085a565b9290610bfc565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bb9565b8251630d534ce360e11b8152fd5b3461048a575f36600319011261048a57602060ff5f54166040519015158152f35b3461048a575f36600319011261048a57602060015460d01c604051908152f35b3461048a575f36600319011261048a57602060ff60025460a01c166040519015158152f35b90604060031983011261048a57600435610eaf816107fb565b91602435906001600160401b03821161048a57610916916004016108fb565b3461048a576020610985610ee136610e96565b90612dfd565b3461048a57602036600319011261048a57600435610f0481610aa5565b610f0c612be6565b610f146130b0565b5f54901515908160ff8260081c16151514610b385761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610a1d60015f805160206148ab83398151915255565b3461048a575f36600319011261048a5760206001600160401b035f805160206148cb8339815191525416604051908152f35b3461048a57606036600319011261048a57610fc76106e8565b602435610fd381610502565b6001600160401b039160443583811161048a57610ff49036906004016106fe565b5f805160206148cb8339815191529491855494838616806110d55760ff8760401c169081156110c8575b506107c7577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966110c39661108b958716906001600160401b0319161790556110865f805160206148cb833981519152600160401b68ff000000000000000019825416179055565b612483565b5f805160206148cb833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f61101e565b60405162dc149f60e41b8152600490fd5b3461048a57602036600319011261048a57602061098560043561110881610502565b6128a3565b3461048a57602036600319011261048a576004355f526006602052602060405f2054604051908152f35b3461048a575f36600319011261048a5760015465ffffffffffff61116d818360a01c169261116361293a565b9060d01c9061241a565b82018092116106d157611181602092612d8f565b60405191168152f35b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a575f36600319011261048a57602060ff60035460a01c166040519015158152f35b3461048a575f36600319011261048a5761120b6139c8565b5f8051602061482b83398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461048a57604036600319011261048a5760043560243561127a816107fb565b611282612be6565b60035461129f906001600160a01b03165b6001600160a01b031690565b330361151a576112ad61293a565b906112b78161296e565b9082151580611509575b8015611500575b6114ee576105c0937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926112fa613b82565b946113156113078261242d565b5f52600660205260405f2090565b54908281036114085750611329818761243b565b8381188185100281189687806113c1575b50505050505b8361138d575b6040805191825265ffffffffffff929092166020820152908101839052606090a161137d60015f805160206148ab83398151915255565b6040519081529081906020820190565b5f546113bc9085906113aa9060101c6001600160a01b0316611293565b6001546001600160a01b031690613a97565b611346565b6113fd93610c4683610ca36113e76113e0611307986113f79888613a0a565b809661240d565b946113f142612d8f565b9261240d565b9261242d565b555f8080808761133a565b915061141c825f52600660205260405f2090565b549061142c81610d06848a61243b565b908482188286100282189788611447575b5050505050611340565b6114bc938361146f9361147c8c6114776114656114ad998884613a0a565b9788958584613a0a565b94859261240d565b61240d565b938484106114c7575b610c4690610ca361149b9596976113f142612d8f565b6114a76113078761242d565b5561240d565b915f52600660205260405f2090565b555f8080808061143d565b916114e3610c46916114dd8661149b979861240d565b9061243b565b859450929050611485565b604051635e18d2a560e01b8152600490fd5b508282116112c8565b50611513836123ff565b82106112c1565b60405163dabc4ad960e01b8152600490fd5b3461048a575f36600319011261048a5760015465ffffffffffff808260a01c169161155561293a565b600181018091116106d15761116d9160d01c9061241a565b3461048a575f36600319011261048a57602061098561293a565b3461048a57602036600319011261048a576004356115a481610502565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b3461048a57602036600319011261048a5760206109856004356115e9816107fb565b61296e565b3461048a57604036600319011261048a5760043561160b81610502565b6024356001600160401b0380821161048a573660238301121561048a57816004013590811161048a573660248260051b8401011161048a576105c092602461137d9301906129a9565b3461048a57602061098561166736610e96565b90612ed2565b3461048a5760208060031936011261048a57600480359061168d82610502565b611695612be6565b60025460a01c60ff16611817576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f916117ea575b50156117da5760405163fbfa77cf60e01b8152838516949082818581895afa928315610dd2575f936117ab575b50503091160361179c5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610a1d60015f805160206148ab83398151915255565b60405163b9f0f17160e01b8152fd5b6117cb929350803d106117d3575b6117c3818361085a565b810190612b02565b905f8061172f565b503d6117b9565b506040516324e5af8d60e21b8152fd5b61180a9150823d8411611810575b611802818361085a565b810190612ae2565b5f611702565b503d6117f8565b604051631380833b60e01b8152fd5b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a575f36600319011261048a5761188261293a565b61188a613b82565b90805f52600660205260405f205482018092116106d157600181018091116106d1575f52600660205260405f205481018091116106d157602090604051908152f35b3461048a575f36600319011261048a575f8051602061482b833981519152546040516001600160a01b039091168152602090f35b3461048a57604036600319011261048a57602060ff61195260243561192481610502565b6004355f525f8051602061488b833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461048a57602036600319011261048a5760043561197b81610502565b60018060a01b03165f52600e602052602061098560405f20613c6f565b3461048a5760408060031936011261048a576004356119b681610502565b6024356001600160401b03811161048a575f80611a54936119dd60809436906004016106fe565b908188519283928337810184815203915af43d15611a5c5760203d611a01816108aa565b90611a0e8751928361085a565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261085a565b805190602001fd5b60206060611a17565b3461048a575f36600319011261048a57602060ff5f5460081c166040519015158152f35b3461048a575f36600319011261048a5760206040515f8152f35b3461048a575f36600319011261048a5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461048a57604036600319011261048a57600435611afa81610502565b602435611b0681610aa5565b611b0e612be6565b611b16613107565b6001600160a01b038216918215611bbe575f8381526005602052604090205460ff16151582151514610b38576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a6291611ba591611b93908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610a1d60015f805160206148ab83398151915255565b604051630da30f6560e31b8152600490fd5b3461048a57604036600319011261048a576020611c14602435611bf281610502565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461048a57604036600319011261048a57602060ff611952602435611c4181610502565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b3461048a5760208060031936011261048a576004803590611c8382610502565b611c8b612be6565b60035460a01c60ff16611e0b576001600160a01b03828116939084611cf9575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610a1d60015f805160206148ab83398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f91611dee575b5015611ddd5760405163fbfa77cf60e01b815282818581895afa928315610dd2575f93611dbe575b505030911603611daf5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080611cab565b604051633f3e089160e21b8152fd5b611dd5929350803d106117d3576117c3818361085a565b905f80611d7c565b60405163dabc4ad960e01b81528390fd5b611e059150833d851161181057611802818361085a565b5f611d54565b60405163703fe2e560e01b8152fd5b3461048a57604036600319011261048a57600435611e3781610502565b60243590611e43612be6565b6001600160a01b0391818316908115611ec957611e746105c094611e6683613ae6565b9485915f5460101c16613a97565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f805160206148ab833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b3461048a57602036600319011261048a576004355f526007602052602060405f2054604051908152f35b3461048a575f36600319011261048a576003546040516001600160a01b039091168152602090f35b3461048a575f36600319011261048a576020610985613b82565b3461048a57602036600319011261048a57600435611f63612be6565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff161561200757508060045414610b38576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f805160206148ab83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461048a575f36600319011261048a576020610985613bfb565b3461048a57602036600319011261048a5760043561205c81610502565b61206461293a565b61206d826128a3565b916120788183612b88565b83018093116106d157600182018092116106d15761209591612b88565b81018091116106d157602090604051908152f35b3461048a575f36600319011261048a576002546040516001600160a01b039091168152602090f35b3461048a57604036600319011261048a57610a1d6024356004356120f482610502565b805f525f8051602061488b833981519152602052612118600160405f20015461315e565b613494565b3461048a575f36600319011261048a575f5460405160109190911c6001600160a01b03168152602090f35b3461048a575f36600319011261048a5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b3461048a575f36600319011261048a576020600454604051908152f35b3461048a57606036600319011261048a576004356121bc81610502565b602435906121c9826107fb565b6001600160401b039160443583811161048a576121ea9036906004016106fe565b909260409384516121fa8161081f565b60608152606060208201526060868201529280612259575b6105c08661224a878761224461222b8984845191612448565b928561223b602085015183612ed2565b93015190612dfd565b91613cbc565b90519081529081906020820190565b810193925060208185031261048a5780359086821161048a57019260608482031261048a5784519561228a8761081f565b843581811161048a578261229f9187016108fb565b8752602085013581811161048a57826122b99187016108fb565b60208801528585013590811161048a576105c0966122e26122449361222b9361224a98016108fb565b87820152939450612212565b3461048a57602036600319011261048a57610a1d60043561230e81610502565b6123166139c8565b612b17565b3461048a57604036600319011261048a5760043561233881610502565b602435612343612be6565b6001600160a01b038216156105eb5780156123af57612372612363613bfb565b61236b613b82565b90836140ff565b335f908152600e6020526040902090929061238c90613c6f565b831161239d57610598918391612c15565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b3461048a57604036600319011261048a5760206109856024356123e381610502565b600435612b88565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106d157565b919082039182116106d157565b818102929181159184041417156106d157565b90600182018092116106d157565b919082018092116106d157565b6001600160a01b03165f908152600e60205260409020610916929190612f87565b9081602091031261048a575190565b6040513d5f823e3d90fd5b916124d5916124c69161249461421b565b61249c61421b565b60015f805160206148ab833981519152556001600160a01b0394808616612889575b5036916108c5565b602080825183010191016138ff565b805182166001600160a01b03161561287757604080820165ffffffffffff612503825165ffffffffffff1690565b16156128665760c083018051909290612524906001600160a01b0316611293565b15612717575b5091612663610140926126026125dd6126c196612578612550875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b039092169190911790556125d16125a842612d8f565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6126226126126060850151151590565b60ff80195f541691151516175f55565b6126496126326080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61265660a0840151600455565b516001600160a01b031690565b848116612707575b5060e08101516001600160a01b03168481166126f7575b506101008101516001600160a01b03168481166126e7575b506101208101516001600160a01b03168481166126d7575b5001516001600160a01b031690565b9081166126cb5750565b6126d4906133ef565b50565b6126e090613380565b505f6126b2565b6126f090613311565b505f61269a565b6127009061323b565b505f612682565b6127109061318a565b505f61266b565b60e084015161272e906001600160a01b0316611293565b15612803575b61012084015161274c906001600160a01b0316611293565b61252a576080840151156127b95760a0840151158061279a575b61278a575091612663610140926126026125dd6126c1965b9496505050925061252a565b5163183c854560e21b8152600490fd5b506101408401516127b3906001600160a01b0316611293565b15612766565b60a0840151158015906127e3575b61278a575091612663610140926126026125dd6126c19661277e565b506101408401516127fc906001600160a01b0316611293565b15156127c7565b60608401511561283957610100840151612825906001600160a01b0316611293565b612734575163183c854560e21b8152600490fd5b610100840151612851906001600160a01b0316611293565b15612734575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b61289d9061289561421b565b61231661421b565b5f6124be565b6001600160a01b03165f908152600e602052604090206128c290613c6f565b6128ca613b82565b6128d2613bfb565b90600181018091116106d157600182018092116106d15761091692613a0a565b65ffffffffffff91821690821603919082116106d157565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff80911691821561293557160490565b61290a565b61294342612d8f565b61296a60015461296065ffffffffffff93848360a01c16906128f2565b9060d01c9061291e565b1690565b6001549065ffffffffffff91828160a01c169182848216106129975761296a92612960916128f2565b60405163b7d0949760e01b8152600490fd5b906129b2612be6565b5f926001600160a01b038316928315611ec9578115612a6a575f5b828110612a4857505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612a1d918491612a189060101c6001600160a01b0316611293565b613a97565b612a2e604051928392339684612aa5565b0390a3906108a860015f805160206148ab83398151915255565b94612a636001916114dd612a5d898789612a90565b35613ae6565b95016129cd565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612aa05760051b0190565b612a7c565b604080825281018390529392916001600160fb1b03811161048a5760209160609160051b809183880137850101930152565b51906108a882610aa5565b9081602091031261048a575161091681610aa5565b51906108a882610502565b9081602091031261048a575161091681610502565b6001600160a01b03908116908115612b70575f8051602061482b83398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612bae90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116106d157600182018092116106d15761091692613a0a565b5f805160206148ab8339815191526002815414612c035760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e6020526040902093929190612c3042612d8f565b335f908152600e60205260409020612c4790613c6f565b918483039283116106d157612c827febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f938593612d0d99613836565b5050612c9c612c9042612d8f565b610cb887611477613bfb565b5050612cb6612caa42612d8f565b610ca384611477613b82565b5050612d5b81612d46612ccf612cca61293a565b61242d565b612d25612ce4825f52600660205260405f2090565b54612cf7835f52600760205260405f2090565b54612d0382828b613cbc565b9d8e998a9361243b565b612d1f855f52600660205260405f2090565b5561243b565b612d37825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b612d6683825461243b565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b65ffffffffffff90818111612da2571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b61048a9136916108c5565b9081602091031261048a575163ffffffff8116810361048a5790565b90600163ffffffff809316019182116106d157565b90805115612ec85780602080612e1893518301019101612dcc565b612e2181613f2d565b90612e32825165ffffffffffff1690565b9065ffffffffffff8085169216828114612ebc5782119182612e68575b5050612e5f575061091690613cdd565b60209150015190565b909150612e76600a546123ff565b63ffffffff831614918215612e8f575b50505f80612e4f565b612eb49192506125d1612ea4612ea992612de8565b613f2d565b65ffffffffffff1690565b115f80612e86565b50505060209150015190565b5061091690613cdd565b90805115612f7d5780602080612eed93518301019101612dcc565b612ef681613fb7565b90612f07825165ffffffffffff1690565b9065ffffffffffff8085169216828114612ebc5782119182612f34575b5050612e5f575061091690613da4565b909150612f42600c546123ff565b63ffffffff831614918215612f5b575b50505f80612f24565b612f759192506125d1612f70612ea992612de8565b613fb7565b115f80612f52565b5061091690613da4565b918051156130495780602080612fa293518301019101612dcc565b91612fad8382614037565b92612fbe845165ffffffffffff1690565b9065ffffffffffff808516921682811461303d5782119182612ff4575b5050612feb576109169250613e64565b50506020015190565b90915061300183546123ff565b63ffffffff83161491821561301a575b50505f80612fdb565b6130359192506125d161302f612ea992612de8565b85614037565b115f80613011565b50505050506020015190565b5061091691613e64565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156120075750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906130a6565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906130a6565b5f8181525f8051602061488b83398151915260209081526040808320338452909152902060ff906130a6565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f8051602061488b8339815191529060ff16613235575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f8051602061488b8339815191529060ff905b541661330a575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f8051602061488b8339815191529060ff906132a6565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f8051602061488b8339815191529060ff906132a6565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f8051602061488b8339815191529060ff906132a6565b5f8181525f8051602061488b833981519152602081815260408084206001600160a01b038716855290915290912060ff906132a6565b5f8181525f8051602061488b833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561330a575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b0384111761083a576108a8926040526140a5565b600b54811015612aa057600b5f525f8051602061486b83398151915201905f90565b600d54811015612aa057600d5f525f8051602061484b83398151915201905f90565b8054821015612aa0575f5260205f2001905f90565b600d54600160401b81101561083a576001810180600d55811015612aa057600d5f525f8051602061484b8339815191520155565b600b54600160401b81101561083a576001810180600b55811015612aa057600b5f525f8051602061486b8339815191520155565b90815491600160401b83101561083a57826136629160016108a8950181556135c2565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613725575b50613692614138565b509290918154926136a1613b82565b9481613710575b50156136ed57505f1982018281116106d15781541115612aa0575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613701926001600160d01b03169150614362565b505061370c836135d7565b9190565b65ffffffffffff83811691161490505f6136a8565b600160401b81101561083a5760018101808455811015612aa0575f908382525f8051602061484b83398151915201555f613689565b919091600b9081548015613801575b5061377261418d565b50929091815492613781613bfb565b94816137ec575b50156137cd57505f1982018281116106d15781541115612aa0575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b6137e1926001600160d01b03169150614432565b505061370c8361360b565b65ffffffffffff83811691161490505f613788565b600160401b81101561083a5760018101808455811015612aa0575f908382525f8051602061486b83398151915201555f613769565b909291926001820190815480156138c4575b5084613853846141e2565b5094909284549361386383613c6f565b96816138af575b501561388c575050505f1981019081116106d157613662859161370c936135c2565b61370c9492936138a8926001600160d01b0390911691906144d1565b505061363f565b65ffffffffffff83811691161490505f61386a565b600160401b81101561083a578060016138e092018455836135c2565b8154905f199060031b1b191690555f613848565b51906108a8826107fb565b908161016091031261048a5761391361087b565b9061391d81612af7565b825261392b60208201612af7565b602083015261393c604082016138f4565b604083015261394d60608201612ad7565b606083015261395e60808201612ad7565b608083015260a081015160a083015261397960c08201612af7565b60c083015261398a60e08201612af7565b60e083015261010061399d818301612af7565b908301526101206139af818301612af7565b908301526139c1610140809201612af7565b9082015290565b5f8051602061482b833981519152546001600160a01b031633036139e857565b60405163118cdaa760e01b8152336004820152602490fd5b8115612935570490565b91818302915f1981850993838086109503948086039514613a8a5784831115613a7d5790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614249565b5050906109169250613a00565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b0383118284101761083a576108a8926040526140a5565b90613aef61293a565b821015613b70575f82815260096020908152604080832033845290915290205460ff16613b5e57613b203383612b88565b918215613b4c575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600c5480613bc257505f5b6001600160d01b03811615613bbd57600d54811015612aa057600d5f525f8051602061484b833981519152015490565b505f90565b805f198101116106d157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613b8d565b600a5480613c3657505f5b6001600160d01b03811615613bbd57600b54811015612aa057600b5f525f8051602061486b833981519152015490565b805f198101116106d157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613c06565b805480613c9e57505f5b6001600160d01b03811615613235576001613c9492016135c2565b90549060031b1c90565b5f199080828101116106d157825f5260205f2001015460301c613c79565b9190600181018091116106d157600182018092116106d15761091692613a0a565b600a54905f829160058411613d4b575b613cf793506146b6565b80613d1a57505f5b6001600160d01b03811615613bbd57613c946109169161357e565b613d3f613d29613d46926123ff565b600a5f525f8051602061480b8339815191520190565b5460301c90565b613cff565b9192613d568161458b565b81039081116106d157613cf793600a5f5265ffffffffffff80835f8051602061480b833981519152015416908516105f14613d92575091613ced565b929150613d9e9061242d565b90613ced565b600c54905f829160058411613e0b575b613dbe935061471f565b80613de157505f5b6001600160d01b03811615613bbd57613c94610916916135a0565b613d3f613df0613e06926123ff565b600c5f525f805160206147eb8339815191520190565b613dc6565b9192613e168161458b565b81039081116106d157613dbe93600c5f5265ffffffffffff80835f805160206147eb833981519152015416908516105f14613e52575091613db4565b929150613e5e9061242d565b90613db4565b908154905f829160058411613ec7575b613e7f935084614788565b80613ea757505f905b6001600160d01b0382161561323557610916916001613c9492016135c2565b613d3f613eb6613ec1926123ff565b835f5260205f200190565b90613e88565b9192613ed28161458b565b81039081116106d157613e7f93855f5265ffffffffffff808360205f20015416908516105f14613f03575091613e74565b929150613f0f9061242d565b90613e74565b60405190613f228261083f565b5f6020838281520152565b613f35613f15565b50613f3e613f15565b50600a54811015612aa057600a5f52602060405191613f5c8361083f565b5f8051602061480b83398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612aa057600b5f525f8051602061486b833981519152015460405191613fad8361083f565b8252602082015290565b613fbf613f15565b50613fc8613f15565b50600c54811015612aa057600c5f52602060405191613fe68361083f565b5f805160206147eb83398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612aa057600d5f525f8051602061484b833981519152015460405191613fad8361083f565b906020600161405b6140879361404b613f15565b50614054613f15565b50856135c2565b50936040519461406a8661083f565b549465ffffffffffff86169586825260301c9384910152016135c2565b905490604051926140978461083f565b835260031b1c602082015290565b905f602091828151910182855af115612478575f513d6140f657506001600160a01b0381163b155b6140d45750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156140cd565b9190600181018091116106d157600182018092116106d157614122828285613a0a565b9282156129355709151581018091116106d15790565b600c548061414957505f905f905f90565b805f198101116106d157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061419e57505f905f905f90565b805f198101116106d157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806141f35750505f905f905f90565b5f199181838101116106d1575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f805160206148cb8339815191525460401c161561423757565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfd5b600c5490600160401b82101561083a576001820180600c55821015612aa057600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206147eb83398151915290910155565b600a5490600160401b82101561083a576001820180600a55821015612aa057600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f8051602061480b83398151915290910155565b8054600160401b81101561083a57614324916001820181556135c2565b61434f57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c54919291801561440957613df061437a916123ff565b9081549165ffffffffffff908184169183168083116143f7578692036143bf576143b892509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506143f2906143de6143d061089b565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614259565b6143b8565b604051632520601d60e01b8152600490fd5b5061442d906144196143d061089b565b6001600160d01b0384166020820152614259565b5f9190565b600a5491929180156144ad57613d2961444a916123ff565b9081549165ffffffffffff908184169183168083116143f757869203614488576143b892509065ffffffffffff82549181199060301b169116179055565b50506143f2906144996143d061089b565b6001600160d01b03851660208201526142b0565b5061442d906144bd6143d061089b565b6001600160d01b03841660208201526142b0565b80549293928015614566576144e86144f3916123ff565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116143f75787930361453257506143b892509065ffffffffffff82549181199060301b169116179055565b9150506143f29161455261454461089b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614307565b509061442d9161457761454461089b565b6001600160d01b0385166020830152614307565b600181111561091657600181600160801b8110156146a4575b61464c61464261463861462e61462461461a61465897600488600160401b6146539a1015614697575b64010000000081101561468a575b6201000081101561467d575b610100811015614671575b6010811015614665575b101561465d575b60030260011c614613818b613a00565b0160011c90565b614613818a613a00565b6146138189613a00565b6146138188613a00565b6146138187613a00565b6146138186613a00565b8093613a00565b821190565b900390565b60011b614603565b811c9160021b916145fc565b60081c91811b916145f2565b60101c9160081b916145e7565b60201c9160101b916145db565b60401c9160201b916145cd565b50600160401b9050608082901c6145a4565b905b8281106146c457505090565b9091808216906001818418811c83018093116106d157600a5f5265ffffffffffff80845f8051602061480b833981519152015416908616105f1461470c575050915b906146b8565b9093925081018091116106d15790614706565b905b82811061472d57505090565b9091808216906001818418811c83018093116106d157600c5f5265ffffffffffff80845f805160206147eb833981519152015416908616105f14614775575050915b90614721565b9093925081018091116106d1579061476f565b91905b8382106147985750505090565b909192808316906001818518811c83018093116106d157855f5265ffffffffffff808460205f20015416908516105f146147d7575050925b919061478b565b9094935081018091116106d157916147d056fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220397482c9a8ce651b670b21962bb148b00fad05ebc198b873564640451f1ffc5164736f6c63430008190033","sourceMap":"981:14958:106:-: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;:::-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;981:14958:106;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;981:14958:106;-1:-1:-1;981:14958:106;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;966:38:107;981:14958:106;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;821:37:107;981:14958:106;;;;-1:-1:-1;;;;;981:14958:106;;;;;:::o;:::-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;5525:21;5521:75;;5634:10;981:14958;;;;5606:15:107;981:14958:106;;;;;5606:33:107;;;:::i;:24::-;:33;:::i;:::-;5610:35:106;;5606:88;;1057:70:98;5173:21:107;;:::i;:::-;4803:22;;:::i;:::-;1057:70:98;;;:::i;:::-;5801:20:106;;;5797:82;;5904:43;;;;:::i;:::-;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;981:14958:106;3860:283:30;3426:1;981:14958:106;;;;;;;;;;;;;;;;;;5797:82;981:14958;;-1:-1:-1;;;;;;5844:24:106;;981:14958;;5844:24;5606:88;981:14958;;-1:-1:-1;;;5668:15:106;;981:14958;;5668:15;5521:75;981:14958;;-1:-1:-1;;;5569:16:106;;981:14958;;5569:16;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;;;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;;4919:24:23;981:14958:106;-1:-1:-1;981:14958:106;4919:24:23;981:14958:106;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;4084:14:107;;:::i;:::-;4112:10;;4108:65;;4190:17;981:14958:106;;;;;;;;;;;;;;;;4210:27:107;981:14958:106;;;4210:27:107;;:::i;:::-;981:14958:106;;;;;;;4189:60:107;981:14958:106;4189:60:107;;:::i;:::-;981:14958:106;;;;;;;;;;;;;;;;;;:::i;4108:65:107:-;981:14958:106;;-1:-1:-1;;;4145:17:107;;981:14958:106;;4145:17:107;981:14958:106;;;;-1:-1:-1;;;;;981:14958:106;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;981:14958:106;;;;;;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;1673:7:82;-1:-1:-1;;;;;981:14958:106;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;;;;6431:44:26;;;;;981:14958:106;6427:105:26;;;;1809:204:82;6427:105:26;;981:14958:106;;-1:-1:-1;;;6498:23:26;;981:14958:106;;6498:23:26;6431:44;981:14958:106;;;;6450:25:26;;;-1:-1:-1;6431:44:26;;;;;1655:71:82;981:14958:106;;-1:-1:-1;;;1703:12:82;;981:14958:106;;1703:12:82;981:14958:106;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;981:14958:106;;;;;;-1:-1:-1;;981:14958:106;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:106;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;5383:59:107;981:14958:106;;;;;;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;;-1:-1:-1;981:14958:106;;;5383:15:107;981:14958:106;;;;;5383:59:107;:::i;:::-;981:14958:106;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;655:32:82;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;5350:25:23;981:14958:106;;;;;;;:::i;:::-;;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;3202:4:23;4919:24;981:14958:106;-1:-1:-1;981:14958:106;4919:24:23;981:14958:106;3202:4:23;:::i;:::-;5350:25;:::i;:::-;981:14958:106;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;981:14958:106;;6441:34:23;6437:102;;6549:37;981:14958:106;;;6549:37:23;:::i;6437:102::-;981:14958:106;;-1:-1:-1;;;6498:30:23;;981:14958:106;;6498:30:23;981:14958:106;;;;;;-1:-1:-1;;981:14958:106;;;;;1524:22;981:14958;;;;1524:46;;;981:14958;;;;;;;;;;;1524:46;-1:-1:-1;1550:20:106;981:14958;;;;;1524:46;;981:14958;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;981:14958:106;;;;;;;;;;;9542:26;9538:76;;-1:-1:-1;;981:14958:106;;;;;-1:-1:-1;981:14958:106;;;;;;9665:27;;981:14958;;9665:27;1949:1:30;-1:-1:-1;;;;;;;;;;;981:14958:106;;9538:76;981:14958;;-1:-1:-1;;;9591:12:106;;981:14958;;9591:12;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;;;1718:31:107;981:14958:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;;;;3474:24;;3470:81;;-1:-1:-1;981:14958:106;;;;3565:55;;;981:14958;3561:118;;981:14958;;-1:-1:-1;;;3713:43:106;;;3750:4;3713:43;;;981:14958;;;;;;;;;;;;;;;;;;;;;;;;;3713:43;;;;;;;;;;-1:-1:-1;3713:43:106;;;981:14958;;3829:6;981:14958;;;3750:4;;3802:10;;3829:6;;:::i;:::-;-1:-1:-1;981:14958:106;;;3864:43;;;3750:4;3864:43;;;981:14958;;;;;;;;;;3864:43;981:14958;;;;;;3864:43;981:14958;;;;;3864:43;;;;;;;:59;:43;-1:-1:-1;3864:43:106;;;981:14958;3864:59;;;:::i;:::-;3938:20;;;3934:79;;981:14958;;;;;4027:64;;981:14958;4023:123;;5173:21:107;;981:14958:106;5173:21:107;4502:93:106;5173:21:107;;:::i;:::-;4803:22;4426:66:106;4803:22:107;;:::i;:::-;4349:67:106;390:70:98;;;;;:::i;:::-;837:15:73;4385:30:106;837:15:73;819:34;837:15;819:34;:::i;:::-;4385:30:106;;:::i;:::-;4349:67;;:::i;:::-;837:15:73;;4463:28:106;837:15:73;819:34;837:15;819:34;:::i;4463:28:106:-;4426:66;;:::i;:::-;-1:-1:-1;;;;;;;981:14958:106;;;;;;5606:15:107;981:14958:106;;;;;837:15:73;4553:41:106;837:15:73;5606:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;;;;;;5606:15:107;981:14958:106;;;;;;;5606:33:107;4553:41:106;:::i;:::-;4502:93;;:::i;:::-;-1:-1:-1;;981:14958:106;;;;;;;;;;;3802:10;;4611:62;;981:14958;;4611:62;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:106;3860:283:30;3426:1;981:14958:106;;;;;;;;;;;;;;;;;;;4023:123;981:14958;;-1:-1:-1;;;4114:21:106;;;4027:64;5173:21:107;4045:31:106;5173:21:107;;;:::i;4045:31:106:-;981:14958;;-1:-1:-1;4027:64:106;;3934:79;-1:-1:-1;981:14958:106;;-1:-1:-1;;;3981:21:106;;;3864:43;;;;;;-1:-1:-1;3864:43:106;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;3713:::-;3829:6;3713:43;;;;;;;;;;;;;;;:::i;:::-;;;;;3561:118;-1:-1:-1;981:14958:106;;-1:-1:-1;;;3643:25:106;;;3565:55;-1:-1:-1;3609:10:106;981:14958;;;;3586:22;981:14958;;;;;;;;3585:35;3565:55;;3470:81;981:14958;;-1:-1:-1;;;3521:19:106;;;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;1805:27:107;981:14958:106;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;1968:34:107;981:14958:106;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;:::i;:::-;;;;;4622:48:107;981:14958:106;;;:::i;:::-;4622:48:107;;:::i;981:14958:106:-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;981:14958:106;;;;;;;;;;;;;10370:24;10366:74;;-1:-1:-1;;981:14958:106;;;;;;;;-1:-1:-1;981:14958:106;;;;;;10489:25;;981:14958;;10489:25;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:106;3860:283:30;981:14958:106;;;;;;-1:-1:-1;;981:14958:106;;;;;-1:-1:-1;;;;;;;;;;;;;;;;981:14958:106;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;981:14958:106;;;;;;734:29:82;730:87;;981:14958:106;;;;;6431:44:26;;;;;981:14958:106;6427:105:26;;;6656:20;981:14958:106;6656:20:26;981:14958:106;1167:340:82;981:14958:106;;;;-1:-1:-1;;;;;981:14958:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;981:14958:106;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;981:14958:106;;-1:-1:-1;;981:14958:106;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;6656:20:26;;;;981:14958:106;6431:44:26;981:14958:106;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;981:14958:106;;-1:-1:-1;;;786:20:82;;981:14958:106;;786:20:82;981:14958:106;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;981:14958:106;;;;;;-1:-1:-1;981:14958:106;2431:59:107;981:14958:106;;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;3875:17:107;981:14958:106;;3895:30:107;981:14958:106;;;;;3895:14:107;;;:::i;:::-;981:14958:106;;;3895:30:107;;:::i;:::-;981:14958:106;;;;;;;3874:63:107;981:14958:106;3874:63:107;;:::i;:::-;981:14958:106;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;1200:42:107;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;2136:32:107;981:14958:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;981:14958:106;;-1:-1:-1;;;;;;981:14958:106;;;;;;;-1:-1:-1;;;;;981:14958:106;3975:40:24;981:14958:106;;3975:40:24;981:14958:106;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;7131:7:106;981:14958;7117:21;;-1:-1:-1;;;;;981:14958:106;;-1:-1:-1;;;;;981:14958:106;;;7117:21;:10;:21;7113:71;;7218:14;;:::i;:::-;7265:25;;;;:::i;:::-;7305:17;;;;:53;;;981:14958;7304:87;;;;981:14958;7300:146;;981:14958;5173:21:107;9310:48:106;5173:21:107;;;:::i;:::-;7540:17:106;7528:30;7540:17;;;:::i;:::-;981:14958;;7528:11;981:14958;;;;;;;7528:30;981:14958;;7572:29;;;;;7642:30;;;;;:::i;:::-;3066:5:68;;;3463;;;981:14958:106;3060:42:68;;7752:17:106;;;7748:384;;7568:1615;;;;;;;9197:17;9193:102;;7568:1615;981:14958;;;;;;;;;;;;;;;;;;;;;;;9310:48;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:106;3860:283:30;3426:1;981:14958:106;;;;;;;;;;;;;9193:102;-1:-1:-1;981:14958:106;9270:13;;981:14958;;9230:18;;981:14958;;-1:-1:-1;;;;;981:14958:106;;;9230:18;7556:1;981:14958;-1:-1:-1;;;;;981:14958:106;9270:13;;:::i;:::-;9193:102;;7748:384;8045:29;7813:50;7962:65;7813:50;7998:28;7914:29;7813:50;8057:16;7813:50;8077:40;7813:50;;;:::i;:::-;7914:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;7998:28:106;;:::i;8077:40::-;8057:16;;:::i;8045:29::-;981:14958;7748:384;;;;;;;7568:1615;8185:26;;;;981:14958;;7528:11;981:14958;;;;;;;8185:26;981:14958;8250:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;981:14958:106;3060:42:68;;8375:17:106;;8371:802;;7568:1615;;;;;;;;8371:802;9096:26;8436:50;;8537:53;8436:50;8637:54;8436:50;8637:29;8436:50;9125:33;8436:50;;;;:::i;:::-;8537:53;;;;;;:::i;:::-;8637:29;;;;:::i;:::-;:54;:::i;:::-;8714:33;;;;8710:194;;8371:802;8922:65;837:15:73;8958:28:106;9038:40;837:15:73;;;819:34;837:15;819:34;:::i;9038:40:106:-;9005:30;9017:17;;;:::i;9005:30::-;981:14958;9125:33;:::i;:::-;9096:26;981:14958;;7528:11;981:14958;;;;;;;9096:26;981:14958;8371:802;;;;;;;8710:194;8797:33;8771:59;8922:65;8797:33;;;9038:40;8797:33;;;:::i;:::-;8771:59;;:::i;:::-;8852:33;;-1:-1:-1;8852:33:106;;-1:-1:-1;8710:194:106;;7300:146;981:14958;;-1:-1:-1;;;7414:21:106;;981:14958;;7414:21;7304:87;7363:28;;;;7304:87;;7305:53;7341:17;;;;:::i;:::-;7326:32;;7305:53;;7113:71;981:14958;;-1:-1:-1;;;7161:12:106;;981:14958;;7161:12;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;4384:17:107;981:14958:106;;;;;;;4405:14:107;;;:::i;:::-;4384:17;981:14958:106;;;;;;;4404:36:107;981:14958:106;;;4404:36:107;;:::i;981:14958:106:-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;981:14958:106;2307:68:107;981:14958:106;;;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6491:14;981:14958;;6491:14;;:::i;981:14958::-;;;;;4994:47:107;981:14958:106;;;:::i;:::-;4994:47:107;;:::i;981:14958:106:-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;10932:22:106;981:14958;;;;;10928:89;;981:14958;;-1:-1:-1;;;11032:49:106;;-1:-1:-1;;;;;981:14958:106;;;11032:49;;;981:14958;;;;;;;;;;;;;;;11032:49;11042:17;;;981:14958;11032:49;;;;;;;-1:-1:-1;11032:49:106;;;981:14958;11031:50;;11027:102;;981:14958;;-1:-1:-1;;;11143:34:106;;981:14958;;;;;11143:34;981:14958;11143:34;981:14958;;11143:34;;;;;;;-1:-1:-1;11143:34:106;;;981:14958;11189:4;;;981:14958;;11143:51;11139:107;;-1:-1:-1;10932:22:106;981:14958;;-1:-1:-1;;;;;981:14958:106;;;;-1:-1:-1;;;;;;981:14958:106;;;;;;;-1:-1:-1;;;981:14958:106;;;11334:24;-1:-1:-1;;11334:24:106;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:106;3860:283:30;11139:107:106;981:14958;;-1:-1:-1;;;11217:18:106;;;11143:34;;;;;;;-1:-1:-1;11143:34:106;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;11027:102;-1:-1:-1;981:14958:106;;-1:-1:-1;;;11104:14:106;;;11032:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;10928:89;981:14958;;-1:-1:-1;;;10977:29:106;;;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;;;1298:40:107;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;1703:14;;:::i;:::-;5173:21:107;;:::i;:::-;981:14958:106;;;;1750:11;981:14958;;;;;;;;;;;;;1791:1;981:14958;;;;;;;;;1750:11;981:14958;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;-1:-1:-1;;;;;;;;;;;981:14958:106;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;3901:31:23;981:14958:106;;;;;:::i;:::-;;;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;;;;;;3901:31:23;981:14958:106;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;981:14958:106;5606:15:107;981:14958:106;;;5606:33:107;981:14958:106;-1:-1:-1;981:14958:106;5606:33:107;:::i;981:14958:106:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;981:14958:106;;;;-1:-1:-1;981:14958:106;477:31:86;981:14958:106;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;981:14958:106;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;477:31:86;;;981:14958:106;;;;;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;;;477:31:86;981:14958:106;477:31:86;;;;;;;:::i;:::-;518:79;;;981:14958:106;518:79:86;;981:14958:106;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;1109:35:107;981:14958:106;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;;9907:21;;9903:75;;-1:-1:-1;981:14958:106;;;9992:22;981:14958;;;;;;;;;;;;;9992:41;9988:91;;-1:-1:-1;;;;;981:14958:106;;;;;3586:22;981:14958;;;;;10145:44;;;;10089:40;;:31;981:14958;;;;;;;;;;;;;;10089:40;981:14958;;;;;;;;;;;;;;;10145:44;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:106;3860:283:30;9903:75:106;981:14958;;-1:-1:-1;;;9951:16:106;;981:14958;;9951:16;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;;2666:94:107;981:14958:106;;;;;:::i;:::-;;;-1:-1:-1;981:14958:106;2666:94:107;981:14958:106;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;;;;;;2666:94:107;981:14958:106;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;2816:92:107;981:14958:106;;;;;:::i;:::-;;;-1:-1:-1;981:14958:106;2816:92:107;981:14958:106;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;11459:20:106;981:14958;;;;;11455:85;;-1:-1:-1;;;;;981:14958:106;;;;;;11550:312;;981:14958;11459:20;981:14958;;-1:-1:-1;;;;981:14958:106;-1:-1:-1;;;981:14958:106;;;11872:27;11915:20;-1:-1:-1;11915:20:106;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:106;3860:283:30;11550:312:106;981:14958;;-1:-1:-1;;;11597:45:106;;-1:-1:-1;;;;;981:14958:106;;11597:45;;;981:14958;;;11597:45;;981:14958;;;;;;11597:45;11607:15;;;981:14958;11597:45;;;;;;;-1:-1:-1;11597:45:106;;;11550:312;11596:46;;11592:104;;981:14958;;-1:-1:-1;;;11714:30:106;;;981:14958;11714:30;981:14958;11714:30;;;;;;;;-1:-1:-1;11714:30:106;;;11550:312;11756:4;;;981:14958;;11714:47;11710:109;;-1:-1:-1;11459:20:106;981:14958;;-1:-1:-1;;;;;;981:14958:106;-1:-1:-1;;;;;981:14958:106;;;;;;;;;11550:312;;;;;;11710:109;981:14958;;-1:-1:-1;;;11788:16:106;;;11714:30;;;;;;;-1:-1:-1;11714:30:106;;;;;;:::i;:::-;;;;;;11592:104;981:14958;;-1:-1:-1;;;11669:12:106;;981:14958;;11669:12;11597:45;;;;;;;;;;;;;;:::i;:::-;;;;11455:85;981:14958;;-1:-1:-1;;;11502:27:106;;;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;;;;6112:23;;6108:79;;6273:6;981:14958;6206:13;;;;:::i;:::-;981:14958;;;-1:-1:-1;981:14958:106;;;;6273:6;:::i;:::-;981:14958;;;;;;;;;;;;6302:10;;6296:43;;981:14958;6296:43;1949:1:30;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;;;;;;;;;;;6108:79;981:14958;;-1:-1:-1;;;6158:18:106;;981:14958;;6158:18;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;;;-1:-1:-1;981:14958:106;2546:64:107;981:14958:106;;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;2058:22:107;981:14958:106;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;5173:21:107;;:::i;981:14958:106:-;;;;;;-1:-1:-1;;981:14958:106;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;981:14958:106;;;;;;;;;;1109:35:107;;981:14958:106;;4468:23:23;4464:108;;981:14958:106;;;;10692:21;10688:71;;981:14958;;10805:22;981:14958;;;;;;;;10805:22;1949:1:30;-1:-1:-1;;;;;;;;;;;981:14958:106;;4464:108:23;981:14958:106;;;;4514:47:23;;;;;;966:10:28;981:14958:106;4514:47:23;;981:14958:106;;;;;4514:47:23;981:14958:106;;;;;;-1:-1:-1;;981:14958:106;;;;;4803:22:107;;:::i;981:14958:106:-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;3123:14;;:::i;:::-;3154:24;;;:::i;:::-;3181:29;;;;;:::i;:::-;981:14958;;;;;;;3235:1;981:14958;;;;;;;3213:33;;;:::i;:::-;981:14958;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;1888:24:107;981:14958:106;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;5767:26:23;981:14958:106;;;;;;;:::i;:::-;;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;3202:4:23;4919:24;981:14958:106;-1:-1:-1;981:14958:106;4919:24:23;981:14958:106;3202:4:23;:::i;:::-;5767:26;:::i;981:14958:106:-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;675:39:107;981:14958:106;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;;:::i;:::-;1972:48;;981:14958;;;;;;;:::i;:::-;;;;;;;;;;;;;;2034:16;;2030:111;;981:14958;;2233:39;1057:70:98;2233:39:106;;4622:48:107;2196:77:106;2233:39;;;;2196:77;;:::i;:::-;2312:36;;4994:47:107;981:14958:106;2312:36;;;4994:47:107;;:::i;:::-;2389:37:106;;;4622:48:107;;:::i;:::-;1057:70:98;;:::i;:::-;981:14958:106;;;;;;;;;;;;;2030:111;2089:41;;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;4622:48:107;981:14958:106;2196:77;981:14958;1057:70:98;981:14958:106;;;:::i;:::-;;;;;2030:111;;;;;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;2357:1:24;981:14958:106;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;981:14958:106:-;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;981:14958:106;;4890:21;4886:75;;4975:11;;4971:73;;845:69:98;4803:22:107;;:::i;:::-;5173:21;;:::i;:::-;845:69:98;;;:::i;:::-;5180:10:106;981:14958;;;;5606:15:107;981:14958:106;;;;;5180:10;;;5606:33:107;;;:::i;:::-;5150:41:106;;5146:96;;5267:40;;;;;:::i;5146:96::-;981:14958;;-1:-1:-1;;;5214:17:106;;981:14958;;5214:17;4971:73;981:14958;;-1:-1:-1;;;5009:24:106;;981:14958;;5009:24;981:14958;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;7556:1;981:14958;;;;;;;:::o;:::-;;;;;;;;;;:::o;5256:193:107:-;-1:-1:-1;;;;;981:14958:106;-1:-1:-1;981:14958:106;;;5383:15:107;981:14958:106;;;;;5383:59:107;;5256:193;;5383:59;:::i;981:14958:106:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;1167:340:82;;13510:30:106;1167:340:82;981:14958:106;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;981:14958:106;-1:-1:-1;;;;;981:14958:106;;;;1376:73:82;;1167:340;981:14958:106;;;;:::i;:::-;13510:30;981:14958;;;13510:30;;;;;;:::i;:::-;981:14958;;;;-1:-1:-1;;;;;981:14958:106;13555:31;13551:88;;13653:20;;;;981:14958;;;;;;;;;;13653:25;13649:85;;13748:29;;;981:14958;;13748:29;;981:14958;13748:43;;-1:-1:-1;;;;;981:14958:106;;;13748:43;;13744:943;;1167:340:82;981:14958:106;;;15647:32;981:14958;14817:36;981:14958;;;14697:30;981:14958;;;;;;;;;;;;1398:1:82;981:14958:106;;-1:-1:-1;;;;;;981:14958:106;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;14697:30;13510;14747:13;;981:14958;;;;-1:-1:-1;;;;;;981:14958:106;-1:-1:-1;;;;;981:14958:106;;;;;;;;;14771:36;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;981:14958:106;;-1:-1:-1;;;;981:14958:106;;;;;;-1:-1:-1;;;981:14958:106;;;;;;;;14771:36;981:14958;;;;;;1949:1:30;981:14958:106;;-1:-1:-1;;;;;981:14958:106;;;;;;-1:-1:-1;;;;;;981:14958:106;;;;;;;;14817:36;14864:42;981:14958;14883:23;;;981:14958;;;;;;;;;1398:1:82;981:14958:106;;;;;;;1398:1:82;981:14958:106;;14864:42;14917:38;981:14958;14934:21;;;981:14958;;;;;;;1398:1:82;981:14958:106;;;;;;;;;;;;1398:1:82;981:14958:106;;14917:38;14965:34;14980:19;;;981:14958;14965:34;981:14958;;14965:34;981:14958;-1:-1:-1;;;;;981:14958:106;;;;;;;15010:135;;1167:340:82;-1:-1:-1;15158:36:106;;;981:14958;-1:-1:-1;;;;;981:14958:106;;;;15154:157;;1167:340:82;-1:-1:-1;15324:35:106;;;981:14958;-1:-1:-1;;;;;981:14958:106;;;;15320:153;;1167:340:82;-1:-1:-1;15486:34:106;;;981:14958;-1:-1:-1;;;;;981:14958:106;;;;15482:152;;1167:340:82;-1:-1:-1;15647:32:106;981:14958;-1:-1:-1;;;;;981:14958:106;;;;;;;15643:145;;1167:340:82;:::o;15643:145:106:-;15709:68;;;:::i;:::-;;1167:340:82:o;15482:152:106:-;15550:73;;;:::i;:::-;;15482:152;;;15320:153;15389:73;;;:::i;:::-;;15320:153;;;15154:157;15224:76;;;:::i;:::-;;15154:157;;;15010:135;15073:61;;;:::i;:::-;;15010:135;;;13744:943;13811:36;;;981:14958;13811:50;;-1:-1:-1;;;;;981:14958:106;;;13811:50;;13807:405;;13744:943;14230:34;;;981:14958;14230:48;;-1:-1:-1;;;;;981:14958:106;;;14230:48;13744:943;14226:451;14302:21;;;981:14958;;14302:21;;14351:19;;;981:14958;14351:24;:74;;;14298:365;14347:150;;14298:365;;981:14958;15647:32;14298:365;14817:36;981:14958;;14298:365;;14226:451;;;;;;;13744:943;;14347:150;981:14958;-1:-1:-1;;;14460:14:106;;;;;14351:74;-1:-1:-1;14379:32:106;;;981:14958;14379:46;;-1:-1:-1;;;;;981:14958:106;;;14379:46;;14351:74;;14298:365;14525:19;;;981:14958;14525:24;;;:74;;;14298:365;14521:142;;14298:365;;981:14958;15647:32;14298:365;14817:36;981:14958;;14298:365;;;14525:74;-1:-1:-1;14553:32:106;;;981:14958;14553:46;;-1:-1:-1;;;;;981:14958:106;;;14553:46;;;14525:74;;13807:405;13885:23;;;981:14958;;13885:23;;13936:35;;;981:14958;13936:49;;-1:-1:-1;;;;;981:14958:106;;;13936:49;13807:405;13932:125;981:14958;-1:-1:-1;;;14020:14:106;;;;;13881:317;14085:35;;;981:14958;14085:49;;-1:-1:-1;;;;;981:14958:106;;;14085:49;14081:117;13807:405;14081:117;981:14958;-1:-1:-1;;;14165:14:106;;;;;13649:85;981:14958;;-1:-1:-1;;;13701:22:106;;;;;13551:88;981:14958;;-1:-1:-1;;;13609:19:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;2492:191:106;-1:-1:-1;;;;;981:14958:106;-1:-1:-1;981:14958:106;;;5606:15:107;981:14958:106;;;;;5606:33:107;;;:::i;:::-;5173:21;;:::i;:::-;4803:22;;:::i;:::-;981:14958:106;1884:1:98;981:14958:106;;;;;;;1884:1:98;981:14958:106;;;;;;;9478:25:68;;;:::i;981:14958:106:-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;3612:132:107:-;819:34:73;837:15;819:34;:::i;:::-;3683:54:107;3703:17;981:14958:106;3684:36:107;981:14958:106;;;;;;;3684:36:107;;:::i;:::-;981:14958:106;;;3683:54:107;;:::i;:::-;981:14958:106;3612:132:107;:::o;3313:244::-;3418:17;981:14958:106;;;;;;;;;;;;;;3406:29:107;3402:85;;3503:47;3504:29;;;;:::i;3402:85::-;981:14958:106;;-1:-1:-1;;;3458:18:107;;;;;3361:103:30;;;;:::i;:::-;981:14958:106;;-1:-1:-1;;;;;981:14958:106;;;6521:23;;6517:79;;6650:11;;6646:70;;981:14958;6742:10;;;;;;-1:-1:-1;981:14958:106;;6887:49;;981:14958;;;;6864:6;;981:14958;;6821:18;;981:14958;;-1:-1:-1;;;;;981:14958:106;;;6821:18;6864:6;:::i;:::-;6887:49;981:14958;;6898:10;;;;6887:49;;;:::i;:::-;;;;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;981:14958:106;3860:283:30;6754:3:106;6790:9;6773:27;981:14958;6790:9;6783:17;6790:9;;;;;:::i;:::-;981:14958;6783:17;:::i;6773:27::-;6754:3;981:14958;6731:9;;6646:70;981:14958;;-1:-1:-1;;;6684:21:106;;;;;981:14958;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;3405:215:24:-;-1:-1:-1;;;;;981:14958:106;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;981:14958:106;;-1:-1:-1;;;;;;981:14958:106;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;981:14958:106;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;981:14958:106;;;3534:31:24;2731:227:106;;2871:34;2731:227;981:14958;-1:-1:-1;981:14958:106;2871:18;981:14958;;;-1:-1:-1;981:14958:106;;;;;;;;;;;;;;;;;2871:34;981:14958;;-1:-1:-1;981:14958:106;2907:11;981:14958;;;-1:-1:-1;981:14958:106;;2927:16;981:14958;;;-1:-1:-1;981:14958:106;;;1884:1:98;981:14958:106;;;;;;;1884:1:98;981:14958:106;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;981:14958:106;;3670:20:30;3666:88;;1991:1;981:14958:106;;3470:384:30:o;3666:88::-;981:14958:106;;-1:-1:-1;;;3713:30:30;;;;;11948:968:106;12135:10;981:14958;;;;5606:15:107;981:14958:106;;;;;;11948:968;;;819:34:73;837:15;819:34;:::i;:::-;12135:10:106;981:14958;;;;5606:15:107;981:14958:106;;;;;5606:33:107;;;:::i;:::-;981:14958:106;;;;;;;;;12119:93;12835:74;12119:93;;;12660:30;12119:93;;:::i;:::-;837:15:73;;12222:67:106;819:34:73;837:15;819:34;:::i;:::-;12259:29:106;4803:22:107;;;:::i;12222:67:106:-;837:15:73;;12299:68:106;819:34:73;837:15;819:34;:::i;:::-;12335:31:106;5173:21:107;;;:::i;12299:68:106:-;12394:14;;12769:34;12394:14;12769:25;12394:18;:14;;:::i;:::-;:18;:::i;:::-;12726:33;12445:18;;981:14958;;7528:11;981:14958;;;;;;;12445:18;981:14958;12502:23;;981:14958;;12502:16;981:14958;;;;;;;12502:23;981:14958;390:70:98;;;;;:::i;:::-;12660:30:106;;;;;;:::i;:::-;12639:18;;981:14958;;7528:11;981:14958;;;;;;;12639:18;981:14958;12726:33;:::i;:::-;12700:23;;981:14958;;12502:16;981:14958;;;;;;;12700:23;981:14958;;;12769:18;981:14958;;;;;;;12769:25;981:14958;;;;;;;;;;;;;;;;12769:34;:50;981:14958;;;12769:50;:::i;:::-;981:14958;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;12135:10;;981:14958;;12835:74;11948:968::o;14296:213:69:-;981:14958:106;14374:24:69;;;;14370:103;;981:14958:106;14296:213:69;:::o;14370:103::-;981:14958:106;;;;14421:41:69;;;;;;14452:2;14421:41;;;981:14958:106;;;;;14421:41:69;1809:204:82;981:14958:106;1809:204:82;981:14958:106;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:97:-;;981:14958:106;;7686:17:97;7682:83;;981:14958:106;7789:27:97;981:14958:106;7789:27:97;981:14958:106;;7789:27:97;;;;;;:::i;:::-;7860:14;;;:::i;:::-;981:14958:106;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;981:14958:106;8075:24:97;:::o;7975:84::-;981:14958:106;;;8009:16:97;4622:13:107;981:14958:106;8009:16:97;:::i;:::-;981:14958:106;;;8001:24:97;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:23::-;981:14958:106;;;;8029:29:97;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;981:14958:106;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;981:14958:106;;7686:17:97;7682:83;;981:14958:106;7789:27:97;981:14958:106;7789:27:97;981:14958:106;;7789:27:97;;;;;;:::i;:::-;7860:14;;;:::i;:::-;981:14958:106;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;981:14958:106;;;8009:16:97;4994:12:107;981:14958:106;8009:16:97;:::i;:::-;981:14958:106;;;8001:24:97;: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::-;;981:14958:106;;7686:17:97;7682:83;;981:14958:106;7789:27:97;981:14958:106;7789:27:97;981:14958:106;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;981:14958:106;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;981:14958:106;8075:24:97;:::o;7975:84::-;981:14958:106;;;8009:16:97;981:14958:106;;8009:16:97;:::i;:::-;981:14958:106;;;8001:24:97;: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;981:14958:106;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;981:14958:106;;;;;;;;;675:39:107;;981:14958:106;;3901:31:23;981:14958:106;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;981:14958:106;;;;;;;;;966:38:107;;981:14958:106;;3901:31:23;981:14958:106;4148:103:23;966:10:28;-1:-1:-1;981:14958:106;;;;;;;;;821:37:107;;981:14958:106;;3901:31:23;981:14958:106;4148:103:23;-1:-1:-1;981:14958:106;;;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;;;;;966:10:28;981:14958:106;;;;;;;;;3901:31:23;981:14958:106;7270:387:23;-1:-1:-1;;;;;981:14958:106;;1398:1:82;981:14958:106;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:106;;;;1398:1:82;981:14958:106;;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;-1:-1:-1;;981:14958:106;7509:4:23;981:14958:106;;;966:10:28;;-1:-1:-1;;;;;981:14958: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;;;;;981:14958:106;;-1:-1:-1;981:14958:106;;;;;;;;;675:39:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:106;;3901:31:23;981:14958:106;;;;-1:-1:-1;981:14958:106;;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;-1:-1:-1;;981:14958:106;7509:4:23;981:14958:106;;;966:10:28;;-1:-1:-1;;;;;981:14958: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;;;;;981:14958:106;;-1:-1:-1;981:14958:106;;;;;;;;;821:37:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:106;;3901:31:23;981:14958:106;7270:387:23;-1:-1:-1;;;;;981:14958:106;;-1:-1:-1;981:14958:106;;;;;;;;;966:38:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:106;;3901:31:23;981:14958:106;7270:387:23;-1:-1:-1;;;;;981:14958:106;;-1:-1:-1;981:14958:106;;;;;;;;;1109:35:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:106;;3901:31:23;981:14958:106;7270:387:23;-1:-1:-1;981:14958:106;;;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;3901:31:23;981:14958:106;7892:388:23;-1:-1:-1;981:14958:106;;;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:106;;;;;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;;;-1:-1:-1;;981:14958:106;;;966:10:28;;-1:-1:-1;;;;;981:14958:106;;8155:40:23;-1:-1:-1;;8155:40:23;981:14958:106;8209:11:23;:::o;1670:188:55:-;981:14958:106;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;981:14958:106;;;1797:53:55;;;981:14958:106;;;;;;;;;;;;;;;;;1797:53:55;;;981:14958:106;;;;;;;-1:-1:-1;;;;;981:14958:106;;;;;1797:53:55;981:14958:106;;;1797:53:55;:::i;981:14958:106:-;7178:12:97;981:14958:106;;;;;;7178:12:97;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;-1:-1:-1;981:14958:106;:::o;:::-;7178:12:97;981:14958:106;;;;;;7178:12:97;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;-1:-1:-1;981:14958:106;:::o;:::-;;;;;;;;-1:-1:-1;981:14958:106;;-1:-1:-1;981:14958:106;;;-1:-1:-1;981:14958:106;:::o;:::-;6360:12:97;981:14958:106;-1:-1:-1;;;981:14958:106;;;;;;;;;6360:12:97;981:14958:106;;;;;;6360:12:97;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;:::o;:::-;6360:12:97;981:14958:106;-1:-1:-1;;;981:14958:106;;;;;;;;;6360:12:97;981:14958:106;;;;;;6360:12:97;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;:::o;:::-;;;;;-1:-1:-1;;;981:14958:106;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:97;;;;6360:12;981:14958:106;;;6360:24:97;;6356:75;;6246:584;6474:30;;;:::i;:::-;981:14958:106;;;;;;6578:12:97;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;981:14958:106;;;;;;;;;-1:-1:-1;981:14958:106;;;-1:-1:-1;981:14958:106;;;;;;6798:25:97;981:14958:106;6246:584:97:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;981:14958:106;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:97;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;981:14958:106;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;981:14958:106;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:106;;;;-1:-1:-1;;;;;;;;;;;981:14958:106;;6356:75:97;;;6246:584;;;;6360:12;981:14958:106;;;6360:24:97;;6356:75;;6246:584;6474:30;;;:::i;:::-;981:14958:106;;;;;;6578:12:97;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;981:14958:106;;;;;;;;;-1:-1:-1;981:14958:106;;;-1:-1:-1;981:14958:106;;;;;;6798:25:97;981:14958:106;6246:584:97:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;981:14958:106;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:97;;;;;:::i;6604:::-;981:14958:106;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;981:14958:106;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:106;;;;-1:-1:-1;;;;;;;;;;;981:14958:106;;6356:75:97;;;6246:584;;;;;6360:12;;;981:14958:106;;;6360:24:97;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;981:14958:106;;;;;;6578:12:97;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;;;981:14958:106;;;;;;;6644:21:97;;;:29;:21;;:::i;6600:188::-;6753:24;;981:14958:106;;8310:38:71;;-1:-1:-1;;;;;981:14958:106;;;;;8310:38:71;:::i;:::-;6753:24:97;;;:::i;6604:::-;981:14958:106;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;981:14958:106;;;;;;6360:12:97;981:14958:106;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:97;;;981:14958:106;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;981:14958:106;-1:-1:-1;;;;;981:14958:106;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;981:14958:106;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;981:14958:106;;;2763:40:24;981:14958:106;;;;;;;:::o;4996:4226:68:-;;981:14958:106;;;;-1:-1:-1;;981:14958:106;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;981:14958:106;;8075:1:68;981:14958:106;8074:21:68;981:14958:106;;;940:4:59;;981:14958:106;;;;940:4:59;;981:14958:106;;;;940:4:59;;981:14958:106;;;;940:4:59;;981:14958:106;;;;940:4:59;;981:14958:106;;;;940:4:59;;981:14958:106;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;981:14958:106;6695:300:68;;7259:375;7700:21;981:14958:106;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;981:14958:106;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;1271:160:55:-;981:14958:106;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;981:14958:106;;;1380:43:55;;;981:14958:106;;;;;;;;;1380:43:55;;;981:14958:106;;;;-1:-1:-1;;;;;981:14958:106;;;;;;;;1380:43:55;981:14958:106;;;1380:43:55;:::i;12922:460:106:-;;13024:14;;:::i;:::-;13015:23;;;13011:75;;-1:-1:-1;981:14958:106;;;13100:20;981:14958;;;;;;;;13128:10;981:14958;;;;;;;;;;13096:93;;13208:32;13128:10;13208:32;;:::i;:::-;13255:11;;;13251:68;;-1:-1:-1;981:14958:106;;;13100:20;981:14958;;;;;;;;13128:10;981:14958;;;;;;;;;-1:-1:-1;;981:14958:106;13371:4;981:14958;;;12922:460::o;13251:68::-;981:14958;;-1:-1:-1;;;13289:19:106;;;;;13096:93;981:14958;;-1:-1:-1;;;13162:16:106;;;;;13011:75;981:14958;;-1:-1:-1;;;13061:14:106;;;;;10580:184:97;5173:12:107;981:14958:106;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;981:14958:106;;10726:7:97;981:14958:106;;10736:12:97;981:14958:106;;;;;;10736:12:97;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;10580:184:97;:::o;10726:31::-;;-1:-1:-1;10580:184:97;:::o;10446:63:71:-;981:14958:106;;;;;;;;5173:12:107;-1:-1:-1;14439:109:71;;;981:14958:106;;;10446:63:71;;10580:184:97;4803:13:107;981:14958:106;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;981:14958:106;;10726:7:97;981:14958:106;;10736:12:97;981:14958:106;;;;;;10736:12:97;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;10580:184:97;:::o;10446:63:71:-;981:14958:106;;;;;;;;4803:13:107;-1:-1:-1;14439:109:71;;;981:14958:106;;;10446:63:71;;10580:184:97;981:14958:106;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;981:14958:106;;10726:7:97;981:14958:106;;10736:12:97;:17;:12;;:17;:::i;:::-;981:14958:106;;;;;;10580:184:97;:::o;10446:63:71:-;981:14958:106;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;981:14958:106;;;10446:63:71;;1662:280:98;;;1884:1;981:14958:106;;;;;;;1884:1:98;981:14958:106;;;;;;;9478:25:68;;;:::i;6999:207:97:-;4622:13:107;981:14958:106;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;981:14958:106;;7168:7:97;981:14958:106;;7178:17:97;981:14958:106;7178:17:97;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;4622:13:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;981:14958:106;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;981:14958:106;;;;;;;10049:53:71;14439:109;4622:13:107;-1:-1:-1;14439:109:71;981:14958:106;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;981:14958:106;;;;;9870:48:71;9866:149;981:14958:106;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:97;4994:12:107;981:14958:106;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;981:14958:106;;7168:7:97;981:14958:106;;7178:17:97;981:14958:106;7178:17:97;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;4994:12:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;981:14958:106;;;;;;;10049:53:71;14439:109;4994:12:107;-1:-1:-1;14439:109:71;981:14958:106;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;981:14958:106;;;;;9870:48:71;9866:149;981:14958:106;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:97;;981:14958:106;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;981:14958:106;;7168:7:97;981:14958:106;;;7178:12:97;;: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;:::-;981:14958:106;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;981:14958:106;14439:109:71;;;-1:-1:-1;14439:109:71;;981:14958:106;;;;;9870:48:71;9866:149;981:14958:106;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;981:14958:106;;;;;;;:::i;:::-;-1:-1:-1;981:14958:106;;;;;;;:::o;11486:272:97:-;981:14958:106;;:::i;:::-;;;;:::i;:::-;;4622:13:107;981:14958:106;;;;;;4622:13:107;-1:-1:-1;981:14958:106;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;;;;;;;;;;;;;;11718:12:97;981:14958:106;;;;;;11718:12:97;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;;;;;:::i;:::-;;;;11672:79:97;;981:14958:106;11486:272:97;:::o;:::-;981:14958:106;;:::i;:::-;;;;:::i;:::-;;4994:12:107;981:14958:106;;;;;;4994:12:107;-1:-1:-1;981:14958:106;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;;;;;;;;;;;;;;11718:12:97;981:14958:106;;;;;;11718:12:97;-1:-1:-1;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;;;;;:::i;11486:272:97:-;;981:14958:106;11718:12:97;11452:22:71;11718:31:97;11486:272;981:14958:106;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;981:14958:106;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:97;:31;:::i;:::-;981:14958:106;;;;;;;;;:::i;:::-;;;;;;;11672:79:97;;981:14958:106;11486:272:97;:::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;;;;;;981:14958:106;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;981:14958:106;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;981:14958:106;;;8401:40:55;;;981:14958:106;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:98;;;981:14958:106;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;981:14958:106;;;;;;;1258:280:98;:::o;10695:389:71:-;5173:12:107;981:14958:106;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;981:14958:106;;;;;;;;5173:12:107;10833:17:71;14439:109;;;981:14958:106;11014:1:71;;981:14958:106;;;;;;;11030:37:71:o;10695:389::-;4803:13:107;981:14958:106;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;981:14958:106;;;;;;;;4803:13:107;10833:17:71;14439:109;;;981:14958:106;11014:1:71;;981:14958:106;;;;;;;11030:37:71:o;10695:389::-;981:14958:106;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;981:14958:106;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;981:14958:106;11014:1:71;981:14958:106;;;;;;;11030:37:71;:::o;7084:141:26:-;981:14958:106;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;981:14958:106;;-1:-1:-1;;;7191:17:26;;;;;1776:194:59;1829:135;;;;;;;;981:14958:106;5173:12:107;981:14958:106;;-1:-1:-1;;;981:14958:106;;;;;;;;;5173:12:107;981:14958:106;;;;;;5173:12:107;-1:-1:-1;981:14958:106;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;:::o;:::-;4803:13:107;981:14958:106;;-1:-1:-1;;;981:14958:106;;;;;;;;;4803:13:107;981:14958:106;;;;;;4803:13:107;-1:-1:-1;981:14958:106;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;-1:-1:-1;;;;;;;;;;;981:14958:106;;;;:::o;:::-;;;-1:-1:-1;;;981:14958:106;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;981:14958:106;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5173:12:107;981:14958:106;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;981:14958:106;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;981:14958:106;;;;;;;;;;;;;;;;;12285:19:71;981:14958:106;;12423:25:71;;:::o;12247:163::-;981:14958:106;;12343:52:71;981:14958:106;12353:41:71;981:14958:106;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;981:14958:106;;12353:41:71;;;981:14958:106;12343:52:71;:::i;:::-;12247:163;;12099:89;981:14958:106;;-1:-1:-1;;;12143:30:71;;;;;11860:713;981:14958:106;12479:52:71;981:14958:106;12489:41:71;981:14958:106;;:::i;12489:41:71:-;-1:-1:-1;;;;;981:14958:106;;12489:41:71;;;981:14958:106;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;4803:13:107;981:14958:106;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;981:14958:106;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;981:14958:106;;;;;;;;;;;;;;;;;12247:163:71;981:14958:106;;12343:52:71;981:14958:106;12353:41:71;981:14958:106;;:::i;12353:41:71:-;-1:-1:-1;;;;;981:14958:106;;12353:41:71;;;981:14958:106;12343:52:71;:::i;11860:713::-;981:14958:106;12479:52:71;981:14958:106;12489:41:71;981:14958:106;;:::i;12489:41:71:-;-1:-1:-1;;;;;981:14958:106;;12489:41:71;;;981:14958:106;12343:52:71;:::i;11657:922::-;981:14958:106;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;981:14958:106;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;981:14958:106;;;;;;;;;;;;;;;;;12247:163:71;981:14958:106;;;12343:52:71;981:14958:106;12353:41:71;981:14958:106;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;981:14958:106;;12353:41:71;;;981:14958:106;12343:52:71;:::i;11860:713::-;981:14958:106;;12479:52:71;981:14958:106;12489:41:71;981:14958:106;;:::i;12489:41:71:-;-1:-1:-1;;;;;981:14958:106;;12489:41:71;;;981:14958:106;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;981:14958:106;18246:1:68;981:14958:106;22284:6:68;;;;:::i;:::-;981:14958:106;;;;;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;;;981:14958:106;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;981:14958:106;19887:61:68;;19787:87;981:14958:106;;;;;19787:87:68;;;19687;981:14958:106;;;;;19687:87:68;;;19585:89;981:14958:106;;;;;19585:89:68;;;19482:90;981:14958:106;;;;;19482:90:68;;;19379;981:14958:106;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;981:14958:106;-1:-1:-1;981:14958:106;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;981:14958:106;;3731:5:68;;;981:14958:106;;;;;;;;;4622:13:107;-1:-1:-1;14439:109:71;981:14958:106;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;981:14958:106;;;;;-1:-1:-1;13189:136:71;981:14958:106;;;13248:10:71;;13189:136;;13105:230;;;13189:136;981:14958:106;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;981:14958:106;;3731:5:68;;;981:14958:106;;;;;;;;;4994:12:107;-1:-1:-1;14439:109:71;981:14958:106;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;981:14958:106;;;;;-1:-1:-1;13189:136:71;981:14958:106;;;13248:10:71;;13189:136;;13105:230;;;13189:136;981:14958:106;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;981:14958:106;;3731:5:68;;;981:14958:106;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;981:14958:106;14439:109:71;;;-1:-1:-1;14439:109:71;;981:14958:106;;;;;-1:-1:-1;13189:136:71;981:14958:106;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;981:14958:106;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"60067":[{"start":1905,"length":32},{"start":2466,"length":32}],"70707":[{"start":4511,"length":32},{"start":5842,"length":32}],"70710":[{"start":6203,"length":32},{"start":7460,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","FACTORY()":"2dd31000","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","SLASHER_FACTORY()":"87df0788","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","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","owner()":"8da5cb5b","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalStake()":"8b0e9f3f","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","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\"},{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"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\":\"AlreadyInitialized\",\"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\":\"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\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"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\":\"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\"},{\"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\":\"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\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"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\":[{\"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\":[{\"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\":\"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\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":[],\"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\":[{\"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\":\"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\":\"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\":\"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.\"}],\"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.\"}],\"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\"}},\"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\"}},\"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\"}},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"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\"}},\"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.\"},\"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\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"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\"}},\"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\"}},\"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\":{\"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.\"},\"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.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"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.\"},\"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.\"},\"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.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"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).\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"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.\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"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/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/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/libraries/ERC4626Math.sol\":{\"keccak256\":\"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653\",\"dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"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"},{"internalType":"address","name":"vaultFactory","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":"AlreadyInitialized"},{"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":"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":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"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":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"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":"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":[{"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":"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":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[{"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":"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":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[],"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":[{"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":"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":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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"}},"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"}},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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"}},"owner()":{"details":"Returns the address of the current owner."},"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"}},"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."},"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"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"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"}},"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"}},"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."},"FACTORY()":{"notice":"Get the factory's address."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"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."},"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."},"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."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"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)."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"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."},"version()":{"notice":"Get the entity's version."},"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/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/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/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":106} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"},{"name":"vaultFactory","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":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","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":"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":"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":"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":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"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":"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":"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":"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":"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":"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":"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":"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":"AlreadyInitialized","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":"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":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","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"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]}],"bytecode":{"object":"0x60e03461013c57601f614a8938819003918201601f1916830192916001600160401b03918285118486101761014057816060928592604097885283398101031261013c5761004c82610154565b916100648461005d60208401610154565b9201610154565b9260805260a0527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82861c1661012b5780808316036100e7575b50505060c052516149209081610169823960805181818161119f01526116d2015260a05181818161183b0152611d24015260c05181818161077101526109a20152f35b6001600160401b0319909116811790915582519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a4565b845163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361013c5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104345780631415519b1461042f5780631b66c9e11461042a5780631e9a695014610425578063248a9ca31461042057806327810b6e1461041b578063281f5752146104165780632abe3048146104115780632d73c69c1461040c5780632dd31000146104075780632f2ff15d1461040257806336568abe146103fd578063392e53cd146103f85780634105a7dd146103f357806346361671146103ee57806347e7ef24146103e957806348d3b775146103e45780634ff0876a146103df57806350861adc146103da57806350f22068146103d55780635346e34f146103d057806354fd4d50146103cb57806357ec83cc146103c657806359f769a9146103c15780635cc07076146103bc57806361a8c8c4146103b75780636da3e06d146103b25780636ec1e3f8146103ad578063715018a6146103a85780637278e31c146103a357806373790ab31461039e5780637667180814610399578063794b15b7146103945780637953b33b1461038f5780637c04c80a1461038a578063810da75d1461038557806383cd9cc31461038057806387df07881461037b5780638b0e9f3f146103765780638da5cb5b1461037157806391d148541461036c5780639d66201b146103675780639f86fd8514610362578063a1b122021461035d578063a217fddf14610358578063a21a1df914610353578063a28614661461034e578063a3b5417214610349578063a5d0322314610344578063aabc24961461033f578063aad3ec961461033a578063afba70ad14610335578063b134427114610330578063bd49c35f1461032b578063bdc8144b14610326578063bfefcd7b14610321578063c31e8dd71461031c578063ce9b793014610317578063d547741f14610312578063d8dfeb451461030d578063db38871514610308578063ecf7085814610303578063efb559d6146102fe578063f2fde38b146102f9578063f3fef3a3146102f45763f5e7ee0f146102ef575f80fd5b6123c1565b61231b565b6122ee565b61219f565b612182565b612148565b61211d565b6120d1565b6120a9565b61203f565b612025565b611f47565b611f2d565b611f05565b611edb565b611e1a565b611c63565b611c1d565b611bd0565b611add565b611aa3565b611a89565b611a65565b611998565b61195e565b611900565b6118cc565b61186a565b611826565b61166d565b611654565b6115ee565b6115c7565b611587565b61156d565b61152c565b61125a565b6111f3565b6111ce565b61118a565b611137565b61110d565b6110e6565b610fae565b610f7c565b610ee7565b610ece565b610e71565b610e51565b610e30565b610b72565b610b4a565b610aaf565b610a6a565b610a1f565b6109d1565b61098d565b610919565b61072b565b61065d565b610635565b6105fc565b610513565b6104c8565b61048e565b3461048a57602036600319011261048a5760043563ffffffff60e01b811680910361048a57602090637965db0b60e01b8114908115610479575b506040519015158152f35b6301ffc9a760e01b1490505f61046e565b5f80fd5b3461048a575f36600319011261048a5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b3461048a575f36600319011261048a5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b0381160361048a57565b3461048a57604036600319011261048a5760043561053081610502565b6024359061053c612be6565b6001600160a01b038116156105eb57335f908152600e6020526040902061056790613c6f565b613c6f565b82116105d957610587610578613b82565b610580613bfb565b9084613cbc565b9182156105c4578261059892612c15565b906105af60015f805160206148ab83398151915255565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b3461048a57602036600319011261048a576004355f525f8051602061488b8339815191526020526020600160405f200154604051908152f35b3461048a575f36600319011261048a576001546040516001600160a01b039091168152602090f35b3461048a575f36600319011261048a5761067561293a565b80156106d65760015465ffffffffffff8160a01c16915f1981019081116106d1576106a39160d01c9061241a565b81018091116106d1576106b86105c091612d8f565b60405165ffffffffffff90911681529081906020820190565b6123eb565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b038216820361048a57565b9181601f8401121561048a578235916001600160401b03831161048a576020838186019501011161048a57565b3461048a57604036600319011261048a576107446106e8565b6001600160401b0360243581811161048a576107649036906004016106fe565b92909161076f612be6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036107e9575f805160206148cb833981519152549060ff8260401c169283156107d9575b50505015612dc1575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f80806107be565b604051631966391b60e11b8152600490fd5b65ffffffffffff81160361048a57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761083a57604052565b61080b565b604081019081106001600160401b0382111761083a57604052565b90601f801991011681019081106001600160401b0382111761083a57604052565b6040519061016082018281106001600160401b0382111761083a57604052565b604051906108a88261083f565b565b6001600160401b03811161083a57601f01601f191660200190565b9291926108d1826108aa565b916108df604051938461085a565b82948184528183011161048a578281602093845f960137010152565b9080601f8301121561048a57816020610916933591016108c5565b90565b3461048a57606036600319011261048a5760043561093681610502565b60243590610943826107fb565b604435906001600160401b03821161048a576020926109696109859336906004016108fb565b6001600160a01b039092165f908152600e855260409020612f87565b604051908152f35b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a57604036600319011261048a57610a1d6024356004356109f482610502565b805f525f8051602061488b833981519152602052610a18600160405f20015461315e565b61345e565b005b3461048a57604036600319011261048a57602435610a3c81610502565b336001600160a01b03821603610a5857610a1d90600435613494565b60405163334bd91960e11b8152600490fd5b3461048a575f36600319011261048a5760ff60025460a01c1680610a96575b6020906040519015158152f35b5060035460a01c60ff16610a89565b8015150361048a57565b3461048a57602036600319011261048a57600435610acc81610aa5565b610ad4612be6565b610adc613053565b5f54901515908160ff8216151514610b385760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f805160206148ab83398151915255005b60405163a741a04560e01b8152600490fd5b3461048a575f36600319011261048a57602065ffffffffffff60015460a01c16604051908152f35b3461048a5760408060031936011261048a576004803591610b9283610502565b610b9a612be6565b6001600160a01b0391838316908115610e22575f5460ff811680610e09575b610dfa5783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dd2575f93610dd7575b50610c0e906024359030903390613526565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dd257610c4d935f92610da5575b505061240d565b938415610d965760081c60ff1680610d81575b610d735750906105c091610d11610c75613b82565b95610cbe610c81613bfb565b610ca9610c8f8a838b613cbc565b99610ca38a610c9d42612d8f565b9261243b565b9061367a565b5050610cb889610c9d42612d8f565b9061375a565b50506001600160a01b0381165f908152600e6020526040902090610d0b88610d06610562610ceb42612d8f565b6001600160a01b039095165f908152600e6020526040902090565b61243b565b91613836565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d5d60015f805160206148ab83398151915255565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8e84610d06613b82565b815410610c60565b50825163070f6eed60e11b8152fd5b610dc49250803d10610dcb575b610dbc818361085a565b810190612469565b5f80610c46565b503d610db2565b612478565b610c0e919350610df390853d8711610dcb57610dbc818361085a565b9290610bfc565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bb9565b8251630d534ce360e11b8152fd5b3461048a575f36600319011261048a57602060ff5f54166040519015158152f35b3461048a575f36600319011261048a57602060015460d01c604051908152f35b3461048a575f36600319011261048a57602060ff60025460a01c166040519015158152f35b90604060031983011261048a57600435610eaf816107fb565b91602435906001600160401b03821161048a57610916916004016108fb565b3461048a576020610985610ee136610e96565b90612dfd565b3461048a57602036600319011261048a57600435610f0481610aa5565b610f0c612be6565b610f146130b0565b5f54901515908160ff8260081c16151514610b385761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610a1d60015f805160206148ab83398151915255565b3461048a575f36600319011261048a5760206001600160401b035f805160206148cb8339815191525416604051908152f35b3461048a57606036600319011261048a57610fc76106e8565b602435610fd381610502565b6001600160401b039160443583811161048a57610ff49036906004016106fe565b5f805160206148cb8339815191529491855494838616806110d55760ff8760401c169081156110c8575b506107c7577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966110c39661108b958716906001600160401b0319161790556110865f805160206148cb833981519152600160401b68ff000000000000000019825416179055565b612483565b5f805160206148cb833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f61101e565b60405162dc149f60e41b8152600490fd5b3461048a57602036600319011261048a57602061098560043561110881610502565b6128a3565b3461048a57602036600319011261048a576004355f526006602052602060405f2054604051908152f35b3461048a575f36600319011261048a5760015465ffffffffffff61116d818360a01c169261116361293a565b9060d01c9061241a565b82018092116106d157611181602092612d8f565b60405191168152f35b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a575f36600319011261048a57602060ff60035460a01c166040519015158152f35b3461048a575f36600319011261048a5761120b6139c8565b5f8051602061482b83398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461048a57604036600319011261048a5760043560243561127a816107fb565b611282612be6565b60035461129f906001600160a01b03165b6001600160a01b031690565b330361151a576112ad61293a565b906112b78161296e565b9082151580611509575b8015611500575b6114ee576105c0937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926112fa613b82565b946113156113078261242d565b5f52600660205260405f2090565b54908281036114085750611329818761243b565b8381188185100281189687806113c1575b50505050505b8361138d575b6040805191825265ffffffffffff929092166020820152908101839052606090a161137d60015f805160206148ab83398151915255565b6040519081529081906020820190565b5f546113bc9085906113aa9060101c6001600160a01b0316611293565b6001546001600160a01b031690613a97565b611346565b6113fd93610c4683610ca36113e76113e0611307986113f79888613a0a565b809661240d565b946113f142612d8f565b9261240d565b9261242d565b555f8080808761133a565b915061141c825f52600660205260405f2090565b549061142c81610d06848a61243b565b908482188286100282189788611447575b5050505050611340565b6114bc938361146f9361147c8c6114776114656114ad998884613a0a565b9788958584613a0a565b94859261240d565b61240d565b938484106114c7575b610c4690610ca361149b9596976113f142612d8f565b6114a76113078761242d565b5561240d565b915f52600660205260405f2090565b555f8080808061143d565b916114e3610c46916114dd8661149b979861240d565b9061243b565b859450929050611485565b604051635e18d2a560e01b8152600490fd5b508282116112c8565b50611513836123ff565b82106112c1565b60405163dabc4ad960e01b8152600490fd5b3461048a575f36600319011261048a5760015465ffffffffffff808260a01c169161155561293a565b600181018091116106d15761116d9160d01c9061241a565b3461048a575f36600319011261048a57602061098561293a565b3461048a57602036600319011261048a576004356115a481610502565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b3461048a57602036600319011261048a5760206109856004356115e9816107fb565b61296e565b3461048a57604036600319011261048a5760043561160b81610502565b6024356001600160401b0380821161048a573660238301121561048a57816004013590811161048a573660248260051b8401011161048a576105c092602461137d9301906129a9565b3461048a57602061098561166736610e96565b90612ed2565b3461048a5760208060031936011261048a57600480359061168d82610502565b611695612be6565b60025460a01c60ff16611817576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f916117ea575b50156117da5760405163fbfa77cf60e01b8152838516949082818581895afa928315610dd2575f936117ab575b50503091160361179c5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610a1d60015f805160206148ab83398151915255565b60405163b9f0f17160e01b8152fd5b6117cb929350803d106117d3575b6117c3818361085a565b810190612b02565b905f8061172f565b503d6117b9565b506040516324e5af8d60e21b8152fd5b61180a9150823d8411611810575b611802818361085a565b810190612ae2565b5f611702565b503d6117f8565b604051631380833b60e01b8152fd5b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a575f36600319011261048a5761188261293a565b61188a613b82565b90805f52600660205260405f205482018092116106d157600181018091116106d1575f52600660205260405f205481018091116106d157602090604051908152f35b3461048a575f36600319011261048a575f8051602061482b833981519152546040516001600160a01b039091168152602090f35b3461048a57604036600319011261048a57602060ff61195260243561192481610502565b6004355f525f8051602061488b833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461048a57602036600319011261048a5760043561197b81610502565b60018060a01b03165f52600e602052602061098560405f20613c6f565b3461048a5760408060031936011261048a576004356119b681610502565b6024356001600160401b03811161048a575f80611a54936119dd60809436906004016106fe565b908188519283928337810184815203915af43d15611a5c5760203d611a01816108aa565b90611a0e8751928361085a565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261085a565b805190602001fd5b60206060611a17565b3461048a575f36600319011261048a57602060ff5f5460081c166040519015158152f35b3461048a575f36600319011261048a5760206040515f8152f35b3461048a575f36600319011261048a5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461048a57604036600319011261048a57600435611afa81610502565b602435611b0681610aa5565b611b0e612be6565b611b16613107565b6001600160a01b038216918215611bbe575f8381526005602052604090205460ff16151582151514610b38576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a6291611ba591611b93908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610a1d60015f805160206148ab83398151915255565b604051630da30f6560e31b8152600490fd5b3461048a57604036600319011261048a576020611c14602435611bf281610502565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461048a57604036600319011261048a57602060ff611952602435611c4181610502565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b3461048a5760208060031936011261048a576004803590611c8382610502565b611c8b612be6565b60035460a01c60ff16611e0b576001600160a01b03828116939084611cf9575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610a1d60015f805160206148ab83398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f91611dee575b5015611ddd5760405163fbfa77cf60e01b815282818581895afa928315610dd2575f93611dbe575b505030911603611daf5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080611cab565b604051633f3e089160e21b8152fd5b611dd5929350803d106117d3576117c3818361085a565b905f80611d7c565b60405163dabc4ad960e01b81528390fd5b611e059150833d851161181057611802818361085a565b5f611d54565b60405163703fe2e560e01b8152fd5b3461048a57604036600319011261048a57600435611e3781610502565b60243590611e43612be6565b6001600160a01b0391818316908115611ec957611e746105c094611e6683613ae6565b9485915f5460101c16613a97565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f805160206148ab833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b3461048a57602036600319011261048a576004355f526007602052602060405f2054604051908152f35b3461048a575f36600319011261048a576003546040516001600160a01b039091168152602090f35b3461048a575f36600319011261048a576020610985613b82565b3461048a57602036600319011261048a57600435611f63612be6565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff161561200757508060045414610b38576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f805160206148ab83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461048a575f36600319011261048a576020610985613bfb565b3461048a57602036600319011261048a5760043561205c81610502565b61206461293a565b61206d826128a3565b916120788183612b88565b83018093116106d157600182018092116106d15761209591612b88565b81018091116106d157602090604051908152f35b3461048a575f36600319011261048a576002546040516001600160a01b039091168152602090f35b3461048a57604036600319011261048a57610a1d6024356004356120f482610502565b805f525f8051602061488b833981519152602052612118600160405f20015461315e565b613494565b3461048a575f36600319011261048a575f5460405160109190911c6001600160a01b03168152602090f35b3461048a575f36600319011261048a5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b3461048a575f36600319011261048a576020600454604051908152f35b3461048a57606036600319011261048a576004356121bc81610502565b602435906121c9826107fb565b6001600160401b039160443583811161048a576121ea9036906004016106fe565b909260409384516121fa8161081f565b60608152606060208201526060868201529280612259575b6105c08661224a878761224461222b8984845191612448565b928561223b602085015183612ed2565b93015190612dfd565b91613cbc565b90519081529081906020820190565b810193925060208185031261048a5780359086821161048a57019260608482031261048a5784519561228a8761081f565b843581811161048a578261229f9187016108fb565b8752602085013581811161048a57826122b99187016108fb565b60208801528585013590811161048a576105c0966122e26122449361222b9361224a98016108fb565b87820152939450612212565b3461048a57602036600319011261048a57610a1d60043561230e81610502565b6123166139c8565b612b17565b3461048a57604036600319011261048a5760043561233881610502565b602435612343612be6565b6001600160a01b038216156105eb5780156123af57612372612363613bfb565b61236b613b82565b90836140ff565b335f908152600e6020526040902090929061238c90613c6f565b831161239d57610598918391612c15565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b3461048a57604036600319011261048a5760206109856024356123e381610502565b600435612b88565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106d157565b919082039182116106d157565b818102929181159184041417156106d157565b90600182018092116106d157565b919082018092116106d157565b6001600160a01b03165f908152600e60205260409020610916929190612f87565b9081602091031261048a575190565b6040513d5f823e3d90fd5b916124d5916124c69161249461421b565b61249c61421b565b60015f805160206148ab833981519152556001600160a01b0394808616612889575b5036916108c5565b602080825183010191016138ff565b805182166001600160a01b03161561287757604080820165ffffffffffff612503825165ffffffffffff1690565b16156128665760c083018051909290612524906001600160a01b0316611293565b15612717575b5091612663610140926126026125dd6126c196612578612550875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b039092169190911790556125d16125a842612d8f565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6126226126126060850151151590565b60ff80195f541691151516175f55565b6126496126326080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61265660a0840151600455565b516001600160a01b031690565b848116612707575b5060e08101516001600160a01b03168481166126f7575b506101008101516001600160a01b03168481166126e7575b506101208101516001600160a01b03168481166126d7575b5001516001600160a01b031690565b9081166126cb5750565b6126d4906133ef565b50565b6126e090613380565b505f6126b2565b6126f090613311565b505f61269a565b6127009061323b565b505f612682565b6127109061318a565b505f61266b565b60e084015161272e906001600160a01b0316611293565b15612803575b61012084015161274c906001600160a01b0316611293565b61252a576080840151156127b95760a0840151158061279a575b61278a575091612663610140926126026125dd6126c1965b9496505050925061252a565b5163183c854560e21b8152600490fd5b506101408401516127b3906001600160a01b0316611293565b15612766565b60a0840151158015906127e3575b61278a575091612663610140926126026125dd6126c19661277e565b506101408401516127fc906001600160a01b0316611293565b15156127c7565b60608401511561283957610100840151612825906001600160a01b0316611293565b612734575163183c854560e21b8152600490fd5b610100840151612851906001600160a01b0316611293565b15612734575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b61289d9061289561421b565b61231661421b565b5f6124be565b6001600160a01b03165f908152600e602052604090206128c290613c6f565b6128ca613b82565b6128d2613bfb565b90600181018091116106d157600182018092116106d15761091692613a0a565b65ffffffffffff91821690821603919082116106d157565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff80911691821561293557160490565b61290a565b61294342612d8f565b61296a60015461296065ffffffffffff93848360a01c16906128f2565b9060d01c9061291e565b1690565b6001549065ffffffffffff91828160a01c169182848216106129975761296a92612960916128f2565b60405163b7d0949760e01b8152600490fd5b906129b2612be6565b5f926001600160a01b038316928315611ec9578115612a6a575f5b828110612a4857505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612a1d918491612a189060101c6001600160a01b0316611293565b613a97565b612a2e604051928392339684612aa5565b0390a3906108a860015f805160206148ab83398151915255565b94612a636001916114dd612a5d898789612a90565b35613ae6565b95016129cd565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612aa05760051b0190565b612a7c565b604080825281018390529392916001600160fb1b03811161048a5760209160609160051b809183880137850101930152565b51906108a882610aa5565b9081602091031261048a575161091681610aa5565b51906108a882610502565b9081602091031261048a575161091681610502565b6001600160a01b03908116908115612b70575f8051602061482b83398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612bae90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116106d157600182018092116106d15761091692613a0a565b5f805160206148ab8339815191526002815414612c035760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e6020526040902093929190612c3042612d8f565b335f908152600e60205260409020612c4790613c6f565b918483039283116106d157612c827febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f938593612d0d99613836565b5050612c9c612c9042612d8f565b610cb887611477613bfb565b5050612cb6612caa42612d8f565b610ca384611477613b82565b5050612d5b81612d46612ccf612cca61293a565b61242d565b612d25612ce4825f52600660205260405f2090565b54612cf7835f52600760205260405f2090565b54612d0382828b613cbc565b9d8e998a9361243b565b612d1f855f52600660205260405f2090565b5561243b565b612d37825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b612d6683825461243b565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b65ffffffffffff90818111612da2571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b61048a9136916108c5565b9081602091031261048a575163ffffffff8116810361048a5790565b90600163ffffffff809316019182116106d157565b90805115612ec85780602080612e1893518301019101612dcc565b612e2181613f2d565b90612e32825165ffffffffffff1690565b9065ffffffffffff8085169216828114612ebc5782119182612e68575b5050612e5f575061091690613cdd565b60209150015190565b909150612e76600a546123ff565b63ffffffff831614918215612e8f575b50505f80612e4f565b612eb49192506125d1612ea4612ea992612de8565b613f2d565b65ffffffffffff1690565b115f80612e86565b50505060209150015190565b5061091690613cdd565b90805115612f7d5780602080612eed93518301019101612dcc565b612ef681613fb7565b90612f07825165ffffffffffff1690565b9065ffffffffffff8085169216828114612ebc5782119182612f34575b5050612e5f575061091690613da4565b909150612f42600c546123ff565b63ffffffff831614918215612f5b575b50505f80612f24565b612f759192506125d1612f70612ea992612de8565b613fb7565b115f80612f52565b5061091690613da4565b918051156130495780602080612fa293518301019101612dcc565b91612fad8382614037565b92612fbe845165ffffffffffff1690565b9065ffffffffffff808516921682811461303d5782119182612ff4575b5050612feb576109169250613e64565b50506020015190565b90915061300183546123ff565b63ffffffff83161491821561301a575b50505f80612fdb565b6130359192506125d161302f612ea992612de8565b85614037565b115f80613011565b50505050506020015190565b5061091691613e64565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156120075750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906130a6565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906130a6565b5f8181525f8051602061488b83398151915260209081526040808320338452909152902060ff906130a6565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f8051602061488b8339815191529060ff16613235575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f8051602061488b8339815191529060ff905b541661330a575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f8051602061488b8339815191529060ff906132a6565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f8051602061488b8339815191529060ff906132a6565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f8051602061488b8339815191529060ff906132a6565b5f8181525f8051602061488b833981519152602081815260408084206001600160a01b038716855290915290912060ff906132a6565b5f8181525f8051602061488b833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561330a575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b0384111761083a576108a8926040526140a5565b600b54811015612aa057600b5f525f8051602061486b83398151915201905f90565b600d54811015612aa057600d5f525f8051602061484b83398151915201905f90565b8054821015612aa0575f5260205f2001905f90565b600d54600160401b81101561083a576001810180600d55811015612aa057600d5f525f8051602061484b8339815191520155565b600b54600160401b81101561083a576001810180600b55811015612aa057600b5f525f8051602061486b8339815191520155565b90815491600160401b83101561083a57826136629160016108a8950181556135c2565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613725575b50613692614138565b509290918154926136a1613b82565b9481613710575b50156136ed57505f1982018281116106d15781541115612aa0575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613701926001600160d01b03169150614362565b505061370c836135d7565b9190565b65ffffffffffff83811691161490505f6136a8565b600160401b81101561083a5760018101808455811015612aa0575f908382525f8051602061484b83398151915201555f613689565b919091600b9081548015613801575b5061377261418d565b50929091815492613781613bfb565b94816137ec575b50156137cd57505f1982018281116106d15781541115612aa0575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b6137e1926001600160d01b03169150614432565b505061370c8361360b565b65ffffffffffff83811691161490505f613788565b600160401b81101561083a5760018101808455811015612aa0575f908382525f8051602061486b83398151915201555f613769565b909291926001820190815480156138c4575b5084613853846141e2565b5094909284549361386383613c6f565b96816138af575b501561388c575050505f1981019081116106d157613662859161370c936135c2565b61370c9492936138a8926001600160d01b0390911691906144d1565b505061363f565b65ffffffffffff83811691161490505f61386a565b600160401b81101561083a578060016138e092018455836135c2565b8154905f199060031b1b191690555f613848565b51906108a8826107fb565b908161016091031261048a5761391361087b565b9061391d81612af7565b825261392b60208201612af7565b602083015261393c604082016138f4565b604083015261394d60608201612ad7565b606083015261395e60808201612ad7565b608083015260a081015160a083015261397960c08201612af7565b60c083015261398a60e08201612af7565b60e083015261010061399d818301612af7565b908301526101206139af818301612af7565b908301526139c1610140809201612af7565b9082015290565b5f8051602061482b833981519152546001600160a01b031633036139e857565b60405163118cdaa760e01b8152336004820152602490fd5b8115612935570490565b91818302915f1981850993838086109503948086039514613a8a5784831115613a7d5790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614249565b5050906109169250613a00565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b0383118284101761083a576108a8926040526140a5565b90613aef61293a565b821015613b70575f82815260096020908152604080832033845290915290205460ff16613b5e57613b203383612b88565b918215613b4c575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600c5480613bc257505f5b6001600160d01b03811615613bbd57600d54811015612aa057600d5f525f8051602061484b833981519152015490565b505f90565b805f198101116106d157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613b8d565b600a5480613c3657505f5b6001600160d01b03811615613bbd57600b54811015612aa057600b5f525f8051602061486b833981519152015490565b805f198101116106d157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613c06565b805480613c9e57505f5b6001600160d01b03811615613235576001613c9492016135c2565b90549060031b1c90565b5f199080828101116106d157825f5260205f2001015460301c613c79565b9190600181018091116106d157600182018092116106d15761091692613a0a565b600a54905f829160058411613d4b575b613cf793506146b6565b80613d1a57505f5b6001600160d01b03811615613bbd57613c946109169161357e565b613d3f613d29613d46926123ff565b600a5f525f8051602061480b8339815191520190565b5460301c90565b613cff565b9192613d568161458b565b81039081116106d157613cf793600a5f5265ffffffffffff80835f8051602061480b833981519152015416908516105f14613d92575091613ced565b929150613d9e9061242d565b90613ced565b600c54905f829160058411613e0b575b613dbe935061471f565b80613de157505f5b6001600160d01b03811615613bbd57613c94610916916135a0565b613d3f613df0613e06926123ff565b600c5f525f805160206147eb8339815191520190565b613dc6565b9192613e168161458b565b81039081116106d157613dbe93600c5f5265ffffffffffff80835f805160206147eb833981519152015416908516105f14613e52575091613db4565b929150613e5e9061242d565b90613db4565b908154905f829160058411613ec7575b613e7f935084614788565b80613ea757505f905b6001600160d01b0382161561323557610916916001613c9492016135c2565b613d3f613eb6613ec1926123ff565b835f5260205f200190565b90613e88565b9192613ed28161458b565b81039081116106d157613e7f93855f5265ffffffffffff808360205f20015416908516105f14613f03575091613e74565b929150613f0f9061242d565b90613e74565b60405190613f228261083f565b5f6020838281520152565b613f35613f15565b50613f3e613f15565b50600a54811015612aa057600a5f52602060405191613f5c8361083f565b5f8051602061480b83398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612aa057600b5f525f8051602061486b833981519152015460405191613fad8361083f565b8252602082015290565b613fbf613f15565b50613fc8613f15565b50600c54811015612aa057600c5f52602060405191613fe68361083f565b5f805160206147eb83398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612aa057600d5f525f8051602061484b833981519152015460405191613fad8361083f565b906020600161405b6140879361404b613f15565b50614054613f15565b50856135c2565b50936040519461406a8661083f565b549465ffffffffffff86169586825260301c9384910152016135c2565b905490604051926140978461083f565b835260031b1c602082015290565b905f602091828151910182855af115612478575f513d6140f657506001600160a01b0381163b155b6140d45750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156140cd565b9190600181018091116106d157600182018092116106d157614122828285613a0a565b9282156129355709151581018091116106d15790565b600c548061414957505f905f905f90565b805f198101116106d157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061419e57505f905f905f90565b805f198101116106d157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806141f35750505f905f905f90565b5f199181838101116106d1575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f805160206148cb8339815191525460401c161561423757565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfd5b600c5490600160401b82101561083a576001820180600c55821015612aa057600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206147eb83398151915290910155565b600a5490600160401b82101561083a576001820180600a55821015612aa057600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f8051602061480b83398151915290910155565b8054600160401b81101561083a57614324916001820181556135c2565b61434f57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c54919291801561440957613df061437a916123ff565b9081549165ffffffffffff908184169183168083116143f7578692036143bf576143b892509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506143f2906143de6143d061089b565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614259565b6143b8565b604051632520601d60e01b8152600490fd5b5061442d906144196143d061089b565b6001600160d01b0384166020820152614259565b5f9190565b600a5491929180156144ad57613d2961444a916123ff565b9081549165ffffffffffff908184169183168083116143f757869203614488576143b892509065ffffffffffff82549181199060301b169116179055565b50506143f2906144996143d061089b565b6001600160d01b03851660208201526142b0565b5061442d906144bd6143d061089b565b6001600160d01b03841660208201526142b0565b80549293928015614566576144e86144f3916123ff565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116143f75787930361453257506143b892509065ffffffffffff82549181199060301b169116179055565b9150506143f29161455261454461089b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614307565b509061442d9161457761454461089b565b6001600160d01b0385166020830152614307565b600181111561091657600181600160801b8110156146a4575b61464c61464261463861462e61462461461a61465897600488600160401b6146539a1015614697575b64010000000081101561468a575b6201000081101561467d575b610100811015614671575b6010811015614665575b101561465d575b60030260011c614613818b613a00565b0160011c90565b614613818a613a00565b6146138189613a00565b6146138188613a00565b6146138187613a00565b6146138186613a00565b8093613a00565b821190565b900390565b60011b614603565b811c9160021b916145fc565b60081c91811b916145f2565b60101c9160081b916145e7565b60201c9160101b916145db565b60401c9160201b916145cd565b50600160401b9050608082901c6145a4565b905b8281106146c457505090565b9091808216906001818418811c83018093116106d157600a5f5265ffffffffffff80845f8051602061480b833981519152015416908616105f1461470c575050915b906146b8565b9093925081018091116106d15790614706565b905b82811061472d57505090565b9091808216906001818418811c83018093116106d157600c5f5265ffffffffffff80845f805160206147eb833981519152015416908616105f14614775575050915b90614721565b9093925081018091116106d1579061476f565b91905b8382106147985750505090565b909192808316906001818518811c83018093116106d157855f5265ffffffffffff808460205f20015416908516105f146147d7575050925b919061478b565b9094935081018091116106d157916147d056fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220397482c9a8ce651b670b21962bb148b00fad05ebc198b873564640451f1ffc5164736f6c63430008190033","sourceMap":"981:14958:108:-:0;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;3173:36:109;;;3219:32;;8837:64:26;981:14958:108;;;;;;;;;7896:76:26;;981:14958:108;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:84;;;;;981:14958:108;;;;;;;3173:36:109;981:14958:108;;;;;;;;;;3219:32:109;981:14958:108;;;;;;;;;;927:17:84;981:14958:108;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;981:14958:108;;;;;;;;;;;;;8087:29:26;;981:14958:108;;8087:29:26;7981:146;;;;;7896:76;981:14958:108;;-1:-1:-1;;;7938:23:26;;;;;981:14958:108;-1:-1:-1;981:14958:108;;;;;;-1:-1:-1;981:14958:108;;;;;-1:-1:-1;981:14958:108;;;;-1:-1:-1;;;;;981:14958:108;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104345780631415519b1461042f5780631b66c9e11461042a5780631e9a695014610425578063248a9ca31461042057806327810b6e1461041b578063281f5752146104165780632abe3048146104115780632d73c69c1461040c5780632dd31000146104075780632f2ff15d1461040257806336568abe146103fd578063392e53cd146103f85780634105a7dd146103f357806346361671146103ee57806347e7ef24146103e957806348d3b775146103e45780634ff0876a146103df57806350861adc146103da57806350f22068146103d55780635346e34f146103d057806354fd4d50146103cb57806357ec83cc146103c657806359f769a9146103c15780635cc07076146103bc57806361a8c8c4146103b75780636da3e06d146103b25780636ec1e3f8146103ad578063715018a6146103a85780637278e31c146103a357806373790ab31461039e5780637667180814610399578063794b15b7146103945780637953b33b1461038f5780637c04c80a1461038a578063810da75d1461038557806383cd9cc31461038057806387df07881461037b5780638b0e9f3f146103765780638da5cb5b1461037157806391d148541461036c5780639d66201b146103675780639f86fd8514610362578063a1b122021461035d578063a217fddf14610358578063a21a1df914610353578063a28614661461034e578063a3b5417214610349578063a5d0322314610344578063aabc24961461033f578063aad3ec961461033a578063afba70ad14610335578063b134427114610330578063bd49c35f1461032b578063bdc8144b14610326578063bfefcd7b14610321578063c31e8dd71461031c578063ce9b793014610317578063d547741f14610312578063d8dfeb451461030d578063db38871514610308578063ecf7085814610303578063efb559d6146102fe578063f2fde38b146102f9578063f3fef3a3146102f45763f5e7ee0f146102ef575f80fd5b6123c1565b61231b565b6122ee565b61219f565b612182565b612148565b61211d565b6120d1565b6120a9565b61203f565b612025565b611f47565b611f2d565b611f05565b611edb565b611e1a565b611c63565b611c1d565b611bd0565b611add565b611aa3565b611a89565b611a65565b611998565b61195e565b611900565b6118cc565b61186a565b611826565b61166d565b611654565b6115ee565b6115c7565b611587565b61156d565b61152c565b61125a565b6111f3565b6111ce565b61118a565b611137565b61110d565b6110e6565b610fae565b610f7c565b610ee7565b610ece565b610e71565b610e51565b610e30565b610b72565b610b4a565b610aaf565b610a6a565b610a1f565b6109d1565b61098d565b610919565b61072b565b61065d565b610635565b6105fc565b610513565b6104c8565b61048e565b3461048a57602036600319011261048a5760043563ffffffff60e01b811680910361048a57602090637965db0b60e01b8114908115610479575b506040519015158152f35b6301ffc9a760e01b1490505f61046e565b5f80fd5b3461048a575f36600319011261048a5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b3461048a575f36600319011261048a5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b0381160361048a57565b3461048a57604036600319011261048a5760043561053081610502565b6024359061053c612be6565b6001600160a01b038116156105eb57335f908152600e6020526040902061056790613c6f565b613c6f565b82116105d957610587610578613b82565b610580613bfb565b9084613cbc565b9182156105c4578261059892612c15565b906105af60015f805160206148ab83398151915255565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b3461048a57602036600319011261048a576004355f525f8051602061488b8339815191526020526020600160405f200154604051908152f35b3461048a575f36600319011261048a576001546040516001600160a01b039091168152602090f35b3461048a575f36600319011261048a5761067561293a565b80156106d65760015465ffffffffffff8160a01c16915f1981019081116106d1576106a39160d01c9061241a565b81018091116106d1576106b86105c091612d8f565b60405165ffffffffffff90911681529081906020820190565b6123eb565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b038216820361048a57565b9181601f8401121561048a578235916001600160401b03831161048a576020838186019501011161048a57565b3461048a57604036600319011261048a576107446106e8565b6001600160401b0360243581811161048a576107649036906004016106fe565b92909161076f612be6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036107e9575f805160206148cb833981519152549060ff8260401c169283156107d9575b50505015612dc1575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f80806107be565b604051631966391b60e11b8152600490fd5b65ffffffffffff81160361048a57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761083a57604052565b61080b565b604081019081106001600160401b0382111761083a57604052565b90601f801991011681019081106001600160401b0382111761083a57604052565b6040519061016082018281106001600160401b0382111761083a57604052565b604051906108a88261083f565b565b6001600160401b03811161083a57601f01601f191660200190565b9291926108d1826108aa565b916108df604051938461085a565b82948184528183011161048a578281602093845f960137010152565b9080601f8301121561048a57816020610916933591016108c5565b90565b3461048a57606036600319011261048a5760043561093681610502565b60243590610943826107fb565b604435906001600160401b03821161048a576020926109696109859336906004016108fb565b6001600160a01b039092165f908152600e855260409020612f87565b604051908152f35b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a57604036600319011261048a57610a1d6024356004356109f482610502565b805f525f8051602061488b833981519152602052610a18600160405f20015461315e565b61345e565b005b3461048a57604036600319011261048a57602435610a3c81610502565b336001600160a01b03821603610a5857610a1d90600435613494565b60405163334bd91960e11b8152600490fd5b3461048a575f36600319011261048a5760ff60025460a01c1680610a96575b6020906040519015158152f35b5060035460a01c60ff16610a89565b8015150361048a57565b3461048a57602036600319011261048a57600435610acc81610aa5565b610ad4612be6565b610adc613053565b5f54901515908160ff8216151514610b385760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f805160206148ab83398151915255005b60405163a741a04560e01b8152600490fd5b3461048a575f36600319011261048a57602065ffffffffffff60015460a01c16604051908152f35b3461048a5760408060031936011261048a576004803591610b9283610502565b610b9a612be6565b6001600160a01b0391838316908115610e22575f5460ff811680610e09575b610dfa5783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dd2575f93610dd7575b50610c0e906024359030903390613526565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dd257610c4d935f92610da5575b505061240d565b938415610d965760081c60ff1680610d81575b610d735750906105c091610d11610c75613b82565b95610cbe610c81613bfb565b610ca9610c8f8a838b613cbc565b99610ca38a610c9d42612d8f565b9261243b565b9061367a565b5050610cb889610c9d42612d8f565b9061375a565b50506001600160a01b0381165f908152600e6020526040902090610d0b88610d06610562610ceb42612d8f565b6001600160a01b039095165f908152600e6020526040902090565b61243b565b91613836565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d5d60015f805160206148ab83398151915255565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8e84610d06613b82565b815410610c60565b50825163070f6eed60e11b8152fd5b610dc49250803d10610dcb575b610dbc818361085a565b810190612469565b5f80610c46565b503d610db2565b612478565b610c0e919350610df390853d8711610dcb57610dbc818361085a565b9290610bfc565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bb9565b8251630d534ce360e11b8152fd5b3461048a575f36600319011261048a57602060ff5f54166040519015158152f35b3461048a575f36600319011261048a57602060015460d01c604051908152f35b3461048a575f36600319011261048a57602060ff60025460a01c166040519015158152f35b90604060031983011261048a57600435610eaf816107fb565b91602435906001600160401b03821161048a57610916916004016108fb565b3461048a576020610985610ee136610e96565b90612dfd565b3461048a57602036600319011261048a57600435610f0481610aa5565b610f0c612be6565b610f146130b0565b5f54901515908160ff8260081c16151514610b385761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610a1d60015f805160206148ab83398151915255565b3461048a575f36600319011261048a5760206001600160401b035f805160206148cb8339815191525416604051908152f35b3461048a57606036600319011261048a57610fc76106e8565b602435610fd381610502565b6001600160401b039160443583811161048a57610ff49036906004016106fe565b5f805160206148cb8339815191529491855494838616806110d55760ff8760401c169081156110c8575b506107c7577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966110c39661108b958716906001600160401b0319161790556110865f805160206148cb833981519152600160401b68ff000000000000000019825416179055565b612483565b5f805160206148cb833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f61101e565b60405162dc149f60e41b8152600490fd5b3461048a57602036600319011261048a57602061098560043561110881610502565b6128a3565b3461048a57602036600319011261048a576004355f526006602052602060405f2054604051908152f35b3461048a575f36600319011261048a5760015465ffffffffffff61116d818360a01c169261116361293a565b9060d01c9061241a565b82018092116106d157611181602092612d8f565b60405191168152f35b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a575f36600319011261048a57602060ff60035460a01c166040519015158152f35b3461048a575f36600319011261048a5761120b6139c8565b5f8051602061482b83398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461048a57604036600319011261048a5760043560243561127a816107fb565b611282612be6565b60035461129f906001600160a01b03165b6001600160a01b031690565b330361151a576112ad61293a565b906112b78161296e565b9082151580611509575b8015611500575b6114ee576105c0937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926112fa613b82565b946113156113078261242d565b5f52600660205260405f2090565b54908281036114085750611329818761243b565b8381188185100281189687806113c1575b50505050505b8361138d575b6040805191825265ffffffffffff929092166020820152908101839052606090a161137d60015f805160206148ab83398151915255565b6040519081529081906020820190565b5f546113bc9085906113aa9060101c6001600160a01b0316611293565b6001546001600160a01b031690613a97565b611346565b6113fd93610c4683610ca36113e76113e0611307986113f79888613a0a565b809661240d565b946113f142612d8f565b9261240d565b9261242d565b555f8080808761133a565b915061141c825f52600660205260405f2090565b549061142c81610d06848a61243b565b908482188286100282189788611447575b5050505050611340565b6114bc938361146f9361147c8c6114776114656114ad998884613a0a565b9788958584613a0a565b94859261240d565b61240d565b938484106114c7575b610c4690610ca361149b9596976113f142612d8f565b6114a76113078761242d565b5561240d565b915f52600660205260405f2090565b555f8080808061143d565b916114e3610c46916114dd8661149b979861240d565b9061243b565b859450929050611485565b604051635e18d2a560e01b8152600490fd5b508282116112c8565b50611513836123ff565b82106112c1565b60405163dabc4ad960e01b8152600490fd5b3461048a575f36600319011261048a5760015465ffffffffffff808260a01c169161155561293a565b600181018091116106d15761116d9160d01c9061241a565b3461048a575f36600319011261048a57602061098561293a565b3461048a57602036600319011261048a576004356115a481610502565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b3461048a57602036600319011261048a5760206109856004356115e9816107fb565b61296e565b3461048a57604036600319011261048a5760043561160b81610502565b6024356001600160401b0380821161048a573660238301121561048a57816004013590811161048a573660248260051b8401011161048a576105c092602461137d9301906129a9565b3461048a57602061098561166736610e96565b90612ed2565b3461048a5760208060031936011261048a57600480359061168d82610502565b611695612be6565b60025460a01c60ff16611817576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f916117ea575b50156117da5760405163fbfa77cf60e01b8152838516949082818581895afa928315610dd2575f936117ab575b50503091160361179c5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610a1d60015f805160206148ab83398151915255565b60405163b9f0f17160e01b8152fd5b6117cb929350803d106117d3575b6117c3818361085a565b810190612b02565b905f8061172f565b503d6117b9565b506040516324e5af8d60e21b8152fd5b61180a9150823d8411611810575b611802818361085a565b810190612ae2565b5f611702565b503d6117f8565b604051631380833b60e01b8152fd5b3461048a575f36600319011261048a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048a575f36600319011261048a5761188261293a565b61188a613b82565b90805f52600660205260405f205482018092116106d157600181018091116106d1575f52600660205260405f205481018091116106d157602090604051908152f35b3461048a575f36600319011261048a575f8051602061482b833981519152546040516001600160a01b039091168152602090f35b3461048a57604036600319011261048a57602060ff61195260243561192481610502565b6004355f525f8051602061488b833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461048a57602036600319011261048a5760043561197b81610502565b60018060a01b03165f52600e602052602061098560405f20613c6f565b3461048a5760408060031936011261048a576004356119b681610502565b6024356001600160401b03811161048a575f80611a54936119dd60809436906004016106fe565b908188519283928337810184815203915af43d15611a5c5760203d611a01816108aa565b90611a0e8751928361085a565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261085a565b805190602001fd5b60206060611a17565b3461048a575f36600319011261048a57602060ff5f5460081c166040519015158152f35b3461048a575f36600319011261048a5760206040515f8152f35b3461048a575f36600319011261048a5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461048a57604036600319011261048a57600435611afa81610502565b602435611b0681610aa5565b611b0e612be6565b611b16613107565b6001600160a01b038216918215611bbe575f8381526005602052604090205460ff16151582151514610b38576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a6291611ba591611b93908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610a1d60015f805160206148ab83398151915255565b604051630da30f6560e31b8152600490fd5b3461048a57604036600319011261048a576020611c14602435611bf281610502565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461048a57604036600319011261048a57602060ff611952602435611c4181610502565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b3461048a5760208060031936011261048a576004803590611c8382610502565b611c8b612be6565b60035460a01c60ff16611e0b576001600160a01b03828116939084611cf9575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610a1d60015f805160206148ab83398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f91611dee575b5015611ddd5760405163fbfa77cf60e01b815282818581895afa928315610dd2575f93611dbe575b505030911603611daf5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080611cab565b604051633f3e089160e21b8152fd5b611dd5929350803d106117d3576117c3818361085a565b905f80611d7c565b60405163dabc4ad960e01b81528390fd5b611e059150833d851161181057611802818361085a565b5f611d54565b60405163703fe2e560e01b8152fd5b3461048a57604036600319011261048a57600435611e3781610502565b60243590611e43612be6565b6001600160a01b0391818316908115611ec957611e746105c094611e6683613ae6565b9485915f5460101c16613a97565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f805160206148ab833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b3461048a57602036600319011261048a576004355f526007602052602060405f2054604051908152f35b3461048a575f36600319011261048a576003546040516001600160a01b039091168152602090f35b3461048a575f36600319011261048a576020610985613b82565b3461048a57602036600319011261048a57600435611f63612be6565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff161561200757508060045414610b38576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f805160206148ab83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461048a575f36600319011261048a576020610985613bfb565b3461048a57602036600319011261048a5760043561205c81610502565b61206461293a565b61206d826128a3565b916120788183612b88565b83018093116106d157600182018092116106d15761209591612b88565b81018091116106d157602090604051908152f35b3461048a575f36600319011261048a576002546040516001600160a01b039091168152602090f35b3461048a57604036600319011261048a57610a1d6024356004356120f482610502565b805f525f8051602061488b833981519152602052612118600160405f20015461315e565b613494565b3461048a575f36600319011261048a575f5460405160109190911c6001600160a01b03168152602090f35b3461048a575f36600319011261048a5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b3461048a575f36600319011261048a576020600454604051908152f35b3461048a57606036600319011261048a576004356121bc81610502565b602435906121c9826107fb565b6001600160401b039160443583811161048a576121ea9036906004016106fe565b909260409384516121fa8161081f565b60608152606060208201526060868201529280612259575b6105c08661224a878761224461222b8984845191612448565b928561223b602085015183612ed2565b93015190612dfd565b91613cbc565b90519081529081906020820190565b810193925060208185031261048a5780359086821161048a57019260608482031261048a5784519561228a8761081f565b843581811161048a578261229f9187016108fb565b8752602085013581811161048a57826122b99187016108fb565b60208801528585013590811161048a576105c0966122e26122449361222b9361224a98016108fb565b87820152939450612212565b3461048a57602036600319011261048a57610a1d60043561230e81610502565b6123166139c8565b612b17565b3461048a57604036600319011261048a5760043561233881610502565b602435612343612be6565b6001600160a01b038216156105eb5780156123af57612372612363613bfb565b61236b613b82565b90836140ff565b335f908152600e6020526040902090929061238c90613c6f565b831161239d57610598918391612c15565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b3461048a57604036600319011261048a5760206109856024356123e381610502565b600435612b88565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106d157565b919082039182116106d157565b818102929181159184041417156106d157565b90600182018092116106d157565b919082018092116106d157565b6001600160a01b03165f908152600e60205260409020610916929190612f87565b9081602091031261048a575190565b6040513d5f823e3d90fd5b916124d5916124c69161249461421b565b61249c61421b565b60015f805160206148ab833981519152556001600160a01b0394808616612889575b5036916108c5565b602080825183010191016138ff565b805182166001600160a01b03161561287757604080820165ffffffffffff612503825165ffffffffffff1690565b16156128665760c083018051909290612524906001600160a01b0316611293565b15612717575b5091612663610140926126026125dd6126c196612578612550875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b039092169190911790556125d16125a842612d8f565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6126226126126060850151151590565b60ff80195f541691151516175f55565b6126496126326080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61265660a0840151600455565b516001600160a01b031690565b848116612707575b5060e08101516001600160a01b03168481166126f7575b506101008101516001600160a01b03168481166126e7575b506101208101516001600160a01b03168481166126d7575b5001516001600160a01b031690565b9081166126cb5750565b6126d4906133ef565b50565b6126e090613380565b505f6126b2565b6126f090613311565b505f61269a565b6127009061323b565b505f612682565b6127109061318a565b505f61266b565b60e084015161272e906001600160a01b0316611293565b15612803575b61012084015161274c906001600160a01b0316611293565b61252a576080840151156127b95760a0840151158061279a575b61278a575091612663610140926126026125dd6126c1965b9496505050925061252a565b5163183c854560e21b8152600490fd5b506101408401516127b3906001600160a01b0316611293565b15612766565b60a0840151158015906127e3575b61278a575091612663610140926126026125dd6126c19661277e565b506101408401516127fc906001600160a01b0316611293565b15156127c7565b60608401511561283957610100840151612825906001600160a01b0316611293565b612734575163183c854560e21b8152600490fd5b610100840151612851906001600160a01b0316611293565b15612734575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b61289d9061289561421b565b61231661421b565b5f6124be565b6001600160a01b03165f908152600e602052604090206128c290613c6f565b6128ca613b82565b6128d2613bfb565b90600181018091116106d157600182018092116106d15761091692613a0a565b65ffffffffffff91821690821603919082116106d157565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff80911691821561293557160490565b61290a565b61294342612d8f565b61296a60015461296065ffffffffffff93848360a01c16906128f2565b9060d01c9061291e565b1690565b6001549065ffffffffffff91828160a01c169182848216106129975761296a92612960916128f2565b60405163b7d0949760e01b8152600490fd5b906129b2612be6565b5f926001600160a01b038316928315611ec9578115612a6a575f5b828110612a4857505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612a1d918491612a189060101c6001600160a01b0316611293565b613a97565b612a2e604051928392339684612aa5565b0390a3906108a860015f805160206148ab83398151915255565b94612a636001916114dd612a5d898789612a90565b35613ae6565b95016129cd565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612aa05760051b0190565b612a7c565b604080825281018390529392916001600160fb1b03811161048a5760209160609160051b809183880137850101930152565b51906108a882610aa5565b9081602091031261048a575161091681610aa5565b51906108a882610502565b9081602091031261048a575161091681610502565b6001600160a01b03908116908115612b70575f8051602061482b83398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612bae90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116106d157600182018092116106d15761091692613a0a565b5f805160206148ab8339815191526002815414612c035760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e6020526040902093929190612c3042612d8f565b335f908152600e60205260409020612c4790613c6f565b918483039283116106d157612c827febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f938593612d0d99613836565b5050612c9c612c9042612d8f565b610cb887611477613bfb565b5050612cb6612caa42612d8f565b610ca384611477613b82565b5050612d5b81612d46612ccf612cca61293a565b61242d565b612d25612ce4825f52600660205260405f2090565b54612cf7835f52600760205260405f2090565b54612d0382828b613cbc565b9d8e998a9361243b565b612d1f855f52600660205260405f2090565b5561243b565b612d37825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b612d6683825461243b565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b65ffffffffffff90818111612da2571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b61048a9136916108c5565b9081602091031261048a575163ffffffff8116810361048a5790565b90600163ffffffff809316019182116106d157565b90805115612ec85780602080612e1893518301019101612dcc565b612e2181613f2d565b90612e32825165ffffffffffff1690565b9065ffffffffffff8085169216828114612ebc5782119182612e68575b5050612e5f575061091690613cdd565b60209150015190565b909150612e76600a546123ff565b63ffffffff831614918215612e8f575b50505f80612e4f565b612eb49192506125d1612ea4612ea992612de8565b613f2d565b65ffffffffffff1690565b115f80612e86565b50505060209150015190565b5061091690613cdd565b90805115612f7d5780602080612eed93518301019101612dcc565b612ef681613fb7565b90612f07825165ffffffffffff1690565b9065ffffffffffff8085169216828114612ebc5782119182612f34575b5050612e5f575061091690613da4565b909150612f42600c546123ff565b63ffffffff831614918215612f5b575b50505f80612f24565b612f759192506125d1612f70612ea992612de8565b613fb7565b115f80612f52565b5061091690613da4565b918051156130495780602080612fa293518301019101612dcc565b91612fad8382614037565b92612fbe845165ffffffffffff1690565b9065ffffffffffff808516921682811461303d5782119182612ff4575b5050612feb576109169250613e64565b50506020015190565b90915061300183546123ff565b63ffffffff83161491821561301a575b50505f80612fdb565b6130359192506125d161302f612ea992612de8565b85614037565b115f80613011565b50505050506020015190565b5061091691613e64565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156120075750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906130a6565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906130a6565b5f8181525f8051602061488b83398151915260209081526040808320338452909152902060ff906130a6565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f8051602061488b8339815191529060ff16613235575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f8051602061488b8339815191529060ff905b541661330a575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f8051602061488b8339815191529060ff906132a6565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f8051602061488b8339815191529060ff906132a6565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f8051602061488b8339815191529060ff906132a6565b5f8181525f8051602061488b833981519152602081815260408084206001600160a01b038716855290915290912060ff906132a6565b5f8181525f8051602061488b833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561330a575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b0384111761083a576108a8926040526140a5565b600b54811015612aa057600b5f525f8051602061486b83398151915201905f90565b600d54811015612aa057600d5f525f8051602061484b83398151915201905f90565b8054821015612aa0575f5260205f2001905f90565b600d54600160401b81101561083a576001810180600d55811015612aa057600d5f525f8051602061484b8339815191520155565b600b54600160401b81101561083a576001810180600b55811015612aa057600b5f525f8051602061486b8339815191520155565b90815491600160401b83101561083a57826136629160016108a8950181556135c2565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613725575b50613692614138565b509290918154926136a1613b82565b9481613710575b50156136ed57505f1982018281116106d15781541115612aa0575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613701926001600160d01b03169150614362565b505061370c836135d7565b9190565b65ffffffffffff83811691161490505f6136a8565b600160401b81101561083a5760018101808455811015612aa0575f908382525f8051602061484b83398151915201555f613689565b919091600b9081548015613801575b5061377261418d565b50929091815492613781613bfb565b94816137ec575b50156137cd57505f1982018281116106d15781541115612aa0575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b6137e1926001600160d01b03169150614432565b505061370c8361360b565b65ffffffffffff83811691161490505f613788565b600160401b81101561083a5760018101808455811015612aa0575f908382525f8051602061486b83398151915201555f613769565b909291926001820190815480156138c4575b5084613853846141e2565b5094909284549361386383613c6f565b96816138af575b501561388c575050505f1981019081116106d157613662859161370c936135c2565b61370c9492936138a8926001600160d01b0390911691906144d1565b505061363f565b65ffffffffffff83811691161490505f61386a565b600160401b81101561083a578060016138e092018455836135c2565b8154905f199060031b1b191690555f613848565b51906108a8826107fb565b908161016091031261048a5761391361087b565b9061391d81612af7565b825261392b60208201612af7565b602083015261393c604082016138f4565b604083015261394d60608201612ad7565b606083015261395e60808201612ad7565b608083015260a081015160a083015261397960c08201612af7565b60c083015261398a60e08201612af7565b60e083015261010061399d818301612af7565b908301526101206139af818301612af7565b908301526139c1610140809201612af7565b9082015290565b5f8051602061482b833981519152546001600160a01b031633036139e857565b60405163118cdaa760e01b8152336004820152602490fd5b8115612935570490565b91818302915f1981850993838086109503948086039514613a8a5784831115613a7d5790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614249565b5050906109169250613a00565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b0383118284101761083a576108a8926040526140a5565b90613aef61293a565b821015613b70575f82815260096020908152604080832033845290915290205460ff16613b5e57613b203383612b88565b918215613b4c575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600c5480613bc257505f5b6001600160d01b03811615613bbd57600d54811015612aa057600d5f525f8051602061484b833981519152015490565b505f90565b805f198101116106d157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613b8d565b600a5480613c3657505f5b6001600160d01b03811615613bbd57600b54811015612aa057600b5f525f8051602061486b833981519152015490565b805f198101116106d157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613c06565b805480613c9e57505f5b6001600160d01b03811615613235576001613c9492016135c2565b90549060031b1c90565b5f199080828101116106d157825f5260205f2001015460301c613c79565b9190600181018091116106d157600182018092116106d15761091692613a0a565b600a54905f829160058411613d4b575b613cf793506146b6565b80613d1a57505f5b6001600160d01b03811615613bbd57613c946109169161357e565b613d3f613d29613d46926123ff565b600a5f525f8051602061480b8339815191520190565b5460301c90565b613cff565b9192613d568161458b565b81039081116106d157613cf793600a5f5265ffffffffffff80835f8051602061480b833981519152015416908516105f14613d92575091613ced565b929150613d9e9061242d565b90613ced565b600c54905f829160058411613e0b575b613dbe935061471f565b80613de157505f5b6001600160d01b03811615613bbd57613c94610916916135a0565b613d3f613df0613e06926123ff565b600c5f525f805160206147eb8339815191520190565b613dc6565b9192613e168161458b565b81039081116106d157613dbe93600c5f5265ffffffffffff80835f805160206147eb833981519152015416908516105f14613e52575091613db4565b929150613e5e9061242d565b90613db4565b908154905f829160058411613ec7575b613e7f935084614788565b80613ea757505f905b6001600160d01b0382161561323557610916916001613c9492016135c2565b613d3f613eb6613ec1926123ff565b835f5260205f200190565b90613e88565b9192613ed28161458b565b81039081116106d157613e7f93855f5265ffffffffffff808360205f20015416908516105f14613f03575091613e74565b929150613f0f9061242d565b90613e74565b60405190613f228261083f565b5f6020838281520152565b613f35613f15565b50613f3e613f15565b50600a54811015612aa057600a5f52602060405191613f5c8361083f565b5f8051602061480b83398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612aa057600b5f525f8051602061486b833981519152015460405191613fad8361083f565b8252602082015290565b613fbf613f15565b50613fc8613f15565b50600c54811015612aa057600c5f52602060405191613fe68361083f565b5f805160206147eb83398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612aa057600d5f525f8051602061484b833981519152015460405191613fad8361083f565b906020600161405b6140879361404b613f15565b50614054613f15565b50856135c2565b50936040519461406a8661083f565b549465ffffffffffff86169586825260301c9384910152016135c2565b905490604051926140978461083f565b835260031b1c602082015290565b905f602091828151910182855af115612478575f513d6140f657506001600160a01b0381163b155b6140d45750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156140cd565b9190600181018091116106d157600182018092116106d157614122828285613a0a565b9282156129355709151581018091116106d15790565b600c548061414957505f905f905f90565b805f198101116106d157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061419e57505f905f905f90565b805f198101116106d157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806141f35750505f905f905f90565b5f199181838101116106d1575f5260205f2001015460019165ffffffffffff82169160301c90565b60ff5f805160206148cb8339815191525460401c161561423757565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfd5b600c5490600160401b82101561083a576001820180600c55821015612aa057600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206147eb83398151915290910155565b600a5490600160401b82101561083a576001820180600a55821015612aa057600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f8051602061480b83398151915290910155565b8054600160401b81101561083a57614324916001820181556135c2565b61434f57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c54919291801561440957613df061437a916123ff565b9081549165ffffffffffff908184169183168083116143f7578692036143bf576143b892509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506143f2906143de6143d061089b565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614259565b6143b8565b604051632520601d60e01b8152600490fd5b5061442d906144196143d061089b565b6001600160d01b0384166020820152614259565b5f9190565b600a5491929180156144ad57613d2961444a916123ff565b9081549165ffffffffffff908184169183168083116143f757869203614488576143b892509065ffffffffffff82549181199060301b169116179055565b50506143f2906144996143d061089b565b6001600160d01b03851660208201526142b0565b5061442d906144bd6143d061089b565b6001600160d01b03841660208201526142b0565b80549293928015614566576144e86144f3916123ff565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116143f75787930361453257506143b892509065ffffffffffff82549181199060301b169116179055565b9150506143f29161455261454461089b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614307565b509061442d9161457761454461089b565b6001600160d01b0385166020830152614307565b600181111561091657600181600160801b8110156146a4575b61464c61464261463861462e61462461461a61465897600488600160401b6146539a1015614697575b64010000000081101561468a575b6201000081101561467d575b610100811015614671575b6010811015614665575b101561465d575b60030260011c614613818b613a00565b0160011c90565b614613818a613a00565b6146138189613a00565b6146138188613a00565b6146138187613a00565b6146138186613a00565b8093613a00565b821190565b900390565b60011b614603565b811c9160021b916145fc565b60081c91811b916145f2565b60101c9160081b916145e7565b60201c9160101b916145db565b60401c9160201b916145cd565b50600160401b9050608082901c6145a4565b905b8281106146c457505090565b9091808216906001818418811c83018093116106d157600a5f5265ffffffffffff80845f8051602061480b833981519152015416908616105f1461470c575050915b906146b8565b9093925081018091116106d15790614706565b905b82811061472d57505090565b9091808216906001818418811c83018093116106d157600c5f5265ffffffffffff80845f805160206147eb833981519152015416908616105f14614775575050915b90614721565b9093925081018091116106d1579061476f565b91905b8382106147985750505090565b909192808316906001818518811c83018093116106d157855f5265ffffffffffff808460205f20015416908516105f146147d7575050925b919061478b565b9094935081018091116106d157916147d056fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220397482c9a8ce651b670b21962bb148b00fad05ebc198b873564640451f1ffc5164736f6c63430008190033","sourceMap":"981:14958:108:-: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;:::-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;981:14958:108;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;981:14958:108;-1:-1:-1;981:14958:108;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;966:38:109;981:14958:108;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;821:37:109;981:14958:108;;;;-1:-1:-1;;;;;981:14958:108;;;;;:::o;:::-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;5525:21;5521:75;;5634:10;981:14958;;;;5606:15:109;981:14958:108;;;;;5606:33:109;;;:::i;:24::-;:33;:::i;:::-;5610:35:108;;5606:88;;1057:70:100;5173:21:109;;:::i;:::-;4803:22;;:::i;:::-;1057:70:100;;;:::i;:::-;5801:20:108;;;5797:82;;5904:43;;;;:::i;:::-;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;981:14958:108;3860:283:30;3426:1;981:14958:108;;;;;;;;;;;;;;;;;;5797:82;981:14958;;-1:-1:-1;;;;;;5844:24:108;;981:14958;;5844:24;5606:88;981:14958;;-1:-1:-1;;;5668:15:108;;981:14958;;5668:15;5521:75;981:14958;;-1:-1:-1;;;5569:16:108;;981:14958;;5569:16;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;;;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;;4919:24:23;981:14958:108;-1:-1:-1;981:14958:108;4919:24:23;981:14958:108;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;4084:14:109;;:::i;:::-;4112:10;;4108:65;;4190:17;981:14958:108;;;;;;;;;;;;;;;;4210:27:109;981:14958:108;;;4210:27:109;;:::i;:::-;981:14958:108;;;;;;;4189:60:109;981:14958:108;4189:60:109;;:::i;:::-;981:14958:108;;;;;;;;;;;;;;;;;;:::i;4108:65:109:-;981:14958:108;;-1:-1:-1;;;4145:17:109;;981:14958:108;;4145:17:109;981:14958:108;;;;-1:-1:-1;;;;;981:14958:108;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;981:14958:108;;;;;;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;1673:7:84;-1:-1:-1;;;;;981:14958:108;1659:10:84;:21;1655:71;;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;;;;6431:44:26;;;;;981:14958:108;6427:105:26;;;;1809:204:84;6427:105:26;;981:14958:108;;-1:-1:-1;;;6498:23:26;;981:14958:108;;6498:23:26;6431:44;981:14958:108;;;;6450:25:26;;;-1:-1:-1;6431:44:26;;;;;1655:71:84;981:14958:108;;-1:-1:-1;;;1703:12:84;;981:14958:108;;1703:12:84;981:14958:108;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;981:14958:108;;;;;;-1:-1:-1;;981:14958:108;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:108;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;5383:59:109;981:14958:108;;;;;;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;;-1:-1:-1;981:14958:108;;;5383:15:109;981:14958:108;;;;;5383:59:109;:::i;:::-;981:14958:108;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;655:32:84;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;5350:25:23;981:14958:108;;;;;;;:::i;:::-;;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;3202:4:23;4919:24;981:14958:108;-1:-1:-1;981:14958:108;4919:24:23;981:14958:108;3202:4:23;:::i;:::-;5350:25;:::i;:::-;981:14958:108;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;981:14958:108;;6441:34:23;6437:102;;6549:37;981:14958:108;;;6549:37:23;:::i;6437:102::-;981:14958:108;;-1:-1:-1;;;6498:30:23;;981:14958:108;;6498:30:23;981:14958:108;;;;;;-1:-1:-1;;981:14958:108;;;;;1524:22;981:14958;;;;1524:46;;;981:14958;;;;;;;;;;;1524:46;-1:-1:-1;1550:20:108;981:14958;;;;;1524:46;;981:14958;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;981:14958:108;;;;;;;;;;;9542:26;9538:76;;-1:-1:-1;;981:14958:108;;;;;-1:-1:-1;981:14958:108;;;;;;9665:27;;981:14958;;9665:27;1949:1:30;-1:-1:-1;;;;;;;;;;;981:14958:108;;9538:76;981:14958;;-1:-1:-1;;;9591:12:108;;981:14958;;9591:12;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;;;1718:31:109;981:14958:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;;;;3474:24;;3470:81;;-1:-1:-1;981:14958:108;;;;3565:55;;;981:14958;3561:118;;981:14958;;-1:-1:-1;;;3713:43:108;;;3750:4;3713:43;;;981:14958;;;;;;;;;;;;;;;;;;;;;;;;;3713:43;;;;;;;;;;-1:-1:-1;3713:43:108;;;981:14958;;3829:6;981:14958;;;3750:4;;3802:10;;3829:6;;:::i;:::-;-1:-1:-1;981:14958:108;;;3864:43;;;3750:4;3864:43;;;981:14958;;;;;;;;;;3864:43;981:14958;;;;;;3864:43;981:14958;;;;;3864:43;;;;;;;:59;:43;-1:-1:-1;3864:43:108;;;981:14958;3864:59;;;:::i;:::-;3938:20;;;3934:79;;981:14958;;;;;4027:64;;981:14958;4023:123;;5173:21:109;;981:14958:108;5173:21:109;4502:93:108;5173:21:109;;:::i;:::-;4803:22;4426:66:108;4803:22:109;;:::i;:::-;4349:67:108;390:70:100;;;;;:::i;:::-;837:15:75;4385:30:108;837:15:75;819:34;837:15;819:34;:::i;:::-;4385:30:108;;:::i;:::-;4349:67;;:::i;:::-;837:15:75;;4463:28:108;837:15:75;819:34;837:15;819:34;:::i;4463:28:108:-;4426:66;;:::i;:::-;-1:-1:-1;;;;;;;981:14958:108;;;;;;5606:15:109;981:14958:108;;;;;837:15:75;4553:41:108;837:15:75;5606:33:109;:24;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;;;;;;5606:15:109;981:14958:108;;;;;;;5606:33:109;4553:41:108;:::i;:::-;4502:93;;:::i;:::-;-1:-1:-1;;981:14958:108;;;;;;;;;;;3802:10;;4611:62;;981:14958;;4611:62;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:108;3860:283:30;3426:1;981:14958:108;;;;;;;;;;;;;;;;;;;4023:123;981:14958;;-1:-1:-1;;;4114:21:108;;;4027:64;5173:21:109;4045:31:108;5173:21:109;;;:::i;4045:31:108:-;981:14958;;-1:-1:-1;4027:64:108;;3934:79;-1:-1:-1;981:14958:108;;-1:-1:-1;;;3981:21:108;;;3864:43;;;;;;-1:-1:-1;3864:43:108;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;3713:::-;3829:6;3713:43;;;;;;;;;;;;;;;:::i;:::-;;;;;3561:118;-1:-1:-1;981:14958:108;;-1:-1:-1;;;3643:25:108;;;3565:55;-1:-1:-1;3609:10:108;981:14958;;;;3586:22;981:14958;;;;;;;;3585:35;3565:55;;3470:81;981:14958;;-1:-1:-1;;;3521:19:108;;;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;1805:27:109;981:14958:108;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;1968:34:109;981:14958:108;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;:::i;:::-;;;;;4622:48:109;981:14958:108;;;:::i;:::-;4622:48:109;;:::i;981:14958:108:-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;981:14958:108;;;;;;;;;;;;;10370:24;10366:74;;-1:-1:-1;;981:14958:108;;;;;;;;-1:-1:-1;981:14958:108;;;;;;10489:25;;981:14958;;10489:25;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:108;3860:283:30;981:14958:108;;;;;;-1:-1:-1;;981:14958:108;;;;;-1:-1:-1;;;;;;;;;;;;;;;;981:14958:108;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;981:14958:108;;;;;;734:29:84;730:87;;981:14958:108;;;;;6431:44:26;;;;;981:14958:108;6427:105:26;;;6656:20;981:14958:108;6656:20:26;981:14958:108;1167:340:84;981:14958:108;;;;-1:-1:-1;;;;;981:14958:108;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;981:14958:108;;;;;;;;;6575:22:26;1167:340:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;981:14958:108;;-1:-1:-1;;981:14958:108;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;6656:20:26;;;;981:14958:108;6431:44:26;981:14958:108;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:84;981:14958:108;;-1:-1:-1;;;786:20:84;;981:14958:108;;786:20:84;981:14958:108;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;981:14958:108;;;;;;-1:-1:-1;981:14958:108;2431:59:109;981:14958:108;;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;3875:17:109;981:14958:108;;3895:30:109;981:14958:108;;;;;3895:14:109;;;:::i;:::-;981:14958:108;;;3895:30:109;;:::i;:::-;981:14958:108;;;;;;;3874:63:109;981:14958:108;3874:63:109;;:::i;:::-;981:14958:108;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;1200:42:109;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;2136:32:109;981:14958:108;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;981:14958:108;;-1:-1:-1;;;;;;981:14958:108;;;;;;;-1:-1:-1;;;;;981:14958:108;3975:40:24;981:14958:108;;3975:40:24;981:14958:108;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;7131:7:108;981:14958;7117:21;;-1:-1:-1;;;;;981:14958:108;;-1:-1:-1;;;;;981:14958:108;;;7117:21;:10;:21;7113:71;;7218:14;;:::i;:::-;7265:25;;;;:::i;:::-;7305:17;;;;:53;;;981:14958;7304:87;;;;981:14958;7300:146;;981:14958;5173:21:109;9310:48:108;5173:21:109;;;:::i;:::-;7540:17:108;7528:30;7540:17;;;:::i;:::-;981:14958;;7528:11;981:14958;;;;;;;7528:30;981:14958;;7572:29;;;;;7642:30;;;;;:::i;:::-;3066:5:70;;;3463;;;981:14958:108;3060:42:70;;7752:17:108;;;7748:384;;7568:1615;;;;;;;9197:17;9193:102;;7568:1615;981:14958;;;;;;;;;;;;;;;;;;;;;;;9310:48;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:108;3860:283:30;3426:1;981:14958:108;;;;;;;;;;;;;9193:102;-1:-1:-1;981:14958:108;9270:13;;981:14958;;9230:18;;981:14958;;-1:-1:-1;;;;;981:14958:108;;;9230:18;7556:1;981:14958;-1:-1:-1;;;;;981:14958:108;9270:13;;:::i;:::-;9193:102;;7748:384;8045:29;7813:50;7962:65;7813:50;7998:28;7914:29;7813:50;8057:16;7813:50;8077:40;7813:50;;;:::i;:::-;7914:29;;;:::i;:::-;837:15:75;819:34;837:15;819:34;:::i;:::-;7998:28:108;;:::i;8077:40::-;8057:16;;:::i;8045:29::-;981:14958;7748:384;;;;;;;7568:1615;8185:26;;;;981:14958;;7528:11;981:14958;;;;;;;8185:26;981:14958;8250:27;:45;:27;;;;;:::i;:45::-;3463:5:70;3066;;;3463;;;981:14958:108;3060:42:70;;8375:17:108;;8371:802;;7568:1615;;;;;;;;8371:802;9096:26;8436:50;;8537:53;8436:50;8637:54;8436:50;8637:29;8436:50;9125:33;8436:50;;;;:::i;:::-;8537:53;;;;;;:::i;:::-;8637:29;;;;:::i;:::-;:54;:::i;:::-;8714:33;;;;8710:194;;8371:802;8922:65;837:15:75;8958:28:108;9038:40;837:15:75;;;819:34;837:15;819:34;:::i;9038:40:108:-;9005:30;9017:17;;;:::i;9005:30::-;981:14958;9125:33;:::i;:::-;9096:26;981:14958;;7528:11;981:14958;;;;;;;9096:26;981:14958;8371:802;;;;;;;8710:194;8797:33;8771:59;8922:65;8797:33;;;9038:40;8797:33;;;:::i;:::-;8771:59;;:::i;:::-;8852:33;;-1:-1:-1;8852:33:108;;-1:-1:-1;8710:194:108;;7300:146;981:14958;;-1:-1:-1;;;7414:21:108;;981:14958;;7414:21;7304:87;7363:28;;;;7304:87;;7305:53;7341:17;;;;:::i;:::-;7326:32;;7305:53;;7113:71;981:14958;;-1:-1:-1;;;7161:12:108;;981:14958;;7161:12;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;4384:17:109;981:14958:108;;;;;;;4405:14:109;;;:::i;:::-;4384:17;981:14958:108;;;;;;;4404:36:109;981:14958:108;;;4404:36:109;;:::i;981:14958:108:-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;981:14958:108;2307:68:109;981:14958:108;;;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6491:14;981:14958;;6491:14;;:::i;981:14958::-;;;;;4994:47:109;981:14958:108;;;:::i;:::-;4994:47:109;;:::i;981:14958:108:-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;10932:22:108;981:14958;;;;;10928:89;;981:14958;;-1:-1:-1;;;11032:49:108;;-1:-1:-1;;;;;981:14958:108;;;11032:49;;;981:14958;;;;;;;;;;;;;;;11032:49;11042:17;;;981:14958;11032:49;;;;;;;-1:-1:-1;11032:49:108;;;981:14958;11031:50;;11027:102;;981:14958;;-1:-1:-1;;;11143:34:108;;981:14958;;;;;11143:34;981:14958;11143:34;981:14958;;11143:34;;;;;;;-1:-1:-1;11143:34:108;;;981:14958;11189:4;;;981:14958;;11143:51;11139:107;;-1:-1:-1;10932:22:108;981:14958;;-1:-1:-1;;;;;981:14958:108;;;;-1:-1:-1;;;;;;981:14958:108;;;;;;;-1:-1:-1;;;981:14958:108;;;11334:24;-1:-1:-1;;11334:24:108;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:108;3860:283:30;11139:107:108;981:14958;;-1:-1:-1;;;11217:18:108;;;11143:34;;;;;;;-1:-1:-1;11143:34:108;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;11027:102;-1:-1:-1;981:14958:108;;-1:-1:-1;;;11104:14:108;;;11032:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;10928:89;981:14958;;-1:-1:-1;;;10977:29:108;;;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;;;1298:40:109;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;1703:14;;:::i;:::-;5173:21:109;;:::i;:::-;981:14958:108;;;;1750:11;981:14958;;;;;;;;;;;;;1791:1;981:14958;;;;;;;;;1750:11;981:14958;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;-1:-1:-1;;;;;;;;;;;981:14958:108;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;3901:31:23;981:14958:108;;;;;:::i;:::-;;;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;;;;;;3901:31:23;981:14958:108;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;981:14958:108;5606:15:109;981:14958:108;;;5606:33:109;981:14958:108;-1:-1:-1;981:14958:108;5606:33:109;:::i;981:14958:108:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;981:14958:108;;;;-1:-1:-1;981:14958:108;477:31:88;981:14958:108;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;981:14958:108;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;477:31:88;;;981:14958:108;;;;;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;;;477:31:88;981:14958:108;477:31:88;;;;;;;:::i;:::-;518:79;;;981:14958:108;518:79:88;;981:14958:108;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;1109:35:109;981:14958:108;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;;9907:21;;9903:75;;-1:-1:-1;981:14958:108;;;9992:22;981:14958;;;;;;;;;;;;;9992:41;9988:91;;-1:-1:-1;;;;;981:14958:108;;;;;3586:22;981:14958;;;;;10145:44;;;;10089:40;;:31;981:14958;;;;;;;;;;;;;;10089:40;981:14958;;;;;;;;;;;;;;;10145:44;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:108;3860:283:30;9903:75:108;981:14958;;-1:-1:-1;;;9951:16:108;;981:14958;;9951:16;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;;2666:94:109;981:14958:108;;;;;:::i;:::-;;;-1:-1:-1;981:14958:108;2666:94:109;981:14958:108;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;;;;;;2666:94:109;981:14958:108;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;2816:92:109;981:14958:108;;;;;:::i;:::-;;;-1:-1:-1;981:14958:108;2816:92:109;981:14958:108;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;11459:20:108;981:14958;;;;;11455:85;;-1:-1:-1;;;;;981:14958:108;;;;;;11550:312;;981:14958;11459:20;981:14958;;-1:-1:-1;;;;981:14958:108;-1:-1:-1;;;981:14958:108;;;11872:27;11915:20;-1:-1:-1;11915:20:108;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;981:14958:108;3860:283:30;11550:312:108;981:14958;;-1:-1:-1;;;11597:45:108;;-1:-1:-1;;;;;981:14958:108;;11597:45;;;981:14958;;;11597:45;;981:14958;;;;;;11597:45;11607:15;;;981:14958;11597:45;;;;;;;-1:-1:-1;11597:45:108;;;11550:312;11596:46;;11592:104;;981:14958;;-1:-1:-1;;;11714:30:108;;;981:14958;11714:30;981:14958;11714:30;;;;;;;;-1:-1:-1;11714:30:108;;;11550:312;11756:4;;;981:14958;;11714:47;11710:109;;-1:-1:-1;11459:20:108;981:14958;;-1:-1:-1;;;;;;981:14958:108;-1:-1:-1;;;;;981:14958:108;;;;;;;;;11550:312;;;;;;11710:109;981:14958;;-1:-1:-1;;;11788:16:108;;;11714:30;;;;;;;-1:-1:-1;11714:30:108;;;;;;:::i;:::-;;;;;;11592:104;981:14958;;-1:-1:-1;;;11669:12:108;;981:14958;;11669:12;11597:45;;;;;;;;;;;;;;:::i;:::-;;;;11455:85;981:14958;;-1:-1:-1;;;11502:27:108;;;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;;;;6112:23;;6108:79;;6273:6;981:14958;6206:13;;;;:::i;:::-;981:14958;;;-1:-1:-1;981:14958:108;;;;6273:6;:::i;:::-;981:14958;;;;;;;;;;;;6302:10;;6296:43;;981:14958;6296:43;1949:1:30;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;;;;;;;;;;;6108:79;981:14958;;-1:-1:-1;;;6158:18:108;;981:14958;;6158:18;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;;;-1:-1:-1;981:14958:108;2546:64:109;981:14958:108;;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;2058:22:109;981:14958:108;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;5173:21:109;;:::i;981:14958:108:-;;;;;;-1:-1:-1;;981:14958:108;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;981:14958:108;;;;;;;;;;1109:35:109;;981:14958:108;;4468:23:23;4464:108;;981:14958:108;;;;10692:21;10688:71;;981:14958;;10805:22;981:14958;;;;;;;;10805:22;1949:1:30;-1:-1:-1;;;;;;;;;;;981:14958:108;;4464:108:23;981:14958:108;;;;4514:47:23;;;;;;966:10:28;981:14958:108;4514:47:23;;981:14958:108;;;;;4514:47:23;981:14958:108;;;;;;-1:-1:-1;;981:14958:108;;;;;4803:22:109;;:::i;981:14958:108:-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;3123:14;;:::i;:::-;3154:24;;;:::i;:::-;3181:29;;;;;:::i;:::-;981:14958;;;;;;;3235:1;981:14958;;;;;;;3213:33;;;:::i;:::-;981:14958;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;1888:24:109;981:14958:108;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;5767:26:23;981:14958:108;;;;;;;:::i;:::-;;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;3202:4:23;4919:24;981:14958:108;-1:-1:-1;981:14958:108;4919:24:23;981:14958:108;3202:4:23;:::i;:::-;5767:26;:::i;981:14958:108:-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;675:39:109;981:14958:108;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;;:::i;:::-;1972:48;;981:14958;;;;;;;:::i;:::-;;;;;;;;;;;;;;2034:16;;2030:111;;981:14958;;2233:39;1057:70:100;2233:39:108;;4622:48:109;2196:77:108;2233:39;;;;2196:77;;:::i;:::-;2312:36;;4994:47:109;981:14958:108;2312:36;;;4994:47:109;;:::i;:::-;2389:37:108;;;4622:48:109;;:::i;:::-;1057:70:100;;:::i;:::-;981:14958:108;;;;;;;;;;;;;2030:111;2089:41;;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;4622:48:109;981:14958:108;2196:77;981:14958;1057:70:100;981:14958:108;;;:::i;:::-;;;;;2030:111;;;;;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;2357:1:24;981:14958:108;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;981:14958:108:-;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;981:14958:108;;4890:21;4886:75;;4975:11;;4971:73;;845:69:100;4803:22:109;;:::i;:::-;5173:21;;:::i;:::-;845:69:100;;;:::i;:::-;5180:10:108;981:14958;;;;5606:15:109;981:14958:108;;;;;5180:10;;;5606:33:109;;;:::i;:::-;5150:41:108;;5146:96;;5267:40;;;;;:::i;5146:96::-;981:14958;;-1:-1:-1;;;5214:17:108;;981:14958;;5214:17;4971:73;981:14958;;-1:-1:-1;;;5009:24:108;;981:14958;;5009:24;981:14958;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;7556:1;981:14958;;;;;;;:::o;:::-;;;;;;;;;;:::o;5256:193:109:-;-1:-1:-1;;;;;981:14958:108;-1:-1:-1;981:14958:108;;;5383:15:109;981:14958:108;;;;;5383:59:109;;5256:193;;5383:59;:::i;981:14958:108:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;1167:340:84;;13510:30:108;1167:340:84;981:14958:108;1167:340:84;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;981:14958:108;-1:-1:-1;;;;;981:14958:108;;;;1376:73:84;;1167:340;981:14958:108;;;;:::i;:::-;13510:30;981:14958;;;13510:30;;;;;;:::i;:::-;981:14958;;;;-1:-1:-1;;;;;981:14958:108;13555:31;13551:88;;13653:20;;;;981:14958;;;;;;;;;;13653:25;13649:85;;13748:29;;;981:14958;;13748:29;;981:14958;13748:43;;-1:-1:-1;;;;;981:14958:108;;;13748:43;;13744:943;;1167:340:84;981:14958:108;;;15647:32;981:14958;14817:36;981:14958;;;14697:30;981:14958;;;;;;;;;;;;1398:1:84;981:14958:108;;-1:-1:-1;;;;;;981:14958:108;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;14697:30;13510;14747:13;;981:14958;;;;-1:-1:-1;;;;;;981:14958:108;-1:-1:-1;;;;;981:14958:108;;;;;;;;;14771:36;819:34:75;837:15;819:34;:::i;:::-;1949:1:30;981:14958:108;;-1:-1:-1;;;;981:14958:108;;;;;;-1:-1:-1;;;981:14958:108;;;;;;;;14771:36;981:14958;;;;;;1949:1:30;981:14958:108;;-1:-1:-1;;;;;981:14958:108;;;;;;-1:-1:-1;;;;;;981:14958:108;;;;;;;;14817:36;14864:42;981:14958;14883:23;;;981:14958;;;;;;;;;1398:1:84;981:14958:108;;;;;;;1398:1:84;981:14958:108;;14864:42;14917:38;981:14958;14934:21;;;981:14958;;;;;;;1398:1:84;981:14958:108;;;;;;;;;;;;1398:1:84;981:14958:108;;14917:38;14965:34;14980:19;;;981:14958;14965:34;981:14958;;14965:34;981:14958;-1:-1:-1;;;;;981:14958:108;;;;;;;15010:135;;1167:340:84;-1:-1:-1;15158:36:108;;;981:14958;-1:-1:-1;;;;;981:14958:108;;;;15154:157;;1167:340:84;-1:-1:-1;15324:35:108;;;981:14958;-1:-1:-1;;;;;981:14958:108;;;;15320:153;;1167:340:84;-1:-1:-1;15486:34:108;;;981:14958;-1:-1:-1;;;;;981:14958:108;;;;15482:152;;1167:340:84;-1:-1:-1;15647:32:108;981:14958;-1:-1:-1;;;;;981:14958:108;;;;;;;15643:145;;1167:340:84;:::o;15643:145:108:-;15709:68;;;:::i;:::-;;1167:340:84:o;15482:152:108:-;15550:73;;;:::i;:::-;;15482:152;;;15320:153;15389:73;;;:::i;:::-;;15320:153;;;15154:157;15224:76;;;:::i;:::-;;15154:157;;;15010:135;15073:61;;;:::i;:::-;;15010:135;;;13744:943;13811:36;;;981:14958;13811:50;;-1:-1:-1;;;;;981:14958:108;;;13811:50;;13807:405;;13744:943;14230:34;;;981:14958;14230:48;;-1:-1:-1;;;;;981:14958:108;;;14230:48;13744:943;14226:451;14302:21;;;981:14958;;14302:21;;14351:19;;;981:14958;14351:24;:74;;;14298:365;14347:150;;14298:365;;981:14958;15647:32;14298:365;14817:36;981:14958;;14298:365;;14226:451;;;;;;;13744:943;;14347:150;981:14958;-1:-1:-1;;;14460:14:108;;;;;14351:74;-1:-1:-1;14379:32:108;;;981:14958;14379:46;;-1:-1:-1;;;;;981:14958:108;;;14379:46;;14351:74;;14298:365;14525:19;;;981:14958;14525:24;;;:74;;;14298:365;14521:142;;14298:365;;981:14958;15647:32;14298:365;14817:36;981:14958;;14298:365;;;14525:74;-1:-1:-1;14553:32:108;;;981:14958;14553:46;;-1:-1:-1;;;;;981:14958:108;;;14553:46;;;14525:74;;13807:405;13885:23;;;981:14958;;13885:23;;13936:35;;;981:14958;13936:49;;-1:-1:-1;;;;;981:14958:108;;;13936:49;13807:405;13932:125;981:14958;-1:-1:-1;;;14020:14:108;;;;;13881:317;14085:35;;;981:14958;14085:49;;-1:-1:-1;;;;;981:14958:108;;;14085:49;14081:117;13807:405;14081:117;981:14958;-1:-1:-1;;;14165:14:108;;;;;13649:85;981:14958;;-1:-1:-1;;;13701:22:108;;;;;13551:88;981:14958;;-1:-1:-1;;;13609:19:108;;;;;1376:73:84;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:84;;;2492:191:108;-1:-1:-1;;;;;981:14958:108;-1:-1:-1;981:14958:108;;;5606:15:109;981:14958:108;;;;;5606:33:109;;;:::i;:::-;5173:21;;:::i;:::-;4803:22;;:::i;:::-;981:14958:108;1884:1:100;981:14958:108;;;;;;;1884:1:100;981:14958:108;;;;;;;9478:25:70;;;:::i;981:14958:108:-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;3612:132:109:-;819:34:75;837:15;819:34;:::i;:::-;3683:54:109;3703:17;981:14958:108;3684:36:109;981:14958:108;;;;;;;3684:36:109;;:::i;:::-;981:14958:108;;;3683:54:109;;:::i;:::-;981:14958:108;3612:132:109;:::o;3313:244::-;3418:17;981:14958:108;;;;;;;;;;;;;;3406:29:109;3402:85;;3503:47;3504:29;;;;:::i;3402:85::-;981:14958:108;;-1:-1:-1;;;3458:18:109;;;;;3361:103:30;;;;:::i;:::-;981:14958:108;;-1:-1:-1;;;;;981:14958:108;;;6521:23;;6517:79;;6650:11;;6646:70;;981:14958;6742:10;;;;;;-1:-1:-1;981:14958:108;;6887:49;;981:14958;;;;6864:6;;981:14958;;6821:18;;981:14958;;-1:-1:-1;;;;;981:14958:108;;;6821:18;6864:6;:::i;:::-;6887:49;981:14958;;6898:10;;;;6887:49;;;:::i;:::-;;;;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;981:14958:108;3860:283:30;6754:3:108;6790:9;6773:27;981:14958;6790:9;6783:17;6790:9;;;;;:::i;:::-;981:14958;6783:17;:::i;6773:27::-;6754:3;981:14958;6731:9;;6646:70;981:14958;;-1:-1:-1;;;6684:21:108;;;;;981:14958;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;3405:215:24:-;-1:-1:-1;;;;;981:14958:108;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;981:14958:108;;-1:-1:-1;;;;;;981:14958:108;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;981:14958:108;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;981:14958:108;;;3534:31:24;2731:227:108;;2871:34;2731:227;981:14958;-1:-1:-1;981:14958:108;2871:18;981:14958;;;-1:-1:-1;981:14958:108;;;;;;;;;;;;;;;;;2871:34;981:14958;;-1:-1:-1;981:14958:108;2907:11;981:14958;;;-1:-1:-1;981:14958:108;;2927:16;981:14958;;;-1:-1:-1;981:14958:108;;;1884:1:100;981:14958:108;;;;;;;1884:1:100;981:14958:108;;;;;;;9478:25:70;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;981:14958:108;;3670:20:30;3666:88;;1991:1;981:14958:108;;3470:384:30:o;3666:88::-;981:14958:108;;-1:-1:-1;;;3713:30:30;;;;;11948:968:108;12135:10;981:14958;;;;5606:15:109;981:14958:108;;;;;;11948:968;;;819:34:75;837:15;819:34;:::i;:::-;12135:10:108;981:14958;;;;5606:15:109;981:14958:108;;;;;5606:33:109;;;:::i;:::-;981:14958:108;;;;;;;;;12119:93;12835:74;12119:93;;;12660:30;12119:93;;:::i;:::-;837:15:75;;12222:67:108;819:34:75;837:15;819:34;:::i;:::-;12259:29:108;4803:22:109;;;:::i;12222:67:108:-;837:15:75;;12299:68:108;819:34:75;837:15;819:34;:::i;:::-;12335:31:108;5173:21:109;;;:::i;12299:68:108:-;12394:14;;12769:34;12394:14;12769:25;12394:18;:14;;:::i;:::-;:18;:::i;:::-;12726:33;12445:18;;981:14958;;7528:11;981:14958;;;;;;;12445:18;981:14958;12502:23;;981:14958;;12502:16;981:14958;;;;;;;12502:23;981:14958;390:70:100;;;;;:::i;:::-;12660:30:108;;;;;;:::i;:::-;12639:18;;981:14958;;7528:11;981:14958;;;;;;;12639:18;981:14958;12726:33;:::i;:::-;12700:23;;981:14958;;12502:16;981:14958;;;;;;;12700:23;981:14958;;;12769:18;981:14958;;;;;;;12769:25;981:14958;;;;;;;;;;;;;;;;12769:34;:50;981:14958;;;12769:50;:::i;:::-;981:14958;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;12135:10;;981:14958;;12835:74;11948:968::o;14296:213:71:-;981:14958:108;14374:24:71;;;;14370:103;;981:14958:108;14296:213:71;:::o;14370:103::-;981:14958:108;;;;14421:41:71;;;;;;14452:2;14421:41;;;981:14958:108;;;;;14421:41:71;1809:204:84;981:14958:108;1809:204:84;981:14958:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;981:14958:108;;7686:17:99;7682:83;;981:14958:108;7789:27:99;981:14958:108;7789:27:99;981:14958:108;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;981:14958:108;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;981:14958:108;8075:24:99;:::o;7975:84::-;981:14958:108;;;8009:16:99;4622:13:109;981:14958:108;8009:16:99;:::i;:::-;981:14958:108;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:23::-;981:14958:108;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;981:14958:108;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;981:14958:108;;7686:17:99;7682:83;;981:14958:108;7789:27:99;981:14958:108;7789:27:99;981:14958:108;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;981:14958:108;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;981:14958:108;;;8009:16:99;4994:12:109;981:14958:108;8009:16:99;:::i;:::-;981:14958:108;;;8001:24:99;: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::-;;981:14958:108;;7686:17:99;7682:83;;981:14958:108;7789:27:99;981:14958:108;7789:27:99;981:14958:108;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;981:14958:108;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;981:14958:108;8075:24:99;:::o;7975:84::-;981:14958:108;;;8009:16:99;981:14958:108;;8009:16:99;:::i;:::-;981:14958:108;;;8001:24:99;: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;981:14958:108;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;981:14958:108;;;;;;;;;675:39:109;;981:14958:108;;3901:31:23;981:14958:108;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;981:14958:108;;;;;;;;;966:38:109;;981:14958:108;;3901:31:23;981:14958:108;4148:103:23;966:10:28;-1:-1:-1;981:14958:108;;;;;;;;;821:37:109;;981:14958:108;;3901:31:23;981:14958:108;4148:103:23;-1:-1:-1;981:14958:108;;;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;;;;;966:10:28;981:14958:108;;;;;;;;;3901:31:23;981:14958:108;7270:387:23;-1:-1:-1;;;;;981:14958:108;;1398:1:84;981:14958:108;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:108;;;;1398:1:84;981:14958:108;;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;-1:-1:-1;;981:14958:108;7509:4:23;981:14958:108;;;966:10:28;;-1:-1:-1;;;;;981:14958:108;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:84;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;981:14958:108;;-1:-1:-1;981:14958:108;;;;;;;;;675:39:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:108;;3901:31:23;981:14958:108;;;;-1:-1:-1;981:14958:108;;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;-1:-1:-1;;981:14958:108;7509:4:23;981:14958:108;;;966:10:28;;-1:-1:-1;;;;;981:14958:108;;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;;;;;981:14958:108;;-1:-1:-1;981:14958:108;;;;;;;;;821:37:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:108;;3901:31:23;981:14958:108;7270:387:23;-1:-1:-1;;;;;981:14958:108;;-1:-1:-1;981:14958:108;;;;;;;;;966:38:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:108;;3901:31:23;981:14958:108;7270:387:23;-1:-1:-1;;;;;981:14958:108;;-1:-1:-1;981:14958:108;;;;;;;;;1109:35:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;981:14958:108;;3901:31:23;981:14958:108;7270:387:23;-1:-1:-1;981:14958:108;;;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;3901:31:23;981:14958:108;7892:388:23;-1:-1:-1;981:14958:108;;;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:108;;;;;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;;;-1:-1:-1;;981:14958:108;;;966:10:28;;-1:-1:-1;;;;;981:14958:108;;8155:40:23;-1:-1:-1;;8155:40:23;981:14958:108;8209:11:23;:::o;1670:188:56:-;981:14958:108;;-1:-1:-1;;;1797:53:56;;;;-1:-1:-1;;;;;981:14958:108;;;1797:53:56;;;981:14958:108;;;;;;;;;;;;;;;;;1797:53:56;;;981:14958:108;;;;;;;-1:-1:-1;;;;;981:14958:108;;;;;1797:53:56;981:14958:108;;;1797:53:56;:::i;981:14958:108:-;7178:12:99;981:14958:108;;;;;;7178:12:99;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;-1:-1:-1;981:14958:108;:::o;:::-;7178:12:99;981:14958:108;;;;;;7178:12:99;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;-1:-1:-1;981:14958:108;:::o;:::-;;;;;;;;-1:-1:-1;981:14958:108;;-1:-1:-1;981:14958:108;;;-1:-1:-1;981:14958:108;:::o;:::-;6360:12:99;981:14958:108;-1:-1:-1;;;981:14958:108;;;;;;;;;6360:12:99;981:14958:108;;;;;;6360:12:99;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;:::o;:::-;6360:12:99;981:14958:108;-1:-1:-1;;;981:14958:108;;;;;;;;;6360:12:99;981:14958:108;;;;;;6360:12:99;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;:::o;:::-;;;;;-1:-1:-1;;;981:14958:108;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:99;;;;6360:12;981:14958:108;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;981:14958:108;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;981:14958:108;;;;;;;;;-1:-1:-1;981:14958:108;;;-1:-1:-1;981:14958:108;;;;;;6798:25:99;981:14958:108;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;981:14958:108;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;981:14958:108;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;981:14958:108;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:108;;;;-1:-1:-1;;;;;;;;;;;981:14958:108;;6356:75:99;;;6246:584;;;;6360:12;981:14958:108;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;981:14958:108;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;981:14958:108;;;;;;;;;-1:-1:-1;981:14958:108;;;-1:-1:-1;981:14958:108;;;;;;6798:25:99;981:14958:108;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;981:14958:108;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;6604:::-;981:14958:108;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;981:14958:108;;;;;;;;;;;;;;;;-1:-1:-1;981:14958:108;;;;-1:-1:-1;;;;;;;;;;;981:14958:108;;6356:75:99;;;6246:584;;;;;6360:12;;;981:14958:108;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;981:14958:108;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;981:14958:108;;;;;;;6644:21:99;;;:29;:21;;:::i;6600:188::-;6753:24;;981:14958:108;;8310:38:73;;-1:-1:-1;;;;;981:14958:108;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;981:14958:108;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;981:14958:108;;;;;;6360:12:99;981:14958:108;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:99;;;981:14958:108;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;981:14958:108;-1:-1:-1;;;;;981:14958:108;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;981:14958:108;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;981:14958:108;;;2763:40:24;981:14958:108;;;;;;;:::o;4996:4226:70:-;;981:14958:108;;;;-1:-1:-1;;981:14958:108;4996:4226:70;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:60;-1:-1:-1;940:4:60;7214:31:70;;7259:375;;;8094:1;981:14958:108;;8075:1:70;981:14958:108;8074:21:70;981:14958:108;;;940:4:60;;981:14958:108;;;;940:4:60;;981:14958:108;;;;940:4:60;;981:14958:108;;;;940:4:60;;981:14958:108;;;;940:4:60;;981:14958:108;;;;940:4:60;;981:14958:108;7259:375:70;;;;-1:-1:-1;7259:375:70;;;6695:300;;;;;;981:14958:108;6695:300:70;;7259:375;7700:21;981:14958:108;4996:4226:70;:::o;6266:143::-;6330:16;;3066:5;981:14958:108;940:4:60;3060:42:70;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;1271:160:56:-;981:14958:108;;-1:-1:-1;;;1380:43:56;;;;-1:-1:-1;;;;;981:14958:108;;;1380:43:56;;;981:14958:108;;;;;;;;;1380:43:56;;;981:14958:108;;;;-1:-1:-1;;;;;981:14958:108;;;;;;;;1380:43:56;981:14958:108;;;1380:43:56;:::i;12922:460:108:-;;13024:14;;:::i;:::-;13015:23;;;13011:75;;-1:-1:-1;981:14958:108;;;13100:20;981:14958;;;;;;;;13128:10;981:14958;;;;;;;;;;13096:93;;13208:32;13128:10;13208:32;;:::i;:::-;13255:11;;;13251:68;;-1:-1:-1;981:14958:108;;;13100:20;981:14958;;;;;;;;13128:10;981:14958;;;;;;;;;-1:-1:-1;;981:14958:108;13371:4;981:14958;;;12922:460::o;13251:68::-;981:14958;;-1:-1:-1;;;13289:19:108;;;;;13096:93;981:14958;;-1:-1:-1;;;13162:16:108;;;;;13011:75;981:14958;;-1:-1:-1;;;13061:14:108;;;;;10580:184:99;5173:12:109;981:14958:108;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;981:14958:108;;10726:7:99;981:14958:108;;10736:12:99;981:14958:108;;;;;;10736:12:99;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;10580:184:99;:::o;10726:31::-;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;981:14958:108;;;;;;;;5173:12:109;-1:-1:-1;14439:109:73;;;981:14958:108;;;10446:63:73;;10580:184:99;4803:13:109;981:14958:108;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;981:14958:108;;10726:7:99;981:14958:108;;10736:12:99;981:14958:108;;;;;;10736:12:99;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;10580:184:99;:::o;10446:63:73:-;981:14958:108;;;;;;;;4803:13:109;-1:-1:-1;14439:109:73;;;981:14958:108;;;10446:63:73;;10580:184:99;981:14958:108;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;981:14958:108;;10726:7:99;981:14958:108;;10736:12:99;:17;:12;;:17;:::i;:::-;981:14958:108;;;;;;10580:184:99;:::o;10446:63:73:-;981:14958:108;;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;;-1:-1:-1;14439:109:73;;;981:14958:108;;;10446:63:73;;1662:280:100;;;1884:1;981:14958:108;;;;;;;1884:1:100;981:14958:108;;;;;;;9478:25:70;;;:::i;6999:207:99:-;4622:13:109;981:14958:108;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;981:14958:108;;7168:7:99;981:14958:108;;7178:17:99;981:14958:108;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;4622:13:109;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;14289:265;;10135:41;981:14958:108;;;;;10135:48:73;10120:63;;9791:234;9838:14;;;;;:::i;:::-;981:14958:108;;;;;;;10049:53:73;14439:109;4622:13:109;-1:-1:-1;14439:109:73;981:14958:108;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;981:14958:108;;;;;9870:48:73;9866:149;981:14958:108;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;4994:12:109;981:14958:108;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;981:14958:108;;7168:7:99;981:14958:108;;7178:17:99;981:14958:108;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;4994:12:109;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;981:14958:108;;;;;;;10049:53:73;14439:109;4994:12:109;-1:-1:-1;14439:109:73;981:14958:108;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;981:14958:108;;;;;9870:48:73;9866:149;981:14958:108;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;;981:14958:108;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;981:14958:108;;7168:7:99;981:14958:108;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;14439:109;;;;;;14289:265;;10135:48;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;981:14958:108;;;;;;;10049:53:73;14439:109;;-1:-1:-1;14439:109:73;981:14958:108;14439:109:73;;;-1:-1:-1;14439:109:73;;981:14958:108;;;;;9870:48:73;9866:149;981:14958:108;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;981:14958:108;;;;;;;:::i;:::-;-1:-1:-1;981:14958:108;;;;;;;:::o;11486:272:99:-;981:14958:108;;:::i;:::-;;;;:::i;:::-;;4622:13:109;981:14958:108;;;;;;4622:13:109;-1:-1:-1;981:14958:108;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;;;;;;;;;;;;;;11718:12:99;981:14958:108;;;;;;11718:12:99;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;;;;;:::i;:::-;;;;11672:79:99;;981:14958:108;11486:272:99;:::o;:::-;981:14958:108;;:::i;:::-;;;;:::i;:::-;;4994:12:109;981:14958:108;;;;;;4994:12:109;-1:-1:-1;981:14958:108;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;;;;;;;;;;;;;;11718:12:99;981:14958:108;;;;;;11718:12:99;-1:-1:-1;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;;;;;:::i;11486:272:99:-;;981:14958:108;11718:12:99;11452:22:73;11718:31:99;11486:272;981:14958:108;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;981:14958:108;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:99;:31;:::i;:::-;981:14958:108;;;;;;;;;:::i;:::-;;;;;;;11672:79:99;;981:14958:108;11486:272:99;:::o;7738:720:56:-;;-1:-1:-1;7875:421:56;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:56;;8310:15;;-1:-1:-1;;;;;;981:14958:108;;8328:26:56;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;981:14958:108;;-1:-1:-1;;;8401:40:56;;-1:-1:-1;;;;;981:14958:108;;;8401:40:56;;;981:14958:108;;;8401:40:56;8310:68;8377:1;8362:16;;8310:68;;1258:280:100;;;981:14958:108;;;;;;;;;;;;;;;;9478:25:70;;;;;:::i;:::-;9552;;;;;;:29;;981:14958:108;;;;;;;1258:280:100;:::o;10695:389:73:-;5173:12:109;981:14958:108;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;981:14958:108;;;;;;;;5173:12:109;10833:17:73;14439:109;;;981:14958:108;11014:1:73;;981:14958:108;;;;;;;11030:37:73:o;10695:389::-;4803:13:109;981:14958:108;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;981:14958:108;;;;;;;;4803:13:109;10833:17:73;14439:109;;;981:14958:108;11014:1:73;;981:14958:108;;;;;;;11030:37:73:o;10695:389::-;981:14958:108;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;981:14958:108;;;;;;;;;;10833:17:73;14439:109;;10833:17;14439:109;;;981:14958:108;11014:1:73;981:14958:108;;;;;;;11030:37:73;:::o;7084:141:26:-;981:14958:108;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;981:14958:108;;-1:-1:-1;;;7191:17:26;;;;;1776:194:60;1829:135;;;;;;;;981:14958:108;5173:12:109;981:14958:108;;-1:-1:-1;;;981:14958:108;;;;;;;;;5173:12:109;981:14958:108;;;;;;5173:12:109;-1:-1:-1;981:14958:108;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;:::o;:::-;4803:13:109;981:14958:108;;-1:-1:-1;;;981:14958:108;;;;;;;;;4803:13:109;981:14958:108;;;;;;4803:13:109;-1:-1:-1;981:14958:108;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;-1:-1:-1;;;;;;;;;;;981:14958:108;;;;:::o;:::-;;;-1:-1:-1;;;981:14958:108;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;981:14958:108;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;5173:12:109;981:14958:108;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;981:14958:108;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;981:14958:108;;;;;;;;;;;;;;;;;12285:19:73;981:14958:108;;12423:25:73;;:::o;12247:163::-;981:14958:108;;12343:52:73;981:14958:108;12353:41:73;981:14958:108;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;981:14958:108;;12353:41:73;;;981:14958:108;12343:52:73;:::i;:::-;12247:163;;12099:89;981:14958:108;;-1:-1:-1;;;12143:30:73;;;;;11860:713;981:14958:108;12479:52:73;981:14958:108;12489:41:73;981:14958:108;;:::i;12489:41:73:-;-1:-1:-1;;;;;981:14958:108;;12489:41:73;;;981:14958:108;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;4803:13:109;981:14958:108;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;981:14958:108;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;981:14958:108;;;;;;;;;;;;;;;;;12247:163:73;981:14958:108;;12343:52:73;981:14958:108;12353:41:73;981:14958:108;;:::i;12353:41:73:-;-1:-1:-1;;;;;981:14958:108;;12353:41:73;;;981:14958:108;12343:52:73;:::i;11860:713::-;981:14958:108;12479:52:73;981:14958:108;12489:41:73;981:14958:108;;:::i;12489:41:73:-;-1:-1:-1;;;;;981:14958:108;;12489:41:73;;;981:14958:108;12343:52:73;:::i;11657:922::-;981:14958:108;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;981:14958:108;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;981:14958:108;;;;;;;;;;;;;;;;;12247:163:73;981:14958:108;;;12343:52:73;981:14958:108;12353:41:73;981:14958:108;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;981:14958:108;;12353:41:73;;;981:14958:108;12343:52:73;:::i;11860:713::-;981:14958:108;;12479:52:73;981:14958:108;12489:41:73;981:14958:108;;:::i;12489:41:73:-;-1:-1:-1;;;;;981:14958:108;;12489:41:73;;;981:14958:108;12343:52:73;:::i;18080:5181:70:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;981:14958:108;18246:1:70;981:14958:108;22284:6:70;;;;:::i;:::-;981:14958:108;;;;;22278:18:70;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;;;981:14958:108;23216:28:70;940:4:60;;18080:5181:70;:::o;19887:61::-;18246:1;981:14958:108;19887:61:70;;19787:87;981:14958:108;;;;;19787:87:70;;;19687;981:14958:108;;;;;19687:87:70;;;19585:89;981:14958:108;;;;;19585:89:70;;;19482:90;981:14958:108;;;;;19482:90:70;;;19379;981:14958:108;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;981:14958:108;-1:-1:-1;981:14958:108;;;;19274:92:70;;12929:433:73;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:70;;;;;981:14958:108;;3731:5:70;;;981:14958:108;;;;;;;;;4622:13:109;-1:-1:-1;14439:109:73;981:14958:108;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;981:14958:108;;;;;-1:-1:-1;13189:136:73;981:14958:108;;;13248:10:73;;13189:136;;13105:230;;;13189:136;981:14958:108;;;;;;;;;;;13189:136:73;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:70;;;;;981:14958:108;;3731:5:70;;;981:14958:108;;;;;;;;;4994:12:109;-1:-1:-1;14439:109:73;981:14958:108;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;981:14958:108;;;;;-1:-1:-1;13189:136:73;981:14958:108;;;13248:10:73;;13189:136;;13105:230;;;13189:136;981:14958:108;;;;;;;;;;;13189:136:73;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:70;;;;;;981:14958:108;;3731:5:70;;;981:14958:108;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;981:14958:108;14439:109:73;;;-1:-1:-1;14439:109:73;;981:14958:108;;;;;-1:-1:-1;13189:136:73;981:14958:108;;;13248:10:73;;13189:136;;13105:230;;;;13189:136;981:14958:108;;;;;;;;;;;13189:136:73;;","linkReferences":{},"immutableReferences":{"60387":[{"start":1905,"length":32},{"start":2466,"length":32}],"71027":[{"start":4511,"length":32},{"start":5842,"length":32}],"71030":[{"start":6203,"length":32},{"start":7460,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","FACTORY()":"2dd31000","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","SLASHER_FACTORY()":"87df0788","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","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","owner()":"8da5cb5b","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalStake()":"8b0e9f3f","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","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\"},{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"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\":\"AlreadyInitialized\",\"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\":\"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\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"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\":\"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\"},{\"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\":\"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\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"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\":[{\"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\":[{\"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\":\"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\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":[],\"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\":[{\"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\":\"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\":\"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\":\"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.\"}],\"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.\"}],\"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\"}},\"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\"}},\"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\"}},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"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\"}},\"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.\"},\"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\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"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\"}},\"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\"}},\"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\":{\"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.\"},\"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.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"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.\"},\"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.\"},\"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.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"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).\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"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.\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"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/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/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/libraries/ERC4626Math.sol\":{\"keccak256\":\"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653\",\"dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"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"},{"internalType":"address","name":"vaultFactory","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":"AlreadyInitialized"},{"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":"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":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"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":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"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":"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":[{"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":"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":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[{"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":"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":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[],"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":[{"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":"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":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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"}},"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"}},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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"}},"owner()":{"details":"Returns the address of the current owner."},"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"}},"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."},"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"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"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"}},"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"}},"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."},"FACTORY()":{"notice":"Get the factory's address."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"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."},"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."},"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."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"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)."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"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."},"version()":{"notice":"Get the entity's version."},"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/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/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/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":108} \ No newline at end of file diff --git a/out/VaultConfigurator.sol/VaultConfigurator.json b/out/VaultConfigurator.sol/VaultConfigurator.json index 74909ad..5299324 100644 --- a/out/VaultConfigurator.sol/VaultConfigurator.json +++ b/out/VaultConfigurator.sol/VaultConfigurator.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DELEGATOR_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SLASHER_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"create","inputs":[{"name":"params","type":"tuple","internalType":"struct IVaultConfigurator.InitParams","components":[{"name":"version","type":"uint64","internalType":"uint64"},{"name":"owner","type":"address","internalType":"address"},{"name":"vaultParams","type":"bytes","internalType":"bytes"},{"name":"delegatorIndex","type":"uint64","internalType":"uint64"},{"name":"delegatorParams","type":"bytes","internalType":"bytes"},{"name":"withSlasher","type":"bool","internalType":"bool"},{"name":"slasherIndex","type":"uint64","internalType":"uint64"},{"name":"slasherParams","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"delegator","type":"address","internalType":"address"},{"name":"slasher","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60e0346100a957601f61078338819003918201601f19168301916001600160401b038311848410176100ad578084926060946040528339810103126100a957610047816100c1565b906100606040610059602084016100c1565b92016100c1565b9160805260a05260c0526040516106ad90816100d682396080518181816101aa015261050a015260a05181818161023301526104c9015260c05181818161038201526104860152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a95756fe60806040818152600480361015610014575f80fd5b5f925f3560e01c908163103f2907146104f8575080636da3e06d146104b557806387df0788146104725763c48927e41461004c575f80fd5b346103385760031991602036840181136103385782359067ffffffffffffffff9485831161033857610100809184360301126103385783519081018181108782111761045f57845261009f838601610583565b81526001600160a01b039560248401358781168103610338578383019081526044850135828111610338576100d990883691880101610598565b918684019283526100ec60648701610583565b956060850196875260848101358281116103385761010f908a3691840101610598565b966080860197885260a48201359081151582036103385760a0870191825261013960c48401610583565b9260c0880193845260e481013596858811610338578d8d975f6101648f9b958b8f9736920101610598565b9960e08d019a8b526101a6848b849f511694511695519c519c8d9687958694633ac0491160e01b8652850152602484015260606044840152606483019061060d565b03927f0000000000000000000000000000000000000000000000000000000000000000165af19586156104555791888d8c95938e97955f9a61042e575b50908561022f9251169c515f8b6102008a51938492888401610631565b0398610214601f199a8b8101855284610561565b519e8f94859384926319a211df60e31b9d8e85528401610656565b03927f0000000000000000000000000000000000000000000000000000000000000000165af1998a1561042457908d979695949392915f9b6103f9575b50908995949392915161033c575b5050505050501695863b156103385784516383cd9cc360e01b8152938116868501819052935f81602481838c5af1801561032e5761031b575b50863b1561031757845163555e124b60e11b815291169481018590528681602481838a5af1801561030d576102f5575b50606095508251948552840152820152f35b6102ff8791610539565b61030957856102e3565b8580fd5b84513d89823e3d90fd5b8780fd5b610326919850610539565b5f965f6102b3565b86513d5f823e3d90fd5b5f80fd5b61036893949596985061035c9750511693518a5196879189888401610631565b03908101865285610561565b61037c8851948593849384528b8401610656565b03815f8b7f0000000000000000000000000000000000000000000000000000000000000000165af19081156103ef579087915f916103c2575b5091835f8080808061027a565b6103e29150843d86116103e8575b6103da8183610561565b8101906105ee565b5f6103b5565b503d6103d0565b85513d5f823e3d90fd5b8a9695949392919b5061041890873d89116103e8576103da8183610561565b9a90919293949561026c565b8b513d5f823e3d90fd5b61022f92919a5061044c8791853d87116103e8576103da8183610561565b9a9192506101e3565b8a513d5f823e3d90fd5b604186634e487b7160e01b5f525260245ffd5b8234610338575f36600319011261033857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b8234610338575f36600319011261033857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610338575f366003190112610338577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b67ffffffffffffffff811161054d57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff82111761054d57604052565b359067ffffffffffffffff8216820361033857565b81601f820112156103385780359067ffffffffffffffff821161054d57604051926105cd601f8401601f191660200185610561565b8284526020838301011161033857815f926020809301838601378301015290565b9081602091031261033857516001600160a01b03811681036103385790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b0390911681526040602082018190526106539291019061060d565b90565b60409067ffffffffffffffff6106539493168152816020820152019061060d56fea264697066735822122060d3c9df75a621c4d113c39e4aac4a8c1382fc5d24821f7e1bbe3e7376d34ad564736f6c63430008190033","sourceMap":"392:1286:78:-:0;;;;;;;;;;;;;-1:-1:-1;;392:1286:78;;;;-1:-1:-1;;;;;392:1286:78;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;844:28;;;882:36;;928:32;;392:1286;;;;;;;;844:28;392:1286;;;;;;;;;;882:36;392:1286;;;;;;;;;;928:32;392:1286;;;;;;;;;;;;-1:-1:-1;392:1286:78;;;;;;-1:-1:-1;392:1286:78;;;;;-1:-1:-1;392:1286:78;;;;-1:-1:-1;;;;;392:1286:78;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040818152600480361015610014575f80fd5b5f925f3560e01c908163103f2907146104f8575080636da3e06d146104b557806387df0788146104725763c48927e41461004c575f80fd5b346103385760031991602036840181136103385782359067ffffffffffffffff9485831161033857610100809184360301126103385783519081018181108782111761045f57845261009f838601610583565b81526001600160a01b039560248401358781168103610338578383019081526044850135828111610338576100d990883691880101610598565b918684019283526100ec60648701610583565b956060850196875260848101358281116103385761010f908a3691840101610598565b966080860197885260a48201359081151582036103385760a0870191825261013960c48401610583565b9260c0880193845260e481013596858811610338578d8d975f6101648f9b958b8f9736920101610598565b9960e08d019a8b526101a6848b849f511694511695519c519c8d9687958694633ac0491160e01b8652850152602484015260606044840152606483019061060d565b03927f0000000000000000000000000000000000000000000000000000000000000000165af19586156104555791888d8c95938e97955f9a61042e575b50908561022f9251169c515f8b6102008a51938492888401610631565b0398610214601f199a8b8101855284610561565b519e8f94859384926319a211df60e31b9d8e85528401610656565b03927f0000000000000000000000000000000000000000000000000000000000000000165af1998a1561042457908d979695949392915f9b6103f9575b50908995949392915161033c575b5050505050501695863b156103385784516383cd9cc360e01b8152938116868501819052935f81602481838c5af1801561032e5761031b575b50863b1561031757845163555e124b60e11b815291169481018590528681602481838a5af1801561030d576102f5575b50606095508251948552840152820152f35b6102ff8791610539565b61030957856102e3565b8580fd5b84513d89823e3d90fd5b8780fd5b610326919850610539565b5f965f6102b3565b86513d5f823e3d90fd5b5f80fd5b61036893949596985061035c9750511693518a5196879189888401610631565b03908101865285610561565b61037c8851948593849384528b8401610656565b03815f8b7f0000000000000000000000000000000000000000000000000000000000000000165af19081156103ef579087915f916103c2575b5091835f8080808061027a565b6103e29150843d86116103e8575b6103da8183610561565b8101906105ee565b5f6103b5565b503d6103d0565b85513d5f823e3d90fd5b8a9695949392919b5061041890873d89116103e8576103da8183610561565b9a90919293949561026c565b8b513d5f823e3d90fd5b61022f92919a5061044c8791853d87116103e8576103da8183610561565b9a9192506101e3565b8a513d5f823e3d90fd5b604186634e487b7160e01b5f525260245ffd5b8234610338575f36600319011261033857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b8234610338575f36600319011261033857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610338575f366003190112610338577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b67ffffffffffffffff811161054d57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff82111761054d57604052565b359067ffffffffffffffff8216820361033857565b81601f820112156103385780359067ffffffffffffffff821161054d57604051926105cd601f8401601f191660200185610561565b8284526020838301011161033857815f926020809301838601378301015290565b9081602091031261033857516001600160a01b03811681036103385790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b0390911681526040602082018190526106539291019061060d565b90565b60409067ffffffffffffffff6106539493168152816020820152019061060d56fea264697066735822122060d3c9df75a621c4d113c39e4aac4a8c1382fc5d24821f7e1bbe3e7376d34ad564736f6c63430008190033","sourceMap":"392:1286:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;392:1286:78;;;;;;-1:-1:-1;392:1286:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;392:1286:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;1133:15;;;392:1286;;;;;;1233:18;;392:1286;;;;;;;;;;;;1168:84;;;;392:1286;;;;;;;;;;;;;;;:::i;:::-;1168:84;1181:13;;392:1286;1168:84;;;;;;;;;;;;;;;;392:1286;1168:84;;;392:1286;;;;1287:108;392:1286;;;1371:22;;392:1286;;1353:41;392:1286;;1353:41;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;392:1286;;;;;;;;;;;1287:108;;;;;;;:::i;:::-;;1304:17;;392:1286;1287:108;;;;;;;;;;;;;;;;392:1286;1287:108;;;392:1286;;;;;;;;;;1406:175;;392:1286;;;;;;;;1591:36;;;;;;392:1286;;-1:-1:-1;;;1591:36:78;;392:1286;;;1591:36;;;392:1286;;;;;;;;;1591:36;;;;;;;;;392:1286;1637:32;;;;;;392:1286;;-1:-1:-1;;;1637:32:78;;392:1286;;1637:32;;;392:1286;;;1637:32;392:1286;;;1637:32;;;;;;;;;;392:1286;;;;;;;;;;;;;;;;;1637:32;;;;;:::i;:::-;392:1286;;1637:32;;;392:1286;;;;1637:32;392:1286;;;;;;;;;1637:32;392:1286;;;1591:36;;;;;;:::i;:::-;392:1286;1591:36;;;;;392:1286;;;;;;;;;1591:36;392:1286;;;1406:175;1530:39;392:1286;;;;;;1530:39;392:1286;;;;1548:20;;392:1286;;1530:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;1470:100;392:1286;;1470:100;;;;;;;;;;;:::i;:::-;;1485:15;392:1286;1485:15;;392:1286;1470:100;;;;;;;;;;392:1286;1470:100;;;1406:175;1444:126;1406:175;;;;;;;;;1470:100;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;392:1286;;;;;;;;;1287:108;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;392:1286;;;;;;;;;1168:84;1287:108;1168:84;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;392:1286;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;392:1286:78;;;;;703:40;-1:-1:-1;;;;;392:1286:78;;;;;;;;;;;;;-1:-1:-1;;392:1286:78;;;;;600:42;-1:-1:-1;;;;;392:1286:78;;;;;;;;;;;;-1:-1:-1;;392:1286:78;;;;501:38;-1:-1:-1;;;;;392:1286:78;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;1353:41;;392:1286;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;1353:41;392:1286;;-1:-1:-1;;392:1286:78;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;392:1286:78;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;392:1286:78;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;392:1286:78;;;;;;;;-1:-1:-1;;392:1286:78;;;;:::o;:::-;-1:-1:-1;;;;;392:1286:78;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i","linkReferences":{},"immutableReferences":{"59660":[{"start":426,"length":32},{"start":1290,"length":32}],"59663":[{"start":563,"length":32},{"start":1225,"length":32}],"59666":[{"start":898,"length":32},{"start":1158,"length":32}]}},"methodIdentifiers":{"DELEGATOR_FACTORY()":"6da3e06d","SLASHER_FACTORY()":"87df0788","VAULT_FACTORY()":"103f2907","create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))":"c48927e4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatorFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"slasherFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"DELEGATOR_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SLASHER_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"vaultParams\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"delegatorIndex\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"delegatorParams\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"withSlasher\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"slasherIndex\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"slasherParams\",\"type\":\"bytes\"}],\"internalType\":\"struct IVaultConfigurator.InitParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))\":{\"params\":{\"params\":\"initial parameters needed for a vault with a delegator and a slasher deployment\"},\"returns\":{\"delegator\":\"address of the delegator\",\"slasher\":\"address of the slasher\",\"vault\":\"address of the vault\"}}},\"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\"}},\"VAULT_FACTORY\":{\"return\":\"address of the vault factory\",\"returns\":{\"_0\":\"address of the vault factory\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DELEGATOR_FACTORY()\":{\"notice\":\"Get the delegator factory's address.\"},\"SLASHER_FACTORY()\":{\"notice\":\"Get the slasher factory's address.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))\":{\"notice\":\"Create a new vault with a delegator and a slasher.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/VaultConfigurator.sol\":\"VaultConfigurator\"},\"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/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"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/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0xf55d01dac75cffdabec6833a79bf3be0c108fc0db10e273daf7adfd3e9e59dae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://540002a50a2a1a2b9dafffb976178e55adbf8d3a28db462c69f996921479c6b0\",\"dweb:/ipfs/QmQNAFyMf2FW3U1giM4Yej3zzd1pnxMtAA5GoADj4hTYYD\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d\",\"dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"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/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"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/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/DelegatorFactory.sol\":{\"keccak256\":\"0x3c3fb62c441302f4f75d94703779f5c4bb755c06f310b4c923dbf24d6e0adda9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://597fa8be7179d8a555bf942c1dea0504273a1d34f6ac4c206fc2e816da143e68\",\"dweb:/ipfs/Qmf54DKNYXC7fTMcAFABw68RC6ZFenVgyAPGhbPTf6s5TR\"]},\"src/contracts/SlasherFactory.sol\":{\"keccak256\":\"0xbafc96e3d2511eb62942613645b4f5cbf6f603063a711b30e25940aaba08064c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://489440f1181b1858e3b27a90ec6f514c0c287c602b4779676048213202165867\",\"dweb:/ipfs/QmRG7AQ9m9qHr8ofEvP1Ur8S379fFXTo9rmiWaAtZ9rsUc\"]},\"src/contracts/VaultConfigurator.sol\":{\"keccak256\":\"0x2484ee5cfac134e27cedeeef22d4111d7ecd4a4b62f02381f2c2b67c57ed7955\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://adce2d9b8a9fb670c0f3266d5407b752901921f1c9f9406c7db65d84e48e779a\",\"dweb:/ipfs/QmTbcKhdGfepqexFc8kziqPdfFC8SGZzFrVnEcJ5nKBiPz\"]},\"src/contracts/VaultFactory.sol\":{\"keccak256\":\"0xa9122dd11e5f21fa97a813e90f8c4905f0a4967b9611dd03437a31377cbdecb8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4c2feda1f9c0c7ddf65bccdc99494e4bfbb820fcddc3e4222e3b58ef821424a3\",\"dweb:/ipfs/Qmdmt4rH214jDmDsF9ELvJXVCt8abhk6poSmhJqqzLse3R\"]},\"src/contracts/common/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"src/contracts/common/Factory.sol\":{\"keccak256\":\"0x41764643e6a2a3d80d694a3efee91f50a2fd084fb2bcd13566259443840e6369\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fefc1e2a2189275388826f4f82ca421ca79c2866d3ef39dc2c7df46fe7cbf7c9\",\"dweb:/ipfs/QmSJ4VGmgpYUv5ni4ZYoSV4qMuZrk5DLjyB3Vv9NbFgeNZ\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/MigratableEntityProxy.sol\":{\"keccak256\":\"0x78ba27242276232ad10a45265e3c07f0a25722456f6abb3fb3f24a1c8e1b38d1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a19623df688e5085036b59fc934e35b72997f875d7ffda1cdc557c6ca468206d\",\"dweb:/ipfs/QmaQiT5uYZu5JmqhMjTDJnsq3nqaHbKrWAjrxKKLesdHV7\"]},\"src/contracts/common/MigratablesFactory.sol\":{\"keccak256\":\"0x5d1487c3456da4bd0bc2a131eeab97ab92484c923edefaebf190cc08d4080093\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fec38d2e52e9c5148e95599c133fd6fe66d41296d6fc06e7329d2db199a1798f\",\"dweb:/ipfs/QmeiaydBXHHkJRUnpaZH1C6JQ7HPocTvQbUJBqKTvUeEYv\"]},\"src/contracts/common/Registry.sol\":{\"keccak256\":\"0x4a4004836d920953a8ec6e223de9a330f43acf7a5b93c6b8b3e4a95e0f129889\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e8bdda207f3852c683a2b481602239a914f7e26bcd042ade618e263a43b67652\",\"dweb:/ipfs/Qmb8GZykJWxZcfwNp3SqhFizDFydFuV6LXgemV3vnWyLyu\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/slasher/BaseSlasher.sol\":{\"keccak256\":\"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06\",\"dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/IDelegatorFactory.sol\":{\"keccak256\":\"0x7850453237ca93b301393506d2489a38830a60be0c29f39a4a1aee3508d836e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f418702b883c90e046af92d5654a25849baf79b61c11401ad603b861fed7b80\",\"dweb:/ipfs/Qmdju1XFJXx3uJidzoS7srcoSnzT8jUoPAmGEdbceYgB7j\"]},\"src/interfaces/ISlasherFactory.sol\":{\"keccak256\":\"0x30018af5c2719d9b5cfacbfc0277017896815b3fcc4dfbea78813e6ae81c1e56\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e028fbed23ab973d8d9eb2be4e53a528dd01248e3233f56ab0f8ac9a7c9c220\",\"dweb:/ipfs/Qmd9cHMRSE52ESmxMiu5gTBpRNmDHQK5q18f7UTj8DQke4\"]},\"src/interfaces/IVaultConfigurator.sol\":{\"keccak256\":\"0x699d9b8c767780c4ea593fe7608bc0b3ef7646f54cea0610ae355f2974658eba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ac4081f36b477025213f59c489cbb85f904580b145fa9f18ef9a7b794f0fba2\",\"dweb:/ipfs/QmPE3Ep6pTdaeFsJoixeom3NEaQiTe8WHrLoiFEGJo1zx4\"]},\"src/interfaces/IVaultFactory.sol\":{\"keccak256\":\"0x6f658b264fc8d530e458a98d83a09cb55ace4d3e509f0a3e9294471bb1bcf84d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7253435e4e1d1ae19a50d14091ddb254f6a36f296440106bfc094623dd1aeba\",\"dweb:/ipfs/QmbHK9yoQ7Ctf3nuDLmqxTWPYD8cEm1TKXzfxePtE87AQN\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IFactory.sol\":{\"keccak256\":\"0xe835ebda85d181b70874f6eb53f2a892aa3223d23efe247060da9b51d2b8e969\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48b3dfb5f0491d90efbc8ed498b45358260ebac6e8f2aa0106b8b8fabdc988cb\",\"dweb:/ipfs/QmWnnCs3xiHeUvYfUWMJTSFZWc34bSYn9Zpm7f7syra3TA\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IMigratableEntityProxy.sol\":{\"keccak256\":\"0x9030ced51ad12e0b3ddaa11bba4a3adcfa29e67b909c46065c14b19d158bb9fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d859c21510d1a0f06a71abe21dc6424608c1b2e3194a10e4df4cc88c4de9e9f\",\"dweb:/ipfs/QmNi6Buri2oaujc4vTv6bZ5mgMKFsjUmYmQLUNaDCXFEEt\"]},\"src/interfaces/common/IMigratablesFactory.sol\":{\"keccak256\":\"0xd4dfe9449bf005dbcbab9e0e85eaaca15a601ff971f34182a0b1832dc4b9d124\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff8b73285192a9c64160b008d23a09da33e7164d10a9dc29d1a4464bd9c02be5\",\"dweb:/ipfs/QmZQW2LLV4dQfJ3coENKeycbzXJzi7zdvupsqWA4UV29Gq\"]},\"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/service/INetworkMiddlewareService.sol\":{\"keccak256\":\"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c\",\"dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/slasher/IBurner.sol\":{\"keccak256\":\"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447\",\"dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"delegatorFactory","type":"address"},{"internalType":"address","name":"slasherFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"DELEGATOR_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct IVaultConfigurator.InitParams","name":"params","type":"tuple","components":[{"internalType":"uint64","name":"version","type":"uint64"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes","name":"vaultParams","type":"bytes"},{"internalType":"uint64","name":"delegatorIndex","type":"uint64"},{"internalType":"bytes","name":"delegatorParams","type":"bytes"},{"internalType":"bool","name":"withSlasher","type":"bool"},{"internalType":"uint64","name":"slasherIndex","type":"uint64"},{"internalType":"bytes","name":"slasherParams","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"create","outputs":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"slasher","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))":{"params":{"params":"initial parameters needed for a vault with a delegator and a slasher deployment"},"returns":{"delegator":"address of the delegator","slasher":"address of the slasher","vault":"address of the vault"}}},"version":1},"userdoc":{"kind":"user","methods":{"DELEGATOR_FACTORY()":{"notice":"Get the delegator factory's address."},"SLASHER_FACTORY()":{"notice":"Get the slasher factory's address."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))":{"notice":"Create a new vault with a delegator and a slasher."}},"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/VaultConfigurator.sol":"VaultConfigurator"},"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/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"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/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Clones.sol":{"keccak256":"0xf55d01dac75cffdabec6833a79bf3be0c108fc0db10e273daf7adfd3e9e59dae","urls":["bzz-raw://540002a50a2a1a2b9dafffb976178e55adbf8d3a28db462c69f996921479c6b0","dweb:/ipfs/QmQNAFyMf2FW3U1giM4Yej3zzd1pnxMtAA5GoADj4hTYYD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a","urls":["bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d","dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"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/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"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/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/DelegatorFactory.sol":{"keccak256":"0x3c3fb62c441302f4f75d94703779f5c4bb755c06f310b4c923dbf24d6e0adda9","urls":["bzz-raw://597fa8be7179d8a555bf942c1dea0504273a1d34f6ac4c206fc2e816da143e68","dweb:/ipfs/Qmf54DKNYXC7fTMcAFABw68RC6ZFenVgyAPGhbPTf6s5TR"],"license":"BUSL-1.1"},"src/contracts/SlasherFactory.sol":{"keccak256":"0xbafc96e3d2511eb62942613645b4f5cbf6f603063a711b30e25940aaba08064c","urls":["bzz-raw://489440f1181b1858e3b27a90ec6f514c0c287c602b4779676048213202165867","dweb:/ipfs/QmRG7AQ9m9qHr8ofEvP1Ur8S379fFXTo9rmiWaAtZ9rsUc"],"license":"BUSL-1.1"},"src/contracts/VaultConfigurator.sol":{"keccak256":"0x2484ee5cfac134e27cedeeef22d4111d7ecd4a4b62f02381f2c2b67c57ed7955","urls":["bzz-raw://adce2d9b8a9fb670c0f3266d5407b752901921f1c9f9406c7db65d84e48e779a","dweb:/ipfs/QmTbcKhdGfepqexFc8kziqPdfFC8SGZzFrVnEcJ5nKBiPz"],"license":"BUSL-1.1"},"src/contracts/VaultFactory.sol":{"keccak256":"0xa9122dd11e5f21fa97a813e90f8c4905f0a4967b9611dd03437a31377cbdecb8","urls":["bzz-raw://4c2feda1f9c0c7ddf65bccdc99494e4bfbb820fcddc3e4222e3b58ef821424a3","dweb:/ipfs/Qmdmt4rH214jDmDsF9ELvJXVCt8abhk6poSmhJqqzLse3R"],"license":"BUSL-1.1"},"src/contracts/common/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"src/contracts/common/Factory.sol":{"keccak256":"0x41764643e6a2a3d80d694a3efee91f50a2fd084fb2bcd13566259443840e6369","urls":["bzz-raw://fefc1e2a2189275388826f4f82ca421ca79c2866d3ef39dc2c7df46fe7cbf7c9","dweb:/ipfs/QmSJ4VGmgpYUv5ni4ZYoSV4qMuZrk5DLjyB3Vv9NbFgeNZ"],"license":"BUSL-1.1"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/MigratableEntityProxy.sol":{"keccak256":"0x78ba27242276232ad10a45265e3c07f0a25722456f6abb3fb3f24a1c8e1b38d1","urls":["bzz-raw://a19623df688e5085036b59fc934e35b72997f875d7ffda1cdc557c6ca468206d","dweb:/ipfs/QmaQiT5uYZu5JmqhMjTDJnsq3nqaHbKrWAjrxKKLesdHV7"],"license":"BUSL-1.1"},"src/contracts/common/MigratablesFactory.sol":{"keccak256":"0x5d1487c3456da4bd0bc2a131eeab97ab92484c923edefaebf190cc08d4080093","urls":["bzz-raw://fec38d2e52e9c5148e95599c133fd6fe66d41296d6fc06e7329d2db199a1798f","dweb:/ipfs/QmeiaydBXHHkJRUnpaZH1C6JQ7HPocTvQbUJBqKTvUeEYv"],"license":"BUSL-1.1"},"src/contracts/common/Registry.sol":{"keccak256":"0x4a4004836d920953a8ec6e223de9a330f43acf7a5b93c6b8b3e4a95e0f129889","urls":["bzz-raw://e8bdda207f3852c683a2b481602239a914f7e26bcd042ade618e263a43b67652","dweb:/ipfs/Qmb8GZykJWxZcfwNp3SqhFizDFydFuV6LXgemV3vnWyLyu"],"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/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/slasher/BaseSlasher.sol":{"keccak256":"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6","urls":["bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06","dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/IDelegatorFactory.sol":{"keccak256":"0x7850453237ca93b301393506d2489a38830a60be0c29f39a4a1aee3508d836e6","urls":["bzz-raw://8f418702b883c90e046af92d5654a25849baf79b61c11401ad603b861fed7b80","dweb:/ipfs/Qmdju1XFJXx3uJidzoS7srcoSnzT8jUoPAmGEdbceYgB7j"],"license":"MIT"},"src/interfaces/ISlasherFactory.sol":{"keccak256":"0x30018af5c2719d9b5cfacbfc0277017896815b3fcc4dfbea78813e6ae81c1e56","urls":["bzz-raw://5e028fbed23ab973d8d9eb2be4e53a528dd01248e3233f56ab0f8ac9a7c9c220","dweb:/ipfs/Qmd9cHMRSE52ESmxMiu5gTBpRNmDHQK5q18f7UTj8DQke4"],"license":"MIT"},"src/interfaces/IVaultConfigurator.sol":{"keccak256":"0x699d9b8c767780c4ea593fe7608bc0b3ef7646f54cea0610ae355f2974658eba","urls":["bzz-raw://9ac4081f36b477025213f59c489cbb85f904580b145fa9f18ef9a7b794f0fba2","dweb:/ipfs/QmPE3Ep6pTdaeFsJoixeom3NEaQiTe8WHrLoiFEGJo1zx4"],"license":"MIT"},"src/interfaces/IVaultFactory.sol":{"keccak256":"0x6f658b264fc8d530e458a98d83a09cb55ace4d3e509f0a3e9294471bb1bcf84d","urls":["bzz-raw://a7253435e4e1d1ae19a50d14091ddb254f6a36f296440106bfc094623dd1aeba","dweb:/ipfs/QmbHK9yoQ7Ctf3nuDLmqxTWPYD8cEm1TKXzfxePtE87AQN"],"license":"MIT"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IFactory.sol":{"keccak256":"0xe835ebda85d181b70874f6eb53f2a892aa3223d23efe247060da9b51d2b8e969","urls":["bzz-raw://48b3dfb5f0491d90efbc8ed498b45358260ebac6e8f2aa0106b8b8fabdc988cb","dweb:/ipfs/QmWnnCs3xiHeUvYfUWMJTSFZWc34bSYn9Zpm7f7syra3TA"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IMigratableEntityProxy.sol":{"keccak256":"0x9030ced51ad12e0b3ddaa11bba4a3adcfa29e67b909c46065c14b19d158bb9fd","urls":["bzz-raw://2d859c21510d1a0f06a71abe21dc6424608c1b2e3194a10e4df4cc88c4de9e9f","dweb:/ipfs/QmNi6Buri2oaujc4vTv6bZ5mgMKFsjUmYmQLUNaDCXFEEt"],"license":"MIT"},"src/interfaces/common/IMigratablesFactory.sol":{"keccak256":"0xd4dfe9449bf005dbcbab9e0e85eaaca15a601ff971f34182a0b1832dc4b9d124","urls":["bzz-raw://ff8b73285192a9c64160b008d23a09da33e7164d10a9dc29d1a4464bd9c02be5","dweb:/ipfs/QmZQW2LLV4dQfJ3coENKeycbzXJzi7zdvupsqWA4UV29Gq"],"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/service/INetworkMiddlewareService.sol":{"keccak256":"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783","urls":["bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c","dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/slasher/IBurner.sol":{"keccak256":"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b","urls":["bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447","dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":78} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DELEGATOR_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SLASHER_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"VAULT_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"create","inputs":[{"name":"params","type":"tuple","internalType":"struct IVaultConfigurator.InitParams","components":[{"name":"version","type":"uint64","internalType":"uint64"},{"name":"owner","type":"address","internalType":"address"},{"name":"vaultParams","type":"bytes","internalType":"bytes"},{"name":"delegatorIndex","type":"uint64","internalType":"uint64"},{"name":"delegatorParams","type":"bytes","internalType":"bytes"},{"name":"withSlasher","type":"bool","internalType":"bool"},{"name":"slasherIndex","type":"uint64","internalType":"uint64"},{"name":"slasherParams","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"delegator","type":"address","internalType":"address"},{"name":"slasher","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60e0346100a957601f61078338819003918201601f19168301916001600160401b038311848410176100ad578084926060946040528339810103126100a957610047816100c1565b906100606040610059602084016100c1565b92016100c1565b9160805260a05260c0526040516106ad90816100d682396080518181816101aa015261050a015260a05181818161023301526104c9015260c05181818161038201526104860152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a95756fe60806040818152600480361015610014575f80fd5b5f925f3560e01c908163103f2907146104f8575080636da3e06d146104b557806387df0788146104725763c48927e41461004c575f80fd5b346103385760031991602036840181136103385782359067ffffffffffffffff9485831161033857610100809184360301126103385783519081018181108782111761045f57845261009f838601610583565b81526001600160a01b039560248401358781168103610338578383019081526044850135828111610338576100d990883691880101610598565b918684019283526100ec60648701610583565b956060850196875260848101358281116103385761010f908a3691840101610598565b966080860197885260a48201359081151582036103385760a0870191825261013960c48401610583565b9260c0880193845260e481013596858811610338578d8d975f6101648f9b958b8f9736920101610598565b9960e08d019a8b526101a6848b849f511694511695519c519c8d9687958694633ac0491160e01b8652850152602484015260606044840152606483019061060d565b03927f0000000000000000000000000000000000000000000000000000000000000000165af19586156104555791888d8c95938e97955f9a61042e575b50908561022f9251169c515f8b6102008a51938492888401610631565b0398610214601f199a8b8101855284610561565b519e8f94859384926319a211df60e31b9d8e85528401610656565b03927f0000000000000000000000000000000000000000000000000000000000000000165af1998a1561042457908d979695949392915f9b6103f9575b50908995949392915161033c575b5050505050501695863b156103385784516383cd9cc360e01b8152938116868501819052935f81602481838c5af1801561032e5761031b575b50863b1561031757845163555e124b60e11b815291169481018590528681602481838a5af1801561030d576102f5575b50606095508251948552840152820152f35b6102ff8791610539565b61030957856102e3565b8580fd5b84513d89823e3d90fd5b8780fd5b610326919850610539565b5f965f6102b3565b86513d5f823e3d90fd5b5f80fd5b61036893949596985061035c9750511693518a5196879189888401610631565b03908101865285610561565b61037c8851948593849384528b8401610656565b03815f8b7f0000000000000000000000000000000000000000000000000000000000000000165af19081156103ef579087915f916103c2575b5091835f8080808061027a565b6103e29150843d86116103e8575b6103da8183610561565b8101906105ee565b5f6103b5565b503d6103d0565b85513d5f823e3d90fd5b8a9695949392919b5061041890873d89116103e8576103da8183610561565b9a90919293949561026c565b8b513d5f823e3d90fd5b61022f92919a5061044c8791853d87116103e8576103da8183610561565b9a9192506101e3565b8a513d5f823e3d90fd5b604186634e487b7160e01b5f525260245ffd5b8234610338575f36600319011261033857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b8234610338575f36600319011261033857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610338575f366003190112610338577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b67ffffffffffffffff811161054d57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff82111761054d57604052565b359067ffffffffffffffff8216820361033857565b81601f820112156103385780359067ffffffffffffffff821161054d57604051926105cd601f8401601f191660200185610561565b8284526020838301011161033857815f926020809301838601378301015290565b9081602091031261033857516001600160a01b03811681036103385790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b0390911681526040602082018190526106539291019061060d565b90565b60409067ffffffffffffffff6106539493168152816020820152019061060d56fea264697066735822122060d3c9df75a621c4d113c39e4aac4a8c1382fc5d24821f7e1bbe3e7376d34ad564736f6c63430008190033","sourceMap":"392:1286:80:-:0;;;;;;;;;;;;;-1:-1:-1;;392:1286:80;;;;-1:-1:-1;;;;;392:1286:80;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;844:28;;;882:36;;928:32;;392:1286;;;;;;;;844:28;392:1286;;;;;;;;;;882:36;392:1286;;;;;;;;;;928:32;392:1286;;;;;;;;;;;;-1:-1:-1;392:1286:80;;;;;;-1:-1:-1;392:1286:80;;;;;-1:-1:-1;392:1286:80;;;;-1:-1:-1;;;;;392:1286:80;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040818152600480361015610014575f80fd5b5f925f3560e01c908163103f2907146104f8575080636da3e06d146104b557806387df0788146104725763c48927e41461004c575f80fd5b346103385760031991602036840181136103385782359067ffffffffffffffff9485831161033857610100809184360301126103385783519081018181108782111761045f57845261009f838601610583565b81526001600160a01b039560248401358781168103610338578383019081526044850135828111610338576100d990883691880101610598565b918684019283526100ec60648701610583565b956060850196875260848101358281116103385761010f908a3691840101610598565b966080860197885260a48201359081151582036103385760a0870191825261013960c48401610583565b9260c0880193845260e481013596858811610338578d8d975f6101648f9b958b8f9736920101610598565b9960e08d019a8b526101a6848b849f511694511695519c519c8d9687958694633ac0491160e01b8652850152602484015260606044840152606483019061060d565b03927f0000000000000000000000000000000000000000000000000000000000000000165af19586156104555791888d8c95938e97955f9a61042e575b50908561022f9251169c515f8b6102008a51938492888401610631565b0398610214601f199a8b8101855284610561565b519e8f94859384926319a211df60e31b9d8e85528401610656565b03927f0000000000000000000000000000000000000000000000000000000000000000165af1998a1561042457908d979695949392915f9b6103f9575b50908995949392915161033c575b5050505050501695863b156103385784516383cd9cc360e01b8152938116868501819052935f81602481838c5af1801561032e5761031b575b50863b1561031757845163555e124b60e11b815291169481018590528681602481838a5af1801561030d576102f5575b50606095508251948552840152820152f35b6102ff8791610539565b61030957856102e3565b8580fd5b84513d89823e3d90fd5b8780fd5b610326919850610539565b5f965f6102b3565b86513d5f823e3d90fd5b5f80fd5b61036893949596985061035c9750511693518a5196879189888401610631565b03908101865285610561565b61037c8851948593849384528b8401610656565b03815f8b7f0000000000000000000000000000000000000000000000000000000000000000165af19081156103ef579087915f916103c2575b5091835f8080808061027a565b6103e29150843d86116103e8575b6103da8183610561565b8101906105ee565b5f6103b5565b503d6103d0565b85513d5f823e3d90fd5b8a9695949392919b5061041890873d89116103e8576103da8183610561565b9a90919293949561026c565b8b513d5f823e3d90fd5b61022f92919a5061044c8791853d87116103e8576103da8183610561565b9a9192506101e3565b8a513d5f823e3d90fd5b604186634e487b7160e01b5f525260245ffd5b8234610338575f36600319011261033857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b8234610338575f36600319011261033857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610338575f366003190112610338577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b67ffffffffffffffff811161054d57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff82111761054d57604052565b359067ffffffffffffffff8216820361033857565b81601f820112156103385780359067ffffffffffffffff821161054d57604051926105cd601f8401601f191660200185610561565b8284526020838301011161033857815f926020809301838601378301015290565b9081602091031261033857516001600160a01b03811681036103385790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b0390911681526040602082018190526106539291019061060d565b90565b60409067ffffffffffffffff6106539493168152816020820152019061060d56fea264697066735822122060d3c9df75a621c4d113c39e4aac4a8c1382fc5d24821f7e1bbe3e7376d34ad564736f6c63430008190033","sourceMap":"392:1286:80:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;392:1286:80;;;;;;-1:-1:-1;392:1286:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;392:1286:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;1133:15;;;392:1286;;;;;;1233:18;;392:1286;;;;;;;;;;;;1168:84;;;;392:1286;;;;;;;;;;;;;;;:::i;:::-;1168:84;1181:13;;392:1286;1168:84;;;;;;;;;;;;;;;;392:1286;1168:84;;;392:1286;;;;1287:108;392:1286;;;1371:22;;392:1286;;1353:41;392:1286;;1353:41;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;392:1286;;;;;;;;;;;1287:108;;;;;;;:::i;:::-;;1304:17;;392:1286;1287:108;;;;;;;;;;;;;;;;392:1286;1287:108;;;392:1286;;;;;;;;;;1406:175;;392:1286;;;;;;;;1591:36;;;;;;392:1286;;-1:-1:-1;;;1591:36:80;;392:1286;;;1591:36;;;392:1286;;;;;;;;;1591:36;;;;;;;;;392:1286;1637:32;;;;;;392:1286;;-1:-1:-1;;;1637:32:80;;392:1286;;1637:32;;;392:1286;;;1637:32;392:1286;;;1637:32;;;;;;;;;;392:1286;;;;;;;;;;;;;;;;;1637:32;;;;;:::i;:::-;392:1286;;1637:32;;;392:1286;;;;1637:32;392:1286;;;;;;;;;1637:32;392:1286;;;1591:36;;;;;;:::i;:::-;392:1286;1591:36;;;;;392:1286;;;;;;;;;1591:36;392:1286;;;1406:175;1530:39;392:1286;;;;;;1530:39;392:1286;;;;1548:20;;392:1286;;1530:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;1470:100;392:1286;;1470:100;;;;;;;;;;;:::i;:::-;;1485:15;392:1286;1485:15;;392:1286;1470:100;;;;;;;;;;392:1286;1470:100;;;1406:175;1444:126;1406:175;;;;;;;;;1470:100;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;392:1286;;;;;;;;;1287:108;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;392:1286;;;;;;;;;1168:84;1287:108;1168:84;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;392:1286;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;392:1286:80;;;;;703:40;-1:-1:-1;;;;;392:1286:80;;;;;;;;;;;;;-1:-1:-1;;392:1286:80;;;;;600:42;-1:-1:-1;;;;;392:1286:80;;;;;;;;;;;;-1:-1:-1;;392:1286:80;;;;501:38;-1:-1:-1;;;;;392:1286:80;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;1353:41;;392:1286;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;1353:41;392:1286;;-1:-1:-1;;392:1286:80;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;392:1286:80;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;392:1286:80;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;392:1286:80;;;;;;;;-1:-1:-1;;392:1286:80;;;;:::o;:::-;-1:-1:-1;;;;;392:1286:80;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i","linkReferences":{},"immutableReferences":{"59980":[{"start":426,"length":32},{"start":1290,"length":32}],"59983":[{"start":563,"length":32},{"start":1225,"length":32}],"59986":[{"start":898,"length":32},{"start":1158,"length":32}]}},"methodIdentifiers":{"DELEGATOR_FACTORY()":"6da3e06d","SLASHER_FACTORY()":"87df0788","VAULT_FACTORY()":"103f2907","create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))":"c48927e4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatorFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"slasherFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"DELEGATOR_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SLASHER_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VAULT_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"vaultParams\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"delegatorIndex\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"delegatorParams\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"withSlasher\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"slasherIndex\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"slasherParams\",\"type\":\"bytes\"}],\"internalType\":\"struct IVaultConfigurator.InitParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))\":{\"params\":{\"params\":\"initial parameters needed for a vault with a delegator and a slasher deployment\"},\"returns\":{\"delegator\":\"address of the delegator\",\"slasher\":\"address of the slasher\",\"vault\":\"address of the vault\"}}},\"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\"}},\"VAULT_FACTORY\":{\"return\":\"address of the vault factory\",\"returns\":{\"_0\":\"address of the vault factory\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DELEGATOR_FACTORY()\":{\"notice\":\"Get the delegator factory's address.\"},\"SLASHER_FACTORY()\":{\"notice\":\"Get the slasher factory's address.\"},\"VAULT_FACTORY()\":{\"notice\":\"Get the vault factory's address.\"},\"create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))\":{\"notice\":\"Create a new vault with a delegator and a slasher.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/VaultConfigurator.sol\":\"VaultConfigurator\"},\"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/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"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/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0xf55d01dac75cffdabec6833a79bf3be0c108fc0db10e273daf7adfd3e9e59dae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://540002a50a2a1a2b9dafffb976178e55adbf8d3a28db462c69f996921479c6b0\",\"dweb:/ipfs/QmQNAFyMf2FW3U1giM4Yej3zzd1pnxMtAA5GoADj4hTYYD\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d\",\"dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"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/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"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/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"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/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/DelegatorFactory.sol\":{\"keccak256\":\"0x3c3fb62c441302f4f75d94703779f5c4bb755c06f310b4c923dbf24d6e0adda9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://597fa8be7179d8a555bf942c1dea0504273a1d34f6ac4c206fc2e816da143e68\",\"dweb:/ipfs/Qmf54DKNYXC7fTMcAFABw68RC6ZFenVgyAPGhbPTf6s5TR\"]},\"src/contracts/SlasherFactory.sol\":{\"keccak256\":\"0xbafc96e3d2511eb62942613645b4f5cbf6f603063a711b30e25940aaba08064c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://489440f1181b1858e3b27a90ec6f514c0c287c602b4779676048213202165867\",\"dweb:/ipfs/QmRG7AQ9m9qHr8ofEvP1Ur8S379fFXTo9rmiWaAtZ9rsUc\"]},\"src/contracts/VaultConfigurator.sol\":{\"keccak256\":\"0x2484ee5cfac134e27cedeeef22d4111d7ecd4a4b62f02381f2c2b67c57ed7955\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://adce2d9b8a9fb670c0f3266d5407b752901921f1c9f9406c7db65d84e48e779a\",\"dweb:/ipfs/QmTbcKhdGfepqexFc8kziqPdfFC8SGZzFrVnEcJ5nKBiPz\"]},\"src/contracts/VaultFactory.sol\":{\"keccak256\":\"0xa9122dd11e5f21fa97a813e90f8c4905f0a4967b9611dd03437a31377cbdecb8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4c2feda1f9c0c7ddf65bccdc99494e4bfbb820fcddc3e4222e3b58ef821424a3\",\"dweb:/ipfs/Qmdmt4rH214jDmDsF9ELvJXVCt8abhk6poSmhJqqzLse3R\"]},\"src/contracts/common/Entity.sol\":{\"keccak256\":\"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138\",\"dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa\"]},\"src/contracts/common/Factory.sol\":{\"keccak256\":\"0x41764643e6a2a3d80d694a3efee91f50a2fd084fb2bcd13566259443840e6369\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fefc1e2a2189275388826f4f82ca421ca79c2866d3ef39dc2c7df46fe7cbf7c9\",\"dweb:/ipfs/QmSJ4VGmgpYUv5ni4ZYoSV4qMuZrk5DLjyB3Vv9NbFgeNZ\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/MigratableEntityProxy.sol\":{\"keccak256\":\"0x78ba27242276232ad10a45265e3c07f0a25722456f6abb3fb3f24a1c8e1b38d1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a19623df688e5085036b59fc934e35b72997f875d7ffda1cdc557c6ca468206d\",\"dweb:/ipfs/QmaQiT5uYZu5JmqhMjTDJnsq3nqaHbKrWAjrxKKLesdHV7\"]},\"src/contracts/common/MigratablesFactory.sol\":{\"keccak256\":\"0x5d1487c3456da4bd0bc2a131eeab97ab92484c923edefaebf190cc08d4080093\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fec38d2e52e9c5148e95599c133fd6fe66d41296d6fc06e7329d2db199a1798f\",\"dweb:/ipfs/QmeiaydBXHHkJRUnpaZH1C6JQ7HPocTvQbUJBqKTvUeEYv\"]},\"src/contracts/common/Registry.sol\":{\"keccak256\":\"0x4a4004836d920953a8ec6e223de9a330f43acf7a5b93c6b8b3e4a95e0f129889\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e8bdda207f3852c683a2b481602239a914f7e26bcd042ade618e263a43b67652\",\"dweb:/ipfs/Qmb8GZykJWxZcfwNp3SqhFizDFydFuV6LXgemV3vnWyLyu\"]},\"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/libraries/Subnetwork.sol\":{\"keccak256\":\"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56\",\"dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32\"]},\"src/contracts/slasher/BaseSlasher.sol\":{\"keccak256\":\"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06\",\"dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/IDelegatorFactory.sol\":{\"keccak256\":\"0x7850453237ca93b301393506d2489a38830a60be0c29f39a4a1aee3508d836e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f418702b883c90e046af92d5654a25849baf79b61c11401ad603b861fed7b80\",\"dweb:/ipfs/Qmdju1XFJXx3uJidzoS7srcoSnzT8jUoPAmGEdbceYgB7j\"]},\"src/interfaces/ISlasherFactory.sol\":{\"keccak256\":\"0x30018af5c2719d9b5cfacbfc0277017896815b3fcc4dfbea78813e6ae81c1e56\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e028fbed23ab973d8d9eb2be4e53a528dd01248e3233f56ab0f8ac9a7c9c220\",\"dweb:/ipfs/Qmd9cHMRSE52ESmxMiu5gTBpRNmDHQK5q18f7UTj8DQke4\"]},\"src/interfaces/IVaultConfigurator.sol\":{\"keccak256\":\"0x699d9b8c767780c4ea593fe7608bc0b3ef7646f54cea0610ae355f2974658eba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ac4081f36b477025213f59c489cbb85f904580b145fa9f18ef9a7b794f0fba2\",\"dweb:/ipfs/QmPE3Ep6pTdaeFsJoixeom3NEaQiTe8WHrLoiFEGJo1zx4\"]},\"src/interfaces/IVaultFactory.sol\":{\"keccak256\":\"0x6f658b264fc8d530e458a98d83a09cb55ace4d3e509f0a3e9294471bb1bcf84d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7253435e4e1d1ae19a50d14091ddb254f6a36f296440106bfc094623dd1aeba\",\"dweb:/ipfs/QmbHK9yoQ7Ctf3nuDLmqxTWPYD8cEm1TKXzfxePtE87AQN\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IFactory.sol\":{\"keccak256\":\"0xe835ebda85d181b70874f6eb53f2a892aa3223d23efe247060da9b51d2b8e969\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48b3dfb5f0491d90efbc8ed498b45358260ebac6e8f2aa0106b8b8fabdc988cb\",\"dweb:/ipfs/QmWnnCs3xiHeUvYfUWMJTSFZWc34bSYn9Zpm7f7syra3TA\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IMigratableEntityProxy.sol\":{\"keccak256\":\"0x9030ced51ad12e0b3ddaa11bba4a3adcfa29e67b909c46065c14b19d158bb9fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d859c21510d1a0f06a71abe21dc6424608c1b2e3194a10e4df4cc88c4de9e9f\",\"dweb:/ipfs/QmNi6Buri2oaujc4vTv6bZ5mgMKFsjUmYmQLUNaDCXFEEt\"]},\"src/interfaces/common/IMigratablesFactory.sol\":{\"keccak256\":\"0xd4dfe9449bf005dbcbab9e0e85eaaca15a601ff971f34182a0b1832dc4b9d124\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff8b73285192a9c64160b008d23a09da33e7164d10a9dc29d1a4464bd9c02be5\",\"dweb:/ipfs/QmZQW2LLV4dQfJ3coENKeycbzXJzi7zdvupsqWA4UV29Gq\"]},\"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/service/INetworkMiddlewareService.sol\":{\"keccak256\":\"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c\",\"dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/slasher/IBurner.sol\":{\"keccak256\":\"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447\",\"dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW\"]},\"src/interfaces/vault/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"delegatorFactory","type":"address"},{"internalType":"address","name":"slasherFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"DELEGATOR_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VAULT_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct IVaultConfigurator.InitParams","name":"params","type":"tuple","components":[{"internalType":"uint64","name":"version","type":"uint64"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes","name":"vaultParams","type":"bytes"},{"internalType":"uint64","name":"delegatorIndex","type":"uint64"},{"internalType":"bytes","name":"delegatorParams","type":"bytes"},{"internalType":"bool","name":"withSlasher","type":"bool"},{"internalType":"uint64","name":"slasherIndex","type":"uint64"},{"internalType":"bytes","name":"slasherParams","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"create","outputs":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"slasher","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))":{"params":{"params":"initial parameters needed for a vault with a delegator and a slasher deployment"},"returns":{"delegator":"address of the delegator","slasher":"address of the slasher","vault":"address of the vault"}}},"version":1},"userdoc":{"kind":"user","methods":{"DELEGATOR_FACTORY()":{"notice":"Get the delegator factory's address."},"SLASHER_FACTORY()":{"notice":"Get the slasher factory's address."},"VAULT_FACTORY()":{"notice":"Get the vault factory's address."},"create((uint64,address,bytes,uint64,bytes,bool,uint64,bytes))":{"notice":"Create a new vault with a delegator and a slasher."}},"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/VaultConfigurator.sol":"VaultConfigurator"},"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/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"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/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Clones.sol":{"keccak256":"0xf55d01dac75cffdabec6833a79bf3be0c108fc0db10e273daf7adfd3e9e59dae","urls":["bzz-raw://540002a50a2a1a2b9dafffb976178e55adbf8d3a28db462c69f996921479c6b0","dweb:/ipfs/QmQNAFyMf2FW3U1giM4Yej3zzd1pnxMtAA5GoADj4hTYYD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0x0a8a5b994d4c4da9f61d128945cc8c9e60dcbc72bf532f72ae42a48ea90eed9a","urls":["bzz-raw://e63ae15b6b1079b9d3c73913424d4278139f9e9c9658316675b9c48d5883a50d","dweb:/ipfs/QmWLxBYfp8j1YjNMabWgv75ELTaK2eEYEEGx7qsJbxVZZq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"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/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"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/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"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/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/DelegatorFactory.sol":{"keccak256":"0x3c3fb62c441302f4f75d94703779f5c4bb755c06f310b4c923dbf24d6e0adda9","urls":["bzz-raw://597fa8be7179d8a555bf942c1dea0504273a1d34f6ac4c206fc2e816da143e68","dweb:/ipfs/Qmf54DKNYXC7fTMcAFABw68RC6ZFenVgyAPGhbPTf6s5TR"],"license":"BUSL-1.1"},"src/contracts/SlasherFactory.sol":{"keccak256":"0xbafc96e3d2511eb62942613645b4f5cbf6f603063a711b30e25940aaba08064c","urls":["bzz-raw://489440f1181b1858e3b27a90ec6f514c0c287c602b4779676048213202165867","dweb:/ipfs/QmRG7AQ9m9qHr8ofEvP1Ur8S379fFXTo9rmiWaAtZ9rsUc"],"license":"BUSL-1.1"},"src/contracts/VaultConfigurator.sol":{"keccak256":"0x2484ee5cfac134e27cedeeef22d4111d7ecd4a4b62f02381f2c2b67c57ed7955","urls":["bzz-raw://adce2d9b8a9fb670c0f3266d5407b752901921f1c9f9406c7db65d84e48e779a","dweb:/ipfs/QmTbcKhdGfepqexFc8kziqPdfFC8SGZzFrVnEcJ5nKBiPz"],"license":"BUSL-1.1"},"src/contracts/VaultFactory.sol":{"keccak256":"0xa9122dd11e5f21fa97a813e90f8c4905f0a4967b9611dd03437a31377cbdecb8","urls":["bzz-raw://4c2feda1f9c0c7ddf65bccdc99494e4bfbb820fcddc3e4222e3b58ef821424a3","dweb:/ipfs/Qmdmt4rH214jDmDsF9ELvJXVCt8abhk6poSmhJqqzLse3R"],"license":"BUSL-1.1"},"src/contracts/common/Entity.sol":{"keccak256":"0x3d61a932995b8443381f3950542d388223a2c26dd5d29a3274dea3baa7388bd7","urls":["bzz-raw://7cdf5f03ca72fd263fd32ff59c8d88ddca911ae83896a287d10772c1bbe9b138","dweb:/ipfs/QmbP84r5BWT1Rn9AYTntWSf3xUMTTCohTZJFhbBhDXFoHa"],"license":"BUSL-1.1"},"src/contracts/common/Factory.sol":{"keccak256":"0x41764643e6a2a3d80d694a3efee91f50a2fd084fb2bcd13566259443840e6369","urls":["bzz-raw://fefc1e2a2189275388826f4f82ca421ca79c2866d3ef39dc2c7df46fe7cbf7c9","dweb:/ipfs/QmSJ4VGmgpYUv5ni4ZYoSV4qMuZrk5DLjyB3Vv9NbFgeNZ"],"license":"BUSL-1.1"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/MigratableEntityProxy.sol":{"keccak256":"0x78ba27242276232ad10a45265e3c07f0a25722456f6abb3fb3f24a1c8e1b38d1","urls":["bzz-raw://a19623df688e5085036b59fc934e35b72997f875d7ffda1cdc557c6ca468206d","dweb:/ipfs/QmaQiT5uYZu5JmqhMjTDJnsq3nqaHbKrWAjrxKKLesdHV7"],"license":"BUSL-1.1"},"src/contracts/common/MigratablesFactory.sol":{"keccak256":"0x5d1487c3456da4bd0bc2a131eeab97ab92484c923edefaebf190cc08d4080093","urls":["bzz-raw://fec38d2e52e9c5148e95599c133fd6fe66d41296d6fc06e7329d2db199a1798f","dweb:/ipfs/QmeiaydBXHHkJRUnpaZH1C6JQ7HPocTvQbUJBqKTvUeEYv"],"license":"BUSL-1.1"},"src/contracts/common/Registry.sol":{"keccak256":"0x4a4004836d920953a8ec6e223de9a330f43acf7a5b93c6b8b3e4a95e0f129889","urls":["bzz-raw://e8bdda207f3852c683a2b481602239a914f7e26bcd042ade618e263a43b67652","dweb:/ipfs/Qmb8GZykJWxZcfwNp3SqhFizDFydFuV6LXgemV3vnWyLyu"],"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/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/libraries/Subnetwork.sol":{"keccak256":"0xf5ef5506fd66082b3c2e7f3df37529f5a8efad32ac62e7c8914bd63219190bfe","urls":["bzz-raw://ba031a54ee0d0e9a270c2b9e18437f5668cfeb659cfd5fe0677459d7fcac2a56","dweb:/ipfs/QmReP3H7qQ78tAfgLnJKsNEQNCQfF1X1Get38Ffd4kzq32"],"license":"MIT"},"src/contracts/slasher/BaseSlasher.sol":{"keccak256":"0x190e5dce196a061bdad42468c52e9f5b0eb7810cd7d0c19f04d6a2e94984f1b6","urls":["bzz-raw://07ca08d0cd43c2fe5d54a5577f6bdd522ced410f5d3a52e764deaa7ba26b5f06","dweb:/ipfs/QmZe3PiMKBQKWcwodaLupragdqxPjgS4v1qMC7RXau8hDF"],"license":"BUSL-1.1"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/IDelegatorFactory.sol":{"keccak256":"0x7850453237ca93b301393506d2489a38830a60be0c29f39a4a1aee3508d836e6","urls":["bzz-raw://8f418702b883c90e046af92d5654a25849baf79b61c11401ad603b861fed7b80","dweb:/ipfs/Qmdju1XFJXx3uJidzoS7srcoSnzT8jUoPAmGEdbceYgB7j"],"license":"MIT"},"src/interfaces/ISlasherFactory.sol":{"keccak256":"0x30018af5c2719d9b5cfacbfc0277017896815b3fcc4dfbea78813e6ae81c1e56","urls":["bzz-raw://5e028fbed23ab973d8d9eb2be4e53a528dd01248e3233f56ab0f8ac9a7c9c220","dweb:/ipfs/Qmd9cHMRSE52ESmxMiu5gTBpRNmDHQK5q18f7UTj8DQke4"],"license":"MIT"},"src/interfaces/IVaultConfigurator.sol":{"keccak256":"0x699d9b8c767780c4ea593fe7608bc0b3ef7646f54cea0610ae355f2974658eba","urls":["bzz-raw://9ac4081f36b477025213f59c489cbb85f904580b145fa9f18ef9a7b794f0fba2","dweb:/ipfs/QmPE3Ep6pTdaeFsJoixeom3NEaQiTe8WHrLoiFEGJo1zx4"],"license":"MIT"},"src/interfaces/IVaultFactory.sol":{"keccak256":"0x6f658b264fc8d530e458a98d83a09cb55ace4d3e509f0a3e9294471bb1bcf84d","urls":["bzz-raw://a7253435e4e1d1ae19a50d14091ddb254f6a36f296440106bfc094623dd1aeba","dweb:/ipfs/QmbHK9yoQ7Ctf3nuDLmqxTWPYD8cEm1TKXzfxePtE87AQN"],"license":"MIT"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IFactory.sol":{"keccak256":"0xe835ebda85d181b70874f6eb53f2a892aa3223d23efe247060da9b51d2b8e969","urls":["bzz-raw://48b3dfb5f0491d90efbc8ed498b45358260ebac6e8f2aa0106b8b8fabdc988cb","dweb:/ipfs/QmWnnCs3xiHeUvYfUWMJTSFZWc34bSYn9Zpm7f7syra3TA"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IMigratableEntityProxy.sol":{"keccak256":"0x9030ced51ad12e0b3ddaa11bba4a3adcfa29e67b909c46065c14b19d158bb9fd","urls":["bzz-raw://2d859c21510d1a0f06a71abe21dc6424608c1b2e3194a10e4df4cc88c4de9e9f","dweb:/ipfs/QmNi6Buri2oaujc4vTv6bZ5mgMKFsjUmYmQLUNaDCXFEEt"],"license":"MIT"},"src/interfaces/common/IMigratablesFactory.sol":{"keccak256":"0xd4dfe9449bf005dbcbab9e0e85eaaca15a601ff971f34182a0b1832dc4b9d124","urls":["bzz-raw://ff8b73285192a9c64160b008d23a09da33e7164d10a9dc29d1a4464bd9c02be5","dweb:/ipfs/QmZQW2LLV4dQfJ3coENKeycbzXJzi7zdvupsqWA4UV29Gq"],"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/service/INetworkMiddlewareService.sol":{"keccak256":"0x347afc7fcf1fbcdb96d66162070ef6c78aed27b3af2c1d5dfb4e511840631783","urls":["bzz-raw://2d90b8ceb495159e8e4e95d76447719dd166443f67dfabdd942846162071595c","dweb:/ipfs/QmVVuiAWYx92T6vBvNMKZfTvraCf1fa16BsUKkdNs3hdHA"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/slasher/IBurner.sol":{"keccak256":"0xaf495dacc19ae0b3c787ba8021c5944927d70261536addd234d7dab146158c2b","urls":["bzz-raw://9b3cc66251008be6ff9fc8b11ecc6831d5a9dca49a3fe9817fcd970253c1d447","dweb:/ipfs/QmVxfb9ALGdF9W3SN2h41gQbUct6tawvu5bw4K89kFQ4HW"],"license":"MIT"},"src/interfaces/vault/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":80} \ No newline at end of file diff --git a/out/VaultHints.sol/VaultHints.json b/out/VaultHints.sol/VaultHints.json index 8e37fa1..af1f658 100644 --- a/out/VaultHints.sol/VaultHints.json +++ b/out/VaultHints.sol/VaultHints.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"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":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","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":"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":"activeBalanceOfHints","inputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"activeSharesHint","inputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"activeSharesHintInternal","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"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":"activeSharesOfHint","inputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOfHintInternal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"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":"activeStakeHint","inputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"activeStakeHintInternal","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"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":"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":"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":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"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":"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":"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":"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":"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":"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":"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":"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":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DelegatorAlreadyInitialized","inputs":[]},{"type":"error","name":"DepositLimitReached","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientClaim","inputs":[]},{"type":"error","name":"InsufficientDeposit","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":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","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"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]}],"bytecode":{"object":"0x610100806040523461011057306080525f60a0525f60c0527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661010157506001600160401b036002600160401b0319828216016100bc575b5f60e0526040516151c6908161011582396080518181816110580152818161133001526123a4015260a05181818161137c01526118c9015260c051818181611a320152611ee2015260e0518181816107e10152610a2d0152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610062565b63f92ee8a960e01b8152600490fd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104a45780631415519b1461049f5780631b66c9e11461049a5780631e9a695014610495578063248a9ca31461049057806327810b6e1461048b578063281f5752146104865780632abe3048146104815780632d73c69c1461047c5780632dd31000146104775780632f2ff15d1461047257806336568abe1461046d578063392e53cd146104685780634105a7dd14610463578063463616711461045e57806347e7ef241461045957806348d3b775146104545780634ff0876a1461044f57806350861adc1461044a57806350f22068146104455780635346e34f1461044057806354fd4d501461043b57806355a2c6721461043657806357ec83cc1461043157806359f769a91461042c5780635cc070761461042757806361a8c8c41461042257806364b03fdc1461041d57806367567add146104185780636da3e06d146104135780636ec1e3f81461040e578063715018a6146104095780637278e31c1461040457806373790ab3146103ff57806376671808146103fa578063794b15b7146103f55780637953b33b146103f05780637c04c80a146103eb578063810da75d146103e65780638326056f146103e157806383cd9cc3146103dc57806387df0788146103d75780638b0e9f3f146103d25780638da5cb5b146103cd57806391d14854146103c85780639d66201b146103c35780639f86fd85146103be578063a1b12202146103b9578063a217fddf146103b4578063a21a1df9146103af578063a2861466146103aa578063a3b54172146103a5578063a5d03223146103a0578063aabc24961461039b578063aad3ec9614610396578063afba70ad14610391578063b13442711461038c578063bd49c35f14610387578063bdc8144b14610382578063bfefcd7b1461037d578063c31e8dd714610378578063ce9b793014610373578063d547741f1461036e578063d8dfeb4514610369578063db38871514610364578063de4997161461035f578063eb5562381461035a578063ecf7085814610355578063efb559d614610350578063f2fde38b1461034b578063f3fef3a314610346578063f5e7ee0f146103415763f9e1bf6c1461033c575f80fd5b612649565b61261f565b612579565b61254c565b6123fd565b6123e0565b61238c565b612372565b612306565b6122db565b61228f565b612267565b6121fd565b6121e3565b612105565b6120eb565b6120c3565b612099565b611fd8565b611e21565b611ddb565b611d8e565b611c9b565b611c61565b611c47565b611c23565b611b8f565b611b55565b611af7565b611ac3565b611a61565b611a1d565b611864565b61184a565b611831565b6117cb565b6117a4565b611764565b61174a565b611709565b611437565b6113d0565b6113ab565b611367565b611311565b6112e3565b611247565b61121d565b6111f6565b6110be565b611039565b611007565b610f72565b610f59565b610efc565b610edc565b610ebb565b610bfd565b610bd5565b610b3a565b610af5565b610aaa565b610a5c565b610a18565b6109a4565b61079b565b6106cd565b6106a5565b61066c565b610583565b610538565b6104fe565b346104fa5760203660031901126104fa5760043563ffffffff60e01b81168091036104fa57602090637965db0b60e01b81149081156104e9575b506040519015158152f35b6301ffc9a760e01b1490505f6104de565b5f80fd5b346104fa575f3660031901126104fa5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346104fa575f3660031901126104fa5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036104fa57565b346104fa5760403660031901126104fa576004356105a081610572565b602435906105ac61307d565b6001600160a01b0381161561065b57335f908152600e602052604090206105d790614489565b614489565b8211610649576105f76105e861439c565b6105f0614415565b90846144cc565b9182156106345782610608926130ac565b9061061f60015f8051602061515183398151915255565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346104fa5760203660031901126104fa576004355f525f805160206151318339815191526020526020600160405f200154604051908152f35b346104fa575f3660031901126104fa576001546040516001600160a01b039091168152602090f35b346104fa575f3660031901126104fa576106e5612c63565b80156107465760015465ffffffffffff8160a01c16915f198101908111610741576107139160d01c90612692565b81018091116107415761072861063091613226565b60405165ffffffffffff90911681529081906020820190565b612663565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b03821682036104fa57565b9181601f840112156104fa578235916001600160401b0383116104fa57602083818601950101116104fa57565b346104fa5760403660031901126104fa576107b4610758565b6001600160401b036024358181116104fa576107d490369060040161076e565b9290916107df61307d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610859575f80516020615171833981519152549060ff8260401c16928315610849575b50505015613258575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f808061082e565b604051631966391b60e11b8152600490fd5b65ffffffffffff8116036104fa57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176108aa57604052565b61087b565b604081019081106001600160401b038211176108aa57604052565b608081019081106001600160401b038211176108aa57604052565b90601f801991011681019081106001600160401b038211176108aa57604052565b6040519061016082018281106001600160401b038211176108aa57604052565b60405190610933826108af565b565b6001600160401b0381116108aa57601f01601f191660200190565b92919261095c82610935565b9161096a60405193846108e5565b8294818452818301116104fa578281602093845f960137010152565b9080601f830112156104fa578160206109a193359101610950565b90565b346104fa5760603660031901126104fa576004356109c181610572565b602435906109ce8261086b565b604435906001600160401b0382116104fa576020926109f4610a10933690600401610986565b6001600160a01b039092165f908152600e855260409020613416565b604051908152f35b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa5760403660031901126104fa57610aa8602435600435610a7f82610572565b805f525f80516020615131833981519152602052610aa3600160405f2001546135ed565b6138ed565b005b346104fa5760403660031901126104fa57602435610ac781610572565b336001600160a01b03821603610ae357610aa890600435613923565b60405163334bd91960e11b8152600490fd5b346104fa575f3660031901126104fa5760ff60025460a01c1680610b21575b6020906040519015158152f35b5060035460a01c60ff16610b14565b801515036104fa57565b346104fa5760203660031901126104fa57600435610b5781610b30565b610b5f61307d565b610b676134e2565b5f54901515908160ff8216151514610bc35760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f8051602061515183398151915255005b60405163a741a04560e01b8152600490fd5b346104fa575f3660031901126104fa57602065ffffffffffff60015460a01c16604051908152f35b346104fa576040806003193601126104fa576004803591610c1d83610572565b610c2561307d565b6001600160a01b0391838316908115610ead575f5460ff811680610e94575b610e855783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610e5d575f93610e62575b50610c999060243590309033906139b5565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610e5d57610cd8935f92610e30575b5050612685565b938415610e215760081c60ff1680610e0c575b610dfe57509061063091610d9c610d0061439c565b95610d49610d0c614415565b610d34610d1a8a838b6144cc565b99610d2e8a610d2842613226565b926126b3565b90613b09565b5050610d4389610d2842613226565b90613be9565b50506001600160a01b0381165f908152600e6020526040902090610d9688610d916105d2610d7642613226565b6001600160a01b039095165f908152600e6020526040902090565b6126b3565b91613cc5565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610de860015f8051602061515183398151915255565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610e1984610d9161439c565b815410610ceb565b50825163070f6eed60e11b8152fd5b610e4f9250803d10610e56575b610e4781836108e5565b8101906126e1565b5f80610cd1565b503d610e3d565b6126f0565b610c99919350610e7e90853d8711610e5657610e4781836108e5565b9290610c87565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610c44565b8251630d534ce360e11b8152fd5b346104fa575f3660031901126104fa57602060ff5f54166040519015158152f35b346104fa575f3660031901126104fa57602060015460d01c604051908152f35b346104fa575f3660031901126104fa57602060ff60025460a01c166040519015158152f35b9060406003198301126104fa57600435610f3a8161086b565b91602435906001600160401b0382116104fa576109a191600401610986565b346104fa576020610a10610f6c36610f21565b9061328c565b346104fa5760203660031901126104fa57600435610f8f81610b30565b610f9761307d565b610f9f61353f565b5f54901515908160ff8260081c16151514610bc35761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610aa860015f8051602061515183398151915255565b346104fa575f3660031901126104fa5760206001600160401b035f805160206151718339815191525416604051908152f35b346104fa5760203660031901126104fa576004356110568161086b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036110ac5761108f90613da7565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b346104fa5760603660031901126104fa576110d7610758565b6024356110e381610572565b6001600160401b03916044358381116104fa5761110490369060040161076e565b5f805160206151718339815191529491855494838616806111e55760ff8760401c169081156111d8575b50610837577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966111d39661119b958716906001600160401b0319161790556111965f80516020615171833981519152600160401b68ff000000000000000019825416179055565b6126fb565b5f80516020615171833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f61112e565b60405162dc149f60e41b8152600490fd5b346104fa5760203660031901126104fa576020610a1060043561121881610572565b612b1b565b346104fa5760203660031901126104fa576004355f526006602052602060405f2054604051908152f35b346104fa575f3660031901126104fa5760015465ffffffffffff61127d818360a01c1692611273612c63565b9060d01c90612692565b820180921161074157611291602092613226565b60405191168152f35b60409060031901126104fa576004356112b281610572565b906024356109a18161086b565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346104fa576106306112fd6112f73661129a565b90612ba9565b6040519182916020835260208301906112bf565b346104fa5760203660031901126104fa5760043561132e8161086b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036110ac5761108f90613eac565b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa575f3660031901126104fa57602060ff60035460a01c166040519015158152f35b346104fa575f3660031901126104fa576113e86141f3565b5f805160206150d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104fa5760403660031901126104fa576004356024356114578161086b565b61145f61307d565b60035461147c906001600160a01b03165b6001600160a01b031690565b33036116f75761148a612c63565b9061149481612c97565b90821515806116e6575b80156116dd575b6116cb57610630937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926114d761439c565b946114f26114e4826126a5565b5f52600660205260405f2090565b54908281036115e5575061150681876126b3565b83811881851002811896878061159e575b50505050505b8361156a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161155a60015f8051602061515183398151915255565b6040519081529081906020820190565b5f546115999085906115879060101c6001600160a01b0316611470565b6001546001600160a01b0316906142c2565b611523565b6115da93610cd183610d2e6115c46115bd6114e4986115d49888614235565b8096612685565b946115ce42613226565b92612685565b926126a5565b555f80808087611517565b91506115f9825f52600660205260405f2090565b549061160981610d91848a6126b3565b908482188286100282189788611624575b505050505061151d565b611699938361164c936116598c61165461164261168a998884614235565b9788958584614235565b948592612685565b612685565b938484106116a4575b610cd190610d2e6116789596976115ce42613226565b6116846114e4876126a5565b55612685565b915f52600660205260405f2090565b555f8080808061161a565b916116c0610cd1916116ba866116789798612685565b906126b3565b859450929050611662565b604051635e18d2a560e01b8152600490fd5b508282116114a5565b506116f083612677565b821061149e565b60405163dabc4ad960e01b8152600490fd5b346104fa575f3660031901126104fa5760015465ffffffffffff808260a01c1691611732612c63565b600181018091116107415761127d9160d01c90612692565b346104fa575f3660031901126104fa576020610a10612c63565b346104fa5760203660031901126104fa5760043561178181610572565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346104fa5760203660031901126104fa576020610a106004356117c68161086b565b612c97565b346104fa5760403660031901126104fa576004356117e881610572565b6024356001600160401b038082116104fa57366023830112156104fa5781600401359081116104fa573660248260051b840101116104fa5761063092602461155a930190612cd2565b346104fa576020610a1061184436610f21565b90613361565b346104fa576106306112fd61185e3661129a565b90612e00565b346104fa576020806003193601126104fa57600480359061188482610572565b61188c61307d565b60025460a01c60ff16611a0e576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e5d575f916119e1575b50156119d15760405163fbfa77cf60e01b8152838516949082818581895afa928315610e5d575f936119a2575b5050309116036119935750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610aa860015f8051602061515183398151915255565b60405163b9f0f17160e01b8152fd5b6119c2929350803d106119ca575b6119ba81836108e5565b810190612e57565b905f80611926565b503d6119b0565b506040516324e5af8d60e21b8152fd5b611a019150823d8411611a07575b6119f981836108e5565b810190612e37565b5f6118f9565b503d6119ef565b604051631380833b60e01b8152fd5b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa575f3660031901126104fa57611a79612c63565b611a8161439c565b90805f52600660205260405f205482018092116107415760018101809111610741575f52600660205260405f2054810180911161074157602090604051908152f35b346104fa575f3660031901126104fa575f805160206150d1833981519152546040516001600160a01b039091168152602090f35b346104fa5760403660031901126104fa57602060ff611b49602435611b1b81610572565b6004355f525f80516020615131833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346104fa5760203660031901126104fa57600435611b7281610572565b60018060a01b03165f52600e6020526020610a1060405f20614489565b346104fa5760403660031901126104fa57600435611bac81610572565b6024356001600160401b0381116104fa575f91611bce8392369060040161076e565b90816040519283928337810184815203915af4611c1b611bec612e6c565b91611c0d6040519384921515602084015260408084015260608301906112bf565b03601f1981018352826108e5565b805190602001fd5b346104fa575f3660031901126104fa57602060ff5f5460081c166040519015158152f35b346104fa575f3660031901126104fa5760206040515f8152f35b346104fa575f3660031901126104fa5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346104fa5760403660031901126104fa57600435611cb881610572565b602435611cc481610b30565b611ccc61307d565b611cd4613596565b6001600160a01b038216918215611d7c575f8381526005602052604090205460ff16151582151514610bc3576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a6291611d6391611d51908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610aa860015f8051602061515183398151915255565b604051630da30f6560e31b8152600490fd5b346104fa5760403660031901126104fa576020611dd2602435611db081610572565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346104fa5760403660031901126104fa57602060ff611b49602435611dff81610572565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346104fa576020806003193601126104fa576004803590611e4182610572565b611e4961307d565b60035460a01c60ff16611fc9576001600160a01b03828116939084611eb7575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610aa860015f8051602061515183398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e5d575f91611fac575b5015611f9b5760405163fbfa77cf60e01b815282818581895afa928315610e5d575f93611f7c575b505030911603611f6d5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080611e69565b604051633f3e089160e21b8152fd5b611f93929350803d106119ca576119ba81836108e5565b905f80611f3a565b60405163dabc4ad960e01b81528390fd5b611fc39150833d8511611a07576119f981836108e5565b5f611f12565b60405163703fe2e560e01b8152fd5b346104fa5760403660031901126104fa57600435611ff581610572565b6024359061200161307d565b6001600160a01b0391818316908115612087576120326106309461202483614300565b9485915f5460101c166142c2565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020615151833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346104fa5760203660031901126104fa576004355f526007602052602060405f2054604051908152f35b346104fa575f3660031901126104fa576003546040516001600160a01b039091168152602090f35b346104fa575f3660031901126104fa576020610a1061439c565b346104fa5760203660031901126104fa5760043561212161307d565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff16156121c557508060045414610bc3576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f8051602061515183398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346104fa575f3660031901126104fa576020610a10614415565b346104fa5760203660031901126104fa5760043561221a81610572565b612222612c63565b61222b82612b1b565b916122368183612f56565b830180931161074157600182018092116107415761225391612f56565b810180911161074157602090604051908152f35b346104fa575f3660031901126104fa576002546040516001600160a01b039091168152602090f35b346104fa5760403660031901126104fa57610aa86024356004356122b282610572565b805f525f805160206151318339815191526020526122d6600160405f2001546135ed565b613923565b346104fa575f3660031901126104fa575f5460405160109190911c6001600160a01b03168152602090f35b346104fa575f3660031901126104fa5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b60609060031901126104fa5760043561235881610572565b9060243561236581610572565b906044356109a18161086b565b346104fa576106306112fd61238636612340565b91612e9b565b346104fa5761239a3661129a565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811633036110ac5761108f92165f52600e60205260405f20613f72565b346104fa575f3660031901126104fa576020600454604051908152f35b346104fa5760603660031901126104fa5760043561241a81610572565b602435906124278261086b565b6001600160401b03916044358381116104fa5761244890369060040161076e565b909260409384516124588161088f565b606081526060602082015260608682015292806124b7575b610630866124a887876124a261248989848451916126c0565b9285612499602085015183613361565b9301519061328c565b916144cc565b90519081529081906020820190565b81019392506020818503126104fa578035908682116104fa5701926060848203126104fa578451956124e88761088f565b84358181116104fa57826124fd918701610986565b875260208501358181116104fa5782612517918701610986565b6020880152858501359081116104fa57610630966125406124a293612489936124a89801610986565b87820152939450612470565b346104fa5760203660031901126104fa57610aa860043561256c81610572565b6125746141f3565b612ee5565b346104fa5760403660031901126104fa5760043561259681610572565b6024356125a161307d565b6001600160a01b0382161561065b57801561260d576125d06125c1614415565b6125c961439c565b90836148d3565b335f908152600e602052604090209092906125ea90614489565b83116125fb576106089183916130ac565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346104fa5760403660031901126104fa576020610a1060243561264181610572565b600435612f56565b346104fa576106306112fd61265d36612340565b91612fb4565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161074157565b9190820391821161074157565b8181029291811591840414171561074157565b906001820180921161074157565b9190820180921161074157565b6001600160a01b03165f908152600e602052604090206109a1929190613416565b908160209103126104fa575190565b6040513d5f823e3d90fd5b9161274d9161273e9161270c614d20565b612714614d20565b60015f80516020615151833981519152556001600160a01b0394808616612b01575b503691610950565b6020808251830101910161405c565b805182166001600160a01b031615612aef57604080820165ffffffffffff61277b825165ffffffffffff1690565b1615612ade5760c08301805190929061279c906001600160a01b0316611470565b1561298f575b50916128db6101409261287a612855612939966127f06127c8875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b0390921691909117905561284961282042613226565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b61289a61288a6060850151151590565b60ff80195f541691151516175f55565b6128c16128aa6080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6128ce60a0840151600455565b516001600160a01b031690565b84811661297f575b5060e08101516001600160a01b031684811661296f575b506101008101516001600160a01b031684811661295f575b506101208101516001600160a01b031684811661294f575b5001516001600160a01b031690565b9081166129435750565b61294c9061387e565b50565b6129589061380f565b505f61292a565b612968906137a0565b505f612912565b612978906136ca565b505f6128fa565b61298890613619565b505f6128e3565b60e08401516129a6906001600160a01b0316611470565b15612a7b575b6101208401516129c4906001600160a01b0316611470565b6127a257608084015115612a315760a08401511580612a12575b612a025750916128db6101409261287a612855612939965b949650505092506127a2565b5163183c854560e21b8152600490fd5b50610140840151612a2b906001600160a01b0316611470565b156129de565b60a084015115801590612a5b575b612a025750916128db6101409261287a612855612939966129f6565b50610140840151612a74906001600160a01b0316611470565b1515612a3f565b606084015115612ab157610100840151612a9d906001600160a01b0316611470565b6129ac575163183c854560e21b8152600490fd5b610100840151612ac9906001600160a01b0316611470565b156129ac575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b612b1590612b0d614d20565b612574614d20565b5f612736565b6001600160a01b03165f908152600e60205260409020612b3a90614489565b612b4261439c565b612b4a614415565b90600181018091116107415760018201809211610741576109a192614235565b519061093382610b30565b519063ffffffff821682036104fa57565b91908260409103126104fa576109a160208351612ba281610b30565b9301612b75565b9190612be5612bf49160609465ffffffffffff604051926367567add60e01b602085015216602483015260248252612be08261088f565b614125565b60208082518301019101612b86565b90612bfc5750565b90915063ffffffff60405191166020820152602081526109a1816108af565b65ffffffffffff918216908216039190821161074157565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612c5e57160490565b612c33565b612c6c42613226565b612c93600154612c8965ffffffffffff93848360a01c1690612c1b565b9060d01c90612c47565b1690565b6001549065ffffffffffff91828160a01c16918284821610612cc057612c9392612c8991612c1b565b60405163b7d0949760e01b8152600490fd5b90612cdb61307d565b5f926001600160a01b038316928315612087578115612d93575f5b828110612d7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612d46918491612d419060101c6001600160a01b0316611470565b6142c2565b612d57604051928392339684612dce565b0390a39061093360015f8051602061515183398151915255565b94612d8c6001916116ba612d86898789612db9565b35614300565b9501612cf6565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612dc95760051b0190565b612da5565b604080825281018390529392916001600160fb1b0381116104fa5760209160609160051b809183880137850101930152565b9190612be5612bf49160609465ffffffffffff60405192632ad1633960e11b602085015216602483015260248252612be08261088f565b908160209103126104fa57516109a181610b30565b519061093382610572565b908160209103126104fa57516109a181610572565b3d15612e96573d90612e7d82610935565b91612e8b60405193846108e5565b82523d5f602084013e565b606090565b604051631d6aac4760e31b60208201526001600160a01b03909216602483015265ffffffffffff909216604480830191909152815260609291612bf491612be591612be0826108ca565b6001600160a01b03908116908115612f3e575f805160206150d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612f7c90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107415760018201809211610741576109a192614235565b92919092612fd9612fc88360609684612e9b565b92612fd38184612ba9565b92612e00565b90825115801590613073575b8015613069575b612ff557505050565b6130429394506109a19291611c0d91604051936130118561088f565b84526020840190815260408401918252613058604051968795602080880152516060604088015260a08701906112bf565b915191603f1992838783030160608801526112bf565b9151908483030160808501526112bf565b5081511515612fec565b5080511515612fe5565b5f80516020615151833981519152600281541461309a5760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e60205260409020939291906130c742613226565b335f908152600e602052604090206130de90614489565b91848303928311610741576131197febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9385936131a499613cc5565b505061313361312742613226565b610d4387611654614415565b505061314d61314142613226565b610d2e8461165461439c565b50506131f2816131dd613166613161612c63565b6126a5565b6131bc61317b825f52600660205260405f2090565b5461318e835f52600760205260405f2090565b5461319a82828b6144cc565b9d8e998a936126b3565b6131b6855f52600660205260405f2090565b556126b3565b6131ce825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6131fd8382546126b3565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b65ffffffffffff90818111613239571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b6104fa913691610950565b908160209103126104fa576109a190612b75565b90600163ffffffff8093160191821161074157565b9080511561335757806020806132a793518301019101613263565b6132b081614711565b906132c1825165ffffffffffff1690565b9065ffffffffffff808516921682811461334b57821191826132f7575b50506132ee57506109a1906144ed565b60209150015190565b909150613305600a54612677565b63ffffffff83161491821561331e575b50505f806132de565b61334391925061284961333361333892613277565b614711565b65ffffffffffff1690565b115f80613315565b50505060209150015190565b506109a1906144ed565b9080511561340c578060208061337c93518301019101613263565b61338581614796565b90613396825165ffffffffffff1690565b9065ffffffffffff808516921682811461334b57821191826133c3575b50506132ee57506109a19061459e565b9091506133d1600c54612677565b63ffffffff8316149182156133ea575b50505f806133b3565b6134049192506128496133ff61333892613277565b614796565b115f806133e1565b506109a19061459e565b918051156134d8578060208061343193518301019101613263565b9161343c8382614811565b9261344d845165ffffffffffff1690565b9065ffffffffffff80851692168281146134cc5782119182613483575b505061347a576109a19250614648565b50506020015190565b9091506134908354612677565b63ffffffff8316149182156134a9575b50505f8061346a565b6134c49192506128496134be61333892613277565b85614811565b115f806134a0565b50505050506020015190565b506109a191614648565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156121c55750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613535565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613535565b5f8181525f8051602061513183398151915260209081526040808320338452909152902060ff90613535565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206151318339815191529060ff166136c4575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206151318339815191529060ff905b5416613799575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206151318339815191529060ff90613735565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206151318339815191529060ff90613735565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206151318339815191529060ff90613735565b5f8181525f80516020615131833981519152602081815260408084206001600160a01b038716855290915290912060ff90613735565b5f8181525f80516020615131833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613799575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176108aa5761093392604052614879565b600b54811015612dc957600b5f525f8051602061511183398151915201905f90565b600d54811015612dc957600d5f525f805160206150f183398151915201905f90565b8054821015612dc9575f5260205f2001905f90565b600d54600160401b8110156108aa576001810180600d55811015612dc957600d5f525f805160206150f18339815191520155565b600b54600160401b8110156108aa576001810180600b55811015612dc957600b5f525f805160206151118339815191520155565b90815491600160401b8310156108aa5782613af191600161093395018155613a51565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613bb4575b50613b2161490c565b50929091815492613b3061439c565b9481613b9f575b5015613b7c57505f1982018281116107415781541115612dc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613b90926001600160d01b03169150614e67565b5050613b9b83613a66565b9190565b65ffffffffffff83811691161490505f613b37565b600160401b8110156108aa5760018101808455811015612dc9575f908382525f805160206150f183398151915201555f613b18565b919091600b9081548015613c90575b50613c01614961565b50929091815492613c10614415565b9481613c7b575b5015613c5c57505f1982018281116107415781541115612dc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613c70926001600160d01b03169150614f37565b5050613b9b83613a9a565b65ffffffffffff83811691161490505f613c17565b600160401b8110156108aa5760018101808455811015612dc9575f908382525f8051602061511183398151915201555f613bf8565b90929192600182019081548015613d53575b5084613ce2846149b6565b50949092845493613cf283614489565b9681613d3e575b5015613d1b575050505f19810190811161074157613af18591613b9b93613a51565b613b9b949293613d37926001600160d01b039091169190614fd6565b5050613ace565b65ffffffffffff83811691161490505f613cf9565b600160401b8110156108aa57806001613d6f9201845583613a51565b8154905f199060031b1b191690555f613cd7565b90604051613d90816108af565b915465ffffffffffff8116835260301c6020830152565b600a54905f829160058411613e52575b613dc19350614b1a565b8015613e4757613df1613dec613dd683612677565b600a5f525f805160206150b18339815191520190565b613d83565b91613e40613e37613e31613e27613e226020613e13895165ffffffffffff1690565b9801516001600160d01b031690565b613a0d565b90549060031b1c90565b93612677565b63ffffffff1690565b6001939291565b505f905f905f905f90565b9192613e5d816149ef565b810390811161074157600a5f525f805160206150b1833981519152810154613dc1949065ffffffffffff9081169085161015613e9a575091613db7565b929150613ea6906126a5565b90613db7565b600c54905f829160058411613f18575b613ec69350614b83565b8015613e4757613ef1613dec613edb83612677565b600c5f525f805160206150918339815191520190565b91613e40613e37613e31613e27613f136020613e13895165ffffffffffff1690565b613a2f565b9192613f23816149ef565b810390811161074157600c5f525f80516020615091833981519152810154613ec6949065ffffffffffff9081169085161015613f60575091613ebc565b929150613f6c906126a5565b90613ebc565b91908254905f829160058411613ff5575b613f8e935085614cbe565b908115613fe957613e40613e37613e31613e27613fbb613dec613fb088612677565b895f5260205f200190565b966001613fe26020613fd38b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101613a51565b5f925082915081908190565b9192614000816149ef565b810390811161074157613f8e93865f526140296133388360205f200165ffffffffffff90541690565b65ffffffffffff8516101561403f575091613f83565b92915061404b906126a5565b90613f83565b51906109338261086b565b90816101609103126104fa57614070610906565b9061407a81612e4c565b825261408860208201612e4c565b602083015261409960408201614051565b60408301526140aa60608201612b6a565b60608301526140bb60808201612b6a565b608083015260a081015160a08301526140d660c08201612e4c565b60c08301526140e760e08201612e4c565b60e08301526101006140fa818301612e4c565b9083015261012061410c818301612e4c565b9083015261411e610140809201612e4c565b9082015290565b905f8060409384519360209461415c81611c0d88820194639f86fd8560e01b86523060248401528a604484015260648301906112bf565b51915afa50614169612e6c565b805181019280828486019503126104fa57828201519161418883610b30565b81810151906001600160401b0382116104fa57019084603f830112156104fa57838201516141b581610935565b956141c2835197886108e5565b8187528282850101116104fa578085925f94018388015e85010152156141e6575090565b9080519182156104fa5701fd5b5f805160206150d1833981519152546001600160a01b0316330361421357565b60405163118cdaa760e01b8152336004820152602490fd5b8115612c5e570490565b91818302915f19818509938380861095039480860395146142b557848311156142a85790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614d4e565b5050906109a1925061422b565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152610933916142fb826108ca565b614879565b90614309612c63565b82101561438a575f82815260096020908152604080832033845290915290205460ff166143785761433a3383612f56565b918215614366575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600c54806143dc57505f5b6001600160d01b038116156143d757600d54811015612dc957600d5f525f805160206150f1833981519152015490565b505f90565b805f1981011161074157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c6143a7565b600a548061445057505f5b6001600160d01b038116156143d757600b54811015612dc957600b5f525f80516020615111833981519152015490565b805f1981011161074157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c614420565b8054806144ae57505f5b6001600160d01b038116156136c4576001613e279201613a51565b5f1990808281011161074157825f5260205f2001015460301c614493565b9190600181018091116107415760018201809211610741576109a192614235565b600a54905f829160058411614545575b6145079350614bec565b8061452a57505f5b6001600160d01b038116156143d757613e276109a191613a0d565b614539613dd661454092612677565b5460301c90565b61450f565b9192614550816149ef565b81039081116107415761450793600a5f5265ffffffffffff80835f805160206150b1833981519152015416908516105f1461458c5750916144fd565b929150614598906126a5565b906144fd565b600c54905f8291600584116145ef575b6145b89350614c55565b806145db57505f5b6001600160d01b038116156143d757613e276109a191613a2f565b614539613edb6145ea92612677565b6145c0565b91926145fa816149ef565b8103908111610741576145b893600c5f5265ffffffffffff80835f80516020615091833981519152015416908516105f146146365750916145ae565b929150614642906126a5565b906145ae565b908154905f8291600584116146ab575b614663935084614cbe565b8061468b57505f905b6001600160d01b038216156136c4576109a1916001613e279201613a51565b61453961469a6146a592612677565b835f5260205f200190565b9061466c565b91926146b6816149ef565b81039081116107415761466393855f5265ffffffffffff808360205f20015416908516105f146146e7575091614658565b9291506146f3906126a5565b90614658565b60405190614706826108af565b5f6020838281520152565b6147196146f9565b506147226146f9565b50600a54811015612dc95761474990600a5f525f805160206150b183398151915201613d83565b65ffffffffffff81511690602060018060d01b0391015116600b54811015612dc957600b5f525f8051602061511183398151915201546040519161478c836108af565b8252602082015290565b61479e6146f9565b506147a76146f9565b50600c54811015612dc9576147ce90600c5f525f8051602061509183398151915201613d83565b65ffffffffffff81511690602060018060d01b0391015116600d54811015612dc957600d5f525f805160206150f183398151915201546040519161478c836108af565b9061483a61483461485b926148246146f9565b5061482d6146f9565b5084613a51565b50613d83565b91600165ffffffffffff845116936020828060d01b03910151169101613a51565b9054906040519261486b846108af565b835260031b1c602082015290565b905f602091828151910182855af1156126f0575f513d6148ca57506001600160a01b0381163b155b6148a85750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156148a1565b9190600181018091116107415760018201809211610741576148f6828285614235565b928215612c5e5709151581018091116107415790565b600c548061491d57505f905f905f90565b805f1981011161074157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061497257505f905f905f90565b805f1981011161074157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806149c75750505f905f905f90565b5f19918183810111610741575f5260205f2001015460019165ffffffffffff82169160301c90565b60018111156109a157600181600160801b811015614b08575b614ab0614aa6614a9c614a92614a88614a7e614abc97600488600160401b614ab79a1015614afb575b640100000000811015614aee575b62010000811015614ae1575b610100811015614ad5575b6010811015614ac9575b1015614ac1575b60030260011c614a77818b61422b565b0160011c90565b614a77818a61422b565b614a77818961422b565b614a77818861422b565b614a77818761422b565b614a77818661422b565b809361422b565b821190565b900390565b60011b614a67565b811c9160021b91614a60565b60081c91811b91614a56565b60101c9160081b91614a4b565b60201c9160101b91614a3f565b60401c9160201b91614a31565b50600160401b9050608082901c614a08565b905b828110614b2857505090565b9091808216906001818418811c830180931161074157600a5f5265ffffffffffff80845f805160206150b1833981519152015416908616105f14614b70575050915b90614b1c565b9093925081018091116107415790614b6a565b905b828110614b9157505090565b9091808216906001818418811c830180931161074157600c5f5265ffffffffffff80845f80516020615091833981519152015416908616105f14614bd9575050915b90614b85565b9093925081018091116107415790614bd3565b905b828110614bfa57505090565b9091808216906001818418811c830180931161074157600a5f5265ffffffffffff80845f805160206150b1833981519152015416908616105f14614c42575050915b90614bee565b9093925081018091116107415790614c3c565b905b828110614c6357505090565b9091808216906001818418811c830180931161074157600c5f5265ffffffffffff80845f80516020615091833981519152015416908616105f14614cab575050915b90614c57565b9093925081018091116107415790614ca5565b91905b838210614cce5750505090565b909192808316906001818518811c830180931161074157855f5265ffffffffffff808460205f20015416908516105f14614d0d575050925b9190614cc1565b9094935081018091116107415791614d06565b60ff5f805160206151718339815191525460401c1615614d3c57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfd5b600c5490600160401b8210156108aa576001820180600c55821015612dc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f8051602061509183398151915290910155565b600a5490600160401b8210156108aa576001820180600a55821015612dc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206150b183398151915290910155565b8054600160401b8110156108aa57614e2991600182018155613a51565b614e5457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614f0e57613edb614e7f91612677565b9081549165ffffffffffff90818416918316808311614efc57869203614ec457614ebd92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614ef790614ee3614ed5610926565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614d5e565b614ebd565b604051632520601d60e01b8152600490fd5b50614f3290614f1e614ed5610926565b6001600160d01b0384166020820152614d5e565b5f9190565b600a549192918015614fb257613dd6614f4f91612677565b9081549165ffffffffffff90818416918316808311614efc57869203614f8d57614ebd92509065ffffffffffff82549181199060301b169116179055565b5050614ef790614f9e614ed5610926565b6001600160d01b0385166020820152614db5565b50614f3290614fc2614ed5610926565b6001600160d01b0384166020820152614db5565b8054929392801561506b57614fed614ff891612677565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614efc578793036150375750614ebd92509065ffffffffffff82549181199060301b169116179055565b915050614ef791615057615049610926565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614e0c565b5090614f329161507c615049610926565b6001600160d01b0385166020830152614e0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122096afd643cffc15a05e275ebcf57e554339f04ba03ab6025ec642ba4ec611894864736f6c63430008190033","sourceMap":"199:2819:96:-:0;;;;;;;348:4:93;332:21;;318:1:96;3173:36:107;;318:1:96;3219:32:107;;8837:64:26;199:2819:96;;;;;;;;;7896:76:26;;-1:-1:-1;;;;;;;;;;;;199:2819:96;;;7985:34:26;7981:146;;-1:-1:-1;318:1:96;927:17:82;;199:2819:96;;;;;;;;332:21:93;199:2819:96;;;;;;;;;;;;;;;3173:36:107;199:2819:96;;;;;;;;;;3219:32:107;199:2819:96;;;;;;;;;;927:17:82;199:2819:96;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;199:2819:96;;;;;;;;;;;;;8087:29:26;;199:2819:96;;8087:29:26;7981:146;;;;;7896:76;-1:-1:-1;;;7938:23:26;;;;;199:2819:96;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104a45780631415519b1461049f5780631b66c9e11461049a5780631e9a695014610495578063248a9ca31461049057806327810b6e1461048b578063281f5752146104865780632abe3048146104815780632d73c69c1461047c5780632dd31000146104775780632f2ff15d1461047257806336568abe1461046d578063392e53cd146104685780634105a7dd14610463578063463616711461045e57806347e7ef241461045957806348d3b775146104545780634ff0876a1461044f57806350861adc1461044a57806350f22068146104455780635346e34f1461044057806354fd4d501461043b57806355a2c6721461043657806357ec83cc1461043157806359f769a91461042c5780635cc070761461042757806361a8c8c41461042257806364b03fdc1461041d57806367567add146104185780636da3e06d146104135780636ec1e3f81461040e578063715018a6146104095780637278e31c1461040457806373790ab3146103ff57806376671808146103fa578063794b15b7146103f55780637953b33b146103f05780637c04c80a146103eb578063810da75d146103e65780638326056f146103e157806383cd9cc3146103dc57806387df0788146103d75780638b0e9f3f146103d25780638da5cb5b146103cd57806391d14854146103c85780639d66201b146103c35780639f86fd85146103be578063a1b12202146103b9578063a217fddf146103b4578063a21a1df9146103af578063a2861466146103aa578063a3b54172146103a5578063a5d03223146103a0578063aabc24961461039b578063aad3ec9614610396578063afba70ad14610391578063b13442711461038c578063bd49c35f14610387578063bdc8144b14610382578063bfefcd7b1461037d578063c31e8dd714610378578063ce9b793014610373578063d547741f1461036e578063d8dfeb4514610369578063db38871514610364578063de4997161461035f578063eb5562381461035a578063ecf7085814610355578063efb559d614610350578063f2fde38b1461034b578063f3fef3a314610346578063f5e7ee0f146103415763f9e1bf6c1461033c575f80fd5b612649565b61261f565b612579565b61254c565b6123fd565b6123e0565b61238c565b612372565b612306565b6122db565b61228f565b612267565b6121fd565b6121e3565b612105565b6120eb565b6120c3565b612099565b611fd8565b611e21565b611ddb565b611d8e565b611c9b565b611c61565b611c47565b611c23565b611b8f565b611b55565b611af7565b611ac3565b611a61565b611a1d565b611864565b61184a565b611831565b6117cb565b6117a4565b611764565b61174a565b611709565b611437565b6113d0565b6113ab565b611367565b611311565b6112e3565b611247565b61121d565b6111f6565b6110be565b611039565b611007565b610f72565b610f59565b610efc565b610edc565b610ebb565b610bfd565b610bd5565b610b3a565b610af5565b610aaa565b610a5c565b610a18565b6109a4565b61079b565b6106cd565b6106a5565b61066c565b610583565b610538565b6104fe565b346104fa5760203660031901126104fa5760043563ffffffff60e01b81168091036104fa57602090637965db0b60e01b81149081156104e9575b506040519015158152f35b6301ffc9a760e01b1490505f6104de565b5f80fd5b346104fa575f3660031901126104fa5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346104fa575f3660031901126104fa5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036104fa57565b346104fa5760403660031901126104fa576004356105a081610572565b602435906105ac61307d565b6001600160a01b0381161561065b57335f908152600e602052604090206105d790614489565b614489565b8211610649576105f76105e861439c565b6105f0614415565b90846144cc565b9182156106345782610608926130ac565b9061061f60015f8051602061515183398151915255565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346104fa5760203660031901126104fa576004355f525f805160206151318339815191526020526020600160405f200154604051908152f35b346104fa575f3660031901126104fa576001546040516001600160a01b039091168152602090f35b346104fa575f3660031901126104fa576106e5612c63565b80156107465760015465ffffffffffff8160a01c16915f198101908111610741576107139160d01c90612692565b81018091116107415761072861063091613226565b60405165ffffffffffff90911681529081906020820190565b612663565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b03821682036104fa57565b9181601f840112156104fa578235916001600160401b0383116104fa57602083818601950101116104fa57565b346104fa5760403660031901126104fa576107b4610758565b6001600160401b036024358181116104fa576107d490369060040161076e565b9290916107df61307d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610859575f80516020615171833981519152549060ff8260401c16928315610849575b50505015613258575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f808061082e565b604051631966391b60e11b8152600490fd5b65ffffffffffff8116036104fa57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176108aa57604052565b61087b565b604081019081106001600160401b038211176108aa57604052565b608081019081106001600160401b038211176108aa57604052565b90601f801991011681019081106001600160401b038211176108aa57604052565b6040519061016082018281106001600160401b038211176108aa57604052565b60405190610933826108af565b565b6001600160401b0381116108aa57601f01601f191660200190565b92919261095c82610935565b9161096a60405193846108e5565b8294818452818301116104fa578281602093845f960137010152565b9080601f830112156104fa578160206109a193359101610950565b90565b346104fa5760603660031901126104fa576004356109c181610572565b602435906109ce8261086b565b604435906001600160401b0382116104fa576020926109f4610a10933690600401610986565b6001600160a01b039092165f908152600e855260409020613416565b604051908152f35b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa5760403660031901126104fa57610aa8602435600435610a7f82610572565b805f525f80516020615131833981519152602052610aa3600160405f2001546135ed565b6138ed565b005b346104fa5760403660031901126104fa57602435610ac781610572565b336001600160a01b03821603610ae357610aa890600435613923565b60405163334bd91960e11b8152600490fd5b346104fa575f3660031901126104fa5760ff60025460a01c1680610b21575b6020906040519015158152f35b5060035460a01c60ff16610b14565b801515036104fa57565b346104fa5760203660031901126104fa57600435610b5781610b30565b610b5f61307d565b610b676134e2565b5f54901515908160ff8216151514610bc35760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f8051602061515183398151915255005b60405163a741a04560e01b8152600490fd5b346104fa575f3660031901126104fa57602065ffffffffffff60015460a01c16604051908152f35b346104fa576040806003193601126104fa576004803591610c1d83610572565b610c2561307d565b6001600160a01b0391838316908115610ead575f5460ff811680610e94575b610e855783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610e5d575f93610e62575b50610c999060243590309033906139b5565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610e5d57610cd8935f92610e30575b5050612685565b938415610e215760081c60ff1680610e0c575b610dfe57509061063091610d9c610d0061439c565b95610d49610d0c614415565b610d34610d1a8a838b6144cc565b99610d2e8a610d2842613226565b926126b3565b90613b09565b5050610d4389610d2842613226565b90613be9565b50506001600160a01b0381165f908152600e6020526040902090610d9688610d916105d2610d7642613226565b6001600160a01b039095165f908152600e6020526040902090565b6126b3565b91613cc5565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610de860015f8051602061515183398151915255565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610e1984610d9161439c565b815410610ceb565b50825163070f6eed60e11b8152fd5b610e4f9250803d10610e56575b610e4781836108e5565b8101906126e1565b5f80610cd1565b503d610e3d565b6126f0565b610c99919350610e7e90853d8711610e5657610e4781836108e5565b9290610c87565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610c44565b8251630d534ce360e11b8152fd5b346104fa575f3660031901126104fa57602060ff5f54166040519015158152f35b346104fa575f3660031901126104fa57602060015460d01c604051908152f35b346104fa575f3660031901126104fa57602060ff60025460a01c166040519015158152f35b9060406003198301126104fa57600435610f3a8161086b565b91602435906001600160401b0382116104fa576109a191600401610986565b346104fa576020610a10610f6c36610f21565b9061328c565b346104fa5760203660031901126104fa57600435610f8f81610b30565b610f9761307d565b610f9f61353f565b5f54901515908160ff8260081c16151514610bc35761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610aa860015f8051602061515183398151915255565b346104fa575f3660031901126104fa5760206001600160401b035f805160206151718339815191525416604051908152f35b346104fa5760203660031901126104fa576004356110568161086b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036110ac5761108f90613da7565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b346104fa5760603660031901126104fa576110d7610758565b6024356110e381610572565b6001600160401b03916044358381116104fa5761110490369060040161076e565b5f805160206151718339815191529491855494838616806111e55760ff8760401c169081156111d8575b50610837577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966111d39661119b958716906001600160401b0319161790556111965f80516020615171833981519152600160401b68ff000000000000000019825416179055565b6126fb565b5f80516020615171833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f61112e565b60405162dc149f60e41b8152600490fd5b346104fa5760203660031901126104fa576020610a1060043561121881610572565b612b1b565b346104fa5760203660031901126104fa576004355f526006602052602060405f2054604051908152f35b346104fa575f3660031901126104fa5760015465ffffffffffff61127d818360a01c1692611273612c63565b9060d01c90612692565b820180921161074157611291602092613226565b60405191168152f35b60409060031901126104fa576004356112b281610572565b906024356109a18161086b565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346104fa576106306112fd6112f73661129a565b90612ba9565b6040519182916020835260208301906112bf565b346104fa5760203660031901126104fa5760043561132e8161086b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036110ac5761108f90613eac565b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa575f3660031901126104fa57602060ff60035460a01c166040519015158152f35b346104fa575f3660031901126104fa576113e86141f3565b5f805160206150d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104fa5760403660031901126104fa576004356024356114578161086b565b61145f61307d565b60035461147c906001600160a01b03165b6001600160a01b031690565b33036116f75761148a612c63565b9061149481612c97565b90821515806116e6575b80156116dd575b6116cb57610630937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926114d761439c565b946114f26114e4826126a5565b5f52600660205260405f2090565b54908281036115e5575061150681876126b3565b83811881851002811896878061159e575b50505050505b8361156a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161155a60015f8051602061515183398151915255565b6040519081529081906020820190565b5f546115999085906115879060101c6001600160a01b0316611470565b6001546001600160a01b0316906142c2565b611523565b6115da93610cd183610d2e6115c46115bd6114e4986115d49888614235565b8096612685565b946115ce42613226565b92612685565b926126a5565b555f80808087611517565b91506115f9825f52600660205260405f2090565b549061160981610d91848a6126b3565b908482188286100282189788611624575b505050505061151d565b611699938361164c936116598c61165461164261168a998884614235565b9788958584614235565b948592612685565b612685565b938484106116a4575b610cd190610d2e6116789596976115ce42613226565b6116846114e4876126a5565b55612685565b915f52600660205260405f2090565b555f8080808061161a565b916116c0610cd1916116ba866116789798612685565b906126b3565b859450929050611662565b604051635e18d2a560e01b8152600490fd5b508282116114a5565b506116f083612677565b821061149e565b60405163dabc4ad960e01b8152600490fd5b346104fa575f3660031901126104fa5760015465ffffffffffff808260a01c1691611732612c63565b600181018091116107415761127d9160d01c90612692565b346104fa575f3660031901126104fa576020610a10612c63565b346104fa5760203660031901126104fa5760043561178181610572565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346104fa5760203660031901126104fa576020610a106004356117c68161086b565b612c97565b346104fa5760403660031901126104fa576004356117e881610572565b6024356001600160401b038082116104fa57366023830112156104fa5781600401359081116104fa573660248260051b840101116104fa5761063092602461155a930190612cd2565b346104fa576020610a1061184436610f21565b90613361565b346104fa576106306112fd61185e3661129a565b90612e00565b346104fa576020806003193601126104fa57600480359061188482610572565b61188c61307d565b60025460a01c60ff16611a0e576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e5d575f916119e1575b50156119d15760405163fbfa77cf60e01b8152838516949082818581895afa928315610e5d575f936119a2575b5050309116036119935750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610aa860015f8051602061515183398151915255565b60405163b9f0f17160e01b8152fd5b6119c2929350803d106119ca575b6119ba81836108e5565b810190612e57565b905f80611926565b503d6119b0565b506040516324e5af8d60e21b8152fd5b611a019150823d8411611a07575b6119f981836108e5565b810190612e37565b5f6118f9565b503d6119ef565b604051631380833b60e01b8152fd5b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa575f3660031901126104fa57611a79612c63565b611a8161439c565b90805f52600660205260405f205482018092116107415760018101809111610741575f52600660205260405f2054810180911161074157602090604051908152f35b346104fa575f3660031901126104fa575f805160206150d1833981519152546040516001600160a01b039091168152602090f35b346104fa5760403660031901126104fa57602060ff611b49602435611b1b81610572565b6004355f525f80516020615131833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346104fa5760203660031901126104fa57600435611b7281610572565b60018060a01b03165f52600e6020526020610a1060405f20614489565b346104fa5760403660031901126104fa57600435611bac81610572565b6024356001600160401b0381116104fa575f91611bce8392369060040161076e565b90816040519283928337810184815203915af4611c1b611bec612e6c565b91611c0d6040519384921515602084015260408084015260608301906112bf565b03601f1981018352826108e5565b805190602001fd5b346104fa575f3660031901126104fa57602060ff5f5460081c166040519015158152f35b346104fa575f3660031901126104fa5760206040515f8152f35b346104fa575f3660031901126104fa5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346104fa5760403660031901126104fa57600435611cb881610572565b602435611cc481610b30565b611ccc61307d565b611cd4613596565b6001600160a01b038216918215611d7c575f8381526005602052604090205460ff16151582151514610bc3576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a6291611d6391611d51908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610aa860015f8051602061515183398151915255565b604051630da30f6560e31b8152600490fd5b346104fa5760403660031901126104fa576020611dd2602435611db081610572565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346104fa5760403660031901126104fa57602060ff611b49602435611dff81610572565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346104fa576020806003193601126104fa576004803590611e4182610572565b611e4961307d565b60035460a01c60ff16611fc9576001600160a01b03828116939084611eb7575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610aa860015f8051602061515183398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e5d575f91611fac575b5015611f9b5760405163fbfa77cf60e01b815282818581895afa928315610e5d575f93611f7c575b505030911603611f6d5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080611e69565b604051633f3e089160e21b8152fd5b611f93929350803d106119ca576119ba81836108e5565b905f80611f3a565b60405163dabc4ad960e01b81528390fd5b611fc39150833d8511611a07576119f981836108e5565b5f611f12565b60405163703fe2e560e01b8152fd5b346104fa5760403660031901126104fa57600435611ff581610572565b6024359061200161307d565b6001600160a01b0391818316908115612087576120326106309461202483614300565b9485915f5460101c166142c2565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020615151833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346104fa5760203660031901126104fa576004355f526007602052602060405f2054604051908152f35b346104fa575f3660031901126104fa576003546040516001600160a01b039091168152602090f35b346104fa575f3660031901126104fa576020610a1061439c565b346104fa5760203660031901126104fa5760043561212161307d565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff16156121c557508060045414610bc3576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f8051602061515183398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346104fa575f3660031901126104fa576020610a10614415565b346104fa5760203660031901126104fa5760043561221a81610572565b612222612c63565b61222b82612b1b565b916122368183612f56565b830180931161074157600182018092116107415761225391612f56565b810180911161074157602090604051908152f35b346104fa575f3660031901126104fa576002546040516001600160a01b039091168152602090f35b346104fa5760403660031901126104fa57610aa86024356004356122b282610572565b805f525f805160206151318339815191526020526122d6600160405f2001546135ed565b613923565b346104fa575f3660031901126104fa575f5460405160109190911c6001600160a01b03168152602090f35b346104fa575f3660031901126104fa5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b60609060031901126104fa5760043561235881610572565b9060243561236581610572565b906044356109a18161086b565b346104fa576106306112fd61238636612340565b91612e9b565b346104fa5761239a3661129a565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811633036110ac5761108f92165f52600e60205260405f20613f72565b346104fa575f3660031901126104fa576020600454604051908152f35b346104fa5760603660031901126104fa5760043561241a81610572565b602435906124278261086b565b6001600160401b03916044358381116104fa5761244890369060040161076e565b909260409384516124588161088f565b606081526060602082015260608682015292806124b7575b610630866124a887876124a261248989848451916126c0565b9285612499602085015183613361565b9301519061328c565b916144cc565b90519081529081906020820190565b81019392506020818503126104fa578035908682116104fa5701926060848203126104fa578451956124e88761088f565b84358181116104fa57826124fd918701610986565b875260208501358181116104fa5782612517918701610986565b6020880152858501359081116104fa57610630966125406124a293612489936124a89801610986565b87820152939450612470565b346104fa5760203660031901126104fa57610aa860043561256c81610572565b6125746141f3565b612ee5565b346104fa5760403660031901126104fa5760043561259681610572565b6024356125a161307d565b6001600160a01b0382161561065b57801561260d576125d06125c1614415565b6125c961439c565b90836148d3565b335f908152600e602052604090209092906125ea90614489565b83116125fb576106089183916130ac565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346104fa5760403660031901126104fa576020610a1060243561264181610572565b600435612f56565b346104fa576106306112fd61265d36612340565b91612fb4565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161074157565b9190820391821161074157565b8181029291811591840414171561074157565b906001820180921161074157565b9190820180921161074157565b6001600160a01b03165f908152600e602052604090206109a1929190613416565b908160209103126104fa575190565b6040513d5f823e3d90fd5b9161274d9161273e9161270c614d20565b612714614d20565b60015f80516020615151833981519152556001600160a01b0394808616612b01575b503691610950565b6020808251830101910161405c565b805182166001600160a01b031615612aef57604080820165ffffffffffff61277b825165ffffffffffff1690565b1615612ade5760c08301805190929061279c906001600160a01b0316611470565b1561298f575b50916128db6101409261287a612855612939966127f06127c8875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b0390921691909117905561284961282042613226565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b61289a61288a6060850151151590565b60ff80195f541691151516175f55565b6128c16128aa6080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6128ce60a0840151600455565b516001600160a01b031690565b84811661297f575b5060e08101516001600160a01b031684811661296f575b506101008101516001600160a01b031684811661295f575b506101208101516001600160a01b031684811661294f575b5001516001600160a01b031690565b9081166129435750565b61294c9061387e565b50565b6129589061380f565b505f61292a565b612968906137a0565b505f612912565b612978906136ca565b505f6128fa565b61298890613619565b505f6128e3565b60e08401516129a6906001600160a01b0316611470565b15612a7b575b6101208401516129c4906001600160a01b0316611470565b6127a257608084015115612a315760a08401511580612a12575b612a025750916128db6101409261287a612855612939965b949650505092506127a2565b5163183c854560e21b8152600490fd5b50610140840151612a2b906001600160a01b0316611470565b156129de565b60a084015115801590612a5b575b612a025750916128db6101409261287a612855612939966129f6565b50610140840151612a74906001600160a01b0316611470565b1515612a3f565b606084015115612ab157610100840151612a9d906001600160a01b0316611470565b6129ac575163183c854560e21b8152600490fd5b610100840151612ac9906001600160a01b0316611470565b156129ac575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b612b1590612b0d614d20565b612574614d20565b5f612736565b6001600160a01b03165f908152600e60205260409020612b3a90614489565b612b4261439c565b612b4a614415565b90600181018091116107415760018201809211610741576109a192614235565b519061093382610b30565b519063ffffffff821682036104fa57565b91908260409103126104fa576109a160208351612ba281610b30565b9301612b75565b9190612be5612bf49160609465ffffffffffff604051926367567add60e01b602085015216602483015260248252612be08261088f565b614125565b60208082518301019101612b86565b90612bfc5750565b90915063ffffffff60405191166020820152602081526109a1816108af565b65ffffffffffff918216908216039190821161074157565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612c5e57160490565b612c33565b612c6c42613226565b612c93600154612c8965ffffffffffff93848360a01c1690612c1b565b9060d01c90612c47565b1690565b6001549065ffffffffffff91828160a01c16918284821610612cc057612c9392612c8991612c1b565b60405163b7d0949760e01b8152600490fd5b90612cdb61307d565b5f926001600160a01b038316928315612087578115612d93575f5b828110612d7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612d46918491612d419060101c6001600160a01b0316611470565b6142c2565b612d57604051928392339684612dce565b0390a39061093360015f8051602061515183398151915255565b94612d8c6001916116ba612d86898789612db9565b35614300565b9501612cf6565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612dc95760051b0190565b612da5565b604080825281018390529392916001600160fb1b0381116104fa5760209160609160051b809183880137850101930152565b9190612be5612bf49160609465ffffffffffff60405192632ad1633960e11b602085015216602483015260248252612be08261088f565b908160209103126104fa57516109a181610b30565b519061093382610572565b908160209103126104fa57516109a181610572565b3d15612e96573d90612e7d82610935565b91612e8b60405193846108e5565b82523d5f602084013e565b606090565b604051631d6aac4760e31b60208201526001600160a01b03909216602483015265ffffffffffff909216604480830191909152815260609291612bf491612be591612be0826108ca565b6001600160a01b03908116908115612f3e575f805160206150d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612f7c90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107415760018201809211610741576109a192614235565b92919092612fd9612fc88360609684612e9b565b92612fd38184612ba9565b92612e00565b90825115801590613073575b8015613069575b612ff557505050565b6130429394506109a19291611c0d91604051936130118561088f565b84526020840190815260408401918252613058604051968795602080880152516060604088015260a08701906112bf565b915191603f1992838783030160608801526112bf565b9151908483030160808501526112bf565b5081511515612fec565b5080511515612fe5565b5f80516020615151833981519152600281541461309a5760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e60205260409020939291906130c742613226565b335f908152600e602052604090206130de90614489565b91848303928311610741576131197febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9385936131a499613cc5565b505061313361312742613226565b610d4387611654614415565b505061314d61314142613226565b610d2e8461165461439c565b50506131f2816131dd613166613161612c63565b6126a5565b6131bc61317b825f52600660205260405f2090565b5461318e835f52600760205260405f2090565b5461319a82828b6144cc565b9d8e998a936126b3565b6131b6855f52600660205260405f2090565b556126b3565b6131ce825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6131fd8382546126b3565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b65ffffffffffff90818111613239571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b6104fa913691610950565b908160209103126104fa576109a190612b75565b90600163ffffffff8093160191821161074157565b9080511561335757806020806132a793518301019101613263565b6132b081614711565b906132c1825165ffffffffffff1690565b9065ffffffffffff808516921682811461334b57821191826132f7575b50506132ee57506109a1906144ed565b60209150015190565b909150613305600a54612677565b63ffffffff83161491821561331e575b50505f806132de565b61334391925061284961333361333892613277565b614711565b65ffffffffffff1690565b115f80613315565b50505060209150015190565b506109a1906144ed565b9080511561340c578060208061337c93518301019101613263565b61338581614796565b90613396825165ffffffffffff1690565b9065ffffffffffff808516921682811461334b57821191826133c3575b50506132ee57506109a19061459e565b9091506133d1600c54612677565b63ffffffff8316149182156133ea575b50505f806133b3565b6134049192506128496133ff61333892613277565b614796565b115f806133e1565b506109a19061459e565b918051156134d8578060208061343193518301019101613263565b9161343c8382614811565b9261344d845165ffffffffffff1690565b9065ffffffffffff80851692168281146134cc5782119182613483575b505061347a576109a19250614648565b50506020015190565b9091506134908354612677565b63ffffffff8316149182156134a9575b50505f8061346a565b6134c49192506128496134be61333892613277565b85614811565b115f806134a0565b50505050506020015190565b506109a191614648565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156121c55750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613535565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613535565b5f8181525f8051602061513183398151915260209081526040808320338452909152902060ff90613535565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206151318339815191529060ff166136c4575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206151318339815191529060ff905b5416613799575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206151318339815191529060ff90613735565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206151318339815191529060ff90613735565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206151318339815191529060ff90613735565b5f8181525f80516020615131833981519152602081815260408084206001600160a01b038716855290915290912060ff90613735565b5f8181525f80516020615131833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613799575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176108aa5761093392604052614879565b600b54811015612dc957600b5f525f8051602061511183398151915201905f90565b600d54811015612dc957600d5f525f805160206150f183398151915201905f90565b8054821015612dc9575f5260205f2001905f90565b600d54600160401b8110156108aa576001810180600d55811015612dc957600d5f525f805160206150f18339815191520155565b600b54600160401b8110156108aa576001810180600b55811015612dc957600b5f525f805160206151118339815191520155565b90815491600160401b8310156108aa5782613af191600161093395018155613a51565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613bb4575b50613b2161490c565b50929091815492613b3061439c565b9481613b9f575b5015613b7c57505f1982018281116107415781541115612dc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613b90926001600160d01b03169150614e67565b5050613b9b83613a66565b9190565b65ffffffffffff83811691161490505f613b37565b600160401b8110156108aa5760018101808455811015612dc9575f908382525f805160206150f183398151915201555f613b18565b919091600b9081548015613c90575b50613c01614961565b50929091815492613c10614415565b9481613c7b575b5015613c5c57505f1982018281116107415781541115612dc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613c70926001600160d01b03169150614f37565b5050613b9b83613a9a565b65ffffffffffff83811691161490505f613c17565b600160401b8110156108aa5760018101808455811015612dc9575f908382525f8051602061511183398151915201555f613bf8565b90929192600182019081548015613d53575b5084613ce2846149b6565b50949092845493613cf283614489565b9681613d3e575b5015613d1b575050505f19810190811161074157613af18591613b9b93613a51565b613b9b949293613d37926001600160d01b039091169190614fd6565b5050613ace565b65ffffffffffff83811691161490505f613cf9565b600160401b8110156108aa57806001613d6f9201845583613a51565b8154905f199060031b1b191690555f613cd7565b90604051613d90816108af565b915465ffffffffffff8116835260301c6020830152565b600a54905f829160058411613e52575b613dc19350614b1a565b8015613e4757613df1613dec613dd683612677565b600a5f525f805160206150b18339815191520190565b613d83565b91613e40613e37613e31613e27613e226020613e13895165ffffffffffff1690565b9801516001600160d01b031690565b613a0d565b90549060031b1c90565b93612677565b63ffffffff1690565b6001939291565b505f905f905f905f90565b9192613e5d816149ef565b810390811161074157600a5f525f805160206150b1833981519152810154613dc1949065ffffffffffff9081169085161015613e9a575091613db7565b929150613ea6906126a5565b90613db7565b600c54905f829160058411613f18575b613ec69350614b83565b8015613e4757613ef1613dec613edb83612677565b600c5f525f805160206150918339815191520190565b91613e40613e37613e31613e27613f136020613e13895165ffffffffffff1690565b613a2f565b9192613f23816149ef565b810390811161074157600c5f525f80516020615091833981519152810154613ec6949065ffffffffffff9081169085161015613f60575091613ebc565b929150613f6c906126a5565b90613ebc565b91908254905f829160058411613ff5575b613f8e935085614cbe565b908115613fe957613e40613e37613e31613e27613fbb613dec613fb088612677565b895f5260205f200190565b966001613fe26020613fd38b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101613a51565b5f925082915081908190565b9192614000816149ef565b810390811161074157613f8e93865f526140296133388360205f200165ffffffffffff90541690565b65ffffffffffff8516101561403f575091613f83565b92915061404b906126a5565b90613f83565b51906109338261086b565b90816101609103126104fa57614070610906565b9061407a81612e4c565b825261408860208201612e4c565b602083015261409960408201614051565b60408301526140aa60608201612b6a565b60608301526140bb60808201612b6a565b608083015260a081015160a08301526140d660c08201612e4c565b60c08301526140e760e08201612e4c565b60e08301526101006140fa818301612e4c565b9083015261012061410c818301612e4c565b9083015261411e610140809201612e4c565b9082015290565b905f8060409384519360209461415c81611c0d88820194639f86fd8560e01b86523060248401528a604484015260648301906112bf565b51915afa50614169612e6c565b805181019280828486019503126104fa57828201519161418883610b30565b81810151906001600160401b0382116104fa57019084603f830112156104fa57838201516141b581610935565b956141c2835197886108e5565b8187528282850101116104fa578085925f94018388015e85010152156141e6575090565b9080519182156104fa5701fd5b5f805160206150d1833981519152546001600160a01b0316330361421357565b60405163118cdaa760e01b8152336004820152602490fd5b8115612c5e570490565b91818302915f19818509938380861095039480860395146142b557848311156142a85790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614d4e565b5050906109a1925061422b565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152610933916142fb826108ca565b614879565b90614309612c63565b82101561438a575f82815260096020908152604080832033845290915290205460ff166143785761433a3383612f56565b918215614366575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600c54806143dc57505f5b6001600160d01b038116156143d757600d54811015612dc957600d5f525f805160206150f1833981519152015490565b505f90565b805f1981011161074157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c6143a7565b600a548061445057505f5b6001600160d01b038116156143d757600b54811015612dc957600b5f525f80516020615111833981519152015490565b805f1981011161074157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c614420565b8054806144ae57505f5b6001600160d01b038116156136c4576001613e279201613a51565b5f1990808281011161074157825f5260205f2001015460301c614493565b9190600181018091116107415760018201809211610741576109a192614235565b600a54905f829160058411614545575b6145079350614bec565b8061452a57505f5b6001600160d01b038116156143d757613e276109a191613a0d565b614539613dd661454092612677565b5460301c90565b61450f565b9192614550816149ef565b81039081116107415761450793600a5f5265ffffffffffff80835f805160206150b1833981519152015416908516105f1461458c5750916144fd565b929150614598906126a5565b906144fd565b600c54905f8291600584116145ef575b6145b89350614c55565b806145db57505f5b6001600160d01b038116156143d757613e276109a191613a2f565b614539613edb6145ea92612677565b6145c0565b91926145fa816149ef565b8103908111610741576145b893600c5f5265ffffffffffff80835f80516020615091833981519152015416908516105f146146365750916145ae565b929150614642906126a5565b906145ae565b908154905f8291600584116146ab575b614663935084614cbe565b8061468b57505f905b6001600160d01b038216156136c4576109a1916001613e279201613a51565b61453961469a6146a592612677565b835f5260205f200190565b9061466c565b91926146b6816149ef565b81039081116107415761466393855f5265ffffffffffff808360205f20015416908516105f146146e7575091614658565b9291506146f3906126a5565b90614658565b60405190614706826108af565b5f6020838281520152565b6147196146f9565b506147226146f9565b50600a54811015612dc95761474990600a5f525f805160206150b183398151915201613d83565b65ffffffffffff81511690602060018060d01b0391015116600b54811015612dc957600b5f525f8051602061511183398151915201546040519161478c836108af565b8252602082015290565b61479e6146f9565b506147a76146f9565b50600c54811015612dc9576147ce90600c5f525f8051602061509183398151915201613d83565b65ffffffffffff81511690602060018060d01b0391015116600d54811015612dc957600d5f525f805160206150f183398151915201546040519161478c836108af565b9061483a61483461485b926148246146f9565b5061482d6146f9565b5084613a51565b50613d83565b91600165ffffffffffff845116936020828060d01b03910151169101613a51565b9054906040519261486b846108af565b835260031b1c602082015290565b905f602091828151910182855af1156126f0575f513d6148ca57506001600160a01b0381163b155b6148a85750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156148a1565b9190600181018091116107415760018201809211610741576148f6828285614235565b928215612c5e5709151581018091116107415790565b600c548061491d57505f905f905f90565b805f1981011161074157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061497257505f905f905f90565b805f1981011161074157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806149c75750505f905f905f90565b5f19918183810111610741575f5260205f2001015460019165ffffffffffff82169160301c90565b60018111156109a157600181600160801b811015614b08575b614ab0614aa6614a9c614a92614a88614a7e614abc97600488600160401b614ab79a1015614afb575b640100000000811015614aee575b62010000811015614ae1575b610100811015614ad5575b6010811015614ac9575b1015614ac1575b60030260011c614a77818b61422b565b0160011c90565b614a77818a61422b565b614a77818961422b565b614a77818861422b565b614a77818761422b565b614a77818661422b565b809361422b565b821190565b900390565b60011b614a67565b811c9160021b91614a60565b60081c91811b91614a56565b60101c9160081b91614a4b565b60201c9160101b91614a3f565b60401c9160201b91614a31565b50600160401b9050608082901c614a08565b905b828110614b2857505090565b9091808216906001818418811c830180931161074157600a5f5265ffffffffffff80845f805160206150b1833981519152015416908616105f14614b70575050915b90614b1c565b9093925081018091116107415790614b6a565b905b828110614b9157505090565b9091808216906001818418811c830180931161074157600c5f5265ffffffffffff80845f80516020615091833981519152015416908616105f14614bd9575050915b90614b85565b9093925081018091116107415790614bd3565b905b828110614bfa57505090565b9091808216906001818418811c830180931161074157600a5f5265ffffffffffff80845f805160206150b1833981519152015416908616105f14614c42575050915b90614bee565b9093925081018091116107415790614c3c565b905b828110614c6357505090565b9091808216906001818418811c830180931161074157600c5f5265ffffffffffff80845f80516020615091833981519152015416908616105f14614cab575050915b90614c57565b9093925081018091116107415790614ca5565b91905b838210614cce5750505090565b909192808316906001818518811c830180931161074157855f5265ffffffffffff808460205f20015416908516105f14614d0d575050925b9190614cc1565b9094935081018091116107415791614d06565b60ff5f805160206151718339815191525460401c1615614d3c57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfd5b600c5490600160401b8210156108aa576001820180600c55821015612dc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f8051602061509183398151915290910155565b600a5490600160401b8210156108aa576001820180600a55821015612dc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206150b183398151915290910155565b8054600160401b8110156108aa57614e2991600182018155613a51565b614e5457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614f0e57613edb614e7f91612677565b9081549165ffffffffffff90818416918316808311614efc57869203614ec457614ebd92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614ef790614ee3614ed5610926565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614d5e565b614ebd565b604051632520601d60e01b8152600490fd5b50614f3290614f1e614ed5610926565b6001600160d01b0384166020820152614d5e565b5f9190565b600a549192918015614fb257613dd6614f4f91612677565b9081549165ffffffffffff90818416918316808311614efc57869203614f8d57614ebd92509065ffffffffffff82549181199060301b169116179055565b5050614ef790614f9e614ed5610926565b6001600160d01b0385166020820152614db5565b50614f3290614fc2614ed5610926565b6001600160d01b0384166020820152614db5565b8054929392801561506b57614fed614ff891612677565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614efc578793036150375750614ebd92509065ffffffffffff82549181199060301b169116179055565b915050614ef791615057615049610926565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614e0c565b5090614f329161507c615049610926565b6001600160d01b0385166020830152614e0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122096afd643cffc15a05e275ebcf57e554339f04ba03ab6025ec642ba4ec611894864736f6c63430008190033","sourceMap":"199:2819:96:-: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;:::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;199:2819:96;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;199:2819:96;-1:-1:-1;199:2819:96;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;966:38:107;199:2819:96;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;821:37:107;199:2819:96;;;;-1:-1:-1;;;;;199:2819:96;;;;;:::o;:::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;5525:21:106;5521:75;;5634:10;199:2819:96;;;;5606:15:107;199:2819:96;;;;;5606:33:107;;;:::i;:24::-;:33;:::i;:::-;5610:35:106;;5606:88;;1057:70:98;5173:21:107;;:::i;:::-;4803:22;;:::i;:::-;1057:70:98;;;:::i;:::-;5801:20:106;;;5797:82;;5904:43;;;;:::i;:::-;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;199:2819:96;3860:283:30;3426:1;199:2819:96;;;;;;;;;;;;;;;;;;5797:82:106;199:2819:96;;-1:-1:-1;;;;;;5844:24:106;;199:2819:96;;5844:24:106;5606:88;199:2819:96;;-1:-1:-1;;;5668:15:106;;199:2819:96;;5668:15:106;5521:75;199:2819:96;;-1:-1:-1;;;5569:16:106;;199:2819:96;;5569:16:106;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;;4919:24:23;199:2819:96;-1:-1:-1;199:2819:96;4919:24:23;199:2819:96;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;4084:14:107;;:::i;:::-;4112:10;;4108:65;;4190:17;199:2819:96;;;;;;;;;;;;;;;;4210:27:107;199:2819:96;;;4210:27:107;;:::i;:::-;199:2819:96;;;;;;;4189:60:107;199:2819:96;4189:60:107;;:::i;:::-;199:2819:96;;;;;;;;;;;;;;;;;;:::i;4108:65:107:-;199:2819:96;;-1:-1:-1;;;4145:17:107;;199:2819:96;;4145:17:107;199:2819:96;;;;-1:-1:-1;;;;;199:2819:96;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;1673:7:82;-1:-1:-1;;;;;199:2819:96;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;;;;6431:44:26;;;;;199:2819:96;6427:105:26;;;;1809:204:82;6427:105:26;;199:2819:96;;-1:-1:-1;;;6498:23:26;;199:2819:96;;6498:23:26;6431:44;199:2819:96;;;;6450:25:26;;;-1:-1:-1;6431:44:26;;;;;1655:71:82;199:2819:96;;-1:-1:-1;;;1703:12:82;;199:2819:96;;1703:12:82;199:2819:96;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:96;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;5383:59:107;199:2819:96;;;;;;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;;-1:-1:-1;199:2819:96;;;5383:15:107;199:2819:96;;;;;5383:59:107;:::i;:::-;199:2819:96;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;655:32:82;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;5350:25:23;199:2819:96;;;;;;;:::i;:::-;;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;3202:4:23;4919:24;199:2819:96;-1:-1:-1;199:2819:96;4919:24:23;199:2819:96;3202:4:23;:::i;:::-;5350:25;:::i;:::-;199:2819:96;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;199:2819:96;;6441:34:23;6437:102;;6549:37;199:2819:96;;;6549:37:23;:::i;6437:102::-;199:2819:96;;-1:-1:-1;;;6498:30:23;;199:2819:96;;6498:30:23;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;1524:22:106;199:2819:96;;;;1524:46:106;;;199:2819:96;;;;;;;;;;;1524:46:106;-1:-1:-1;1550:20:106;199:2819:96;;;;;1524:46:106;;199:2819:96;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;199:2819:96;;;;;;;;;;;9542:26:106;9538:76;;-1:-1:-1;;199:2819:96;;;;;-1:-1:-1;199:2819:96;;;;;;9665:27:106;;199:2819:96;;9665:27:106;1949:1:30;-1:-1:-1;;;;;;;;;;;199:2819:96;;9538:76:106;199:2819:96;;-1:-1:-1;;;9591:12:106;;199:2819:96;;9591:12:106;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;1718:31:107;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;;;;3474:24:106;;3470:81;;-1:-1:-1;199:2819:96;;;;3565:55:106;;;199:2819:96;3561:118:106;;199:2819:96;;-1:-1:-1;;;3713:43:106;;;3750:4;3713:43;;;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;;;3713:43:106;;;;;;;;;;-1:-1:-1;3713:43:106;;;199:2819:96;;3829:6:106;199:2819:96;;;3750:4:106;;3802:10;;3829:6;;:::i;:::-;-1:-1:-1;199:2819:96;;;3864:43:106;;;3750:4;3864:43;;;199:2819:96;;;;;;;;;;3864:43:106;199:2819:96;;;;;;3864:43:106;199:2819:96;;;;;3864:43:106;;;;;;;:59;:43;-1:-1:-1;3864:43:106;;;199:2819:96;3864:59:106;;;:::i;:::-;3938:20;;;3934:79;;199:2819:96;;;;;4027:64:106;;199:2819:96;4023:123:106;;5173:21:107;;199:2819:96;5173:21:107;4502:93:106;5173:21:107;;:::i;:::-;4803:22;4426:66:106;4803:22:107;;:::i;:::-;4349:67:106;390:70:98;;;;;:::i;:::-;837:15:73;4385:30:106;837:15:73;819:34;837:15;819:34;:::i;:::-;4385:30:106;;:::i;:::-;4349:67;;:::i;:::-;837:15:73;;4463:28:106;837:15:73;819:34;837:15;819:34;:::i;4463:28:106:-;4426:66;;:::i;:::-;-1:-1:-1;;;;;;;199:2819:96;;;;;;5606:15:107;199:2819:96;;;;;837:15:73;4553:41:106;837:15:73;5606:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;;;;;;5606:15:107;199:2819:96;;;;;;;5606:33:107;4553:41:106;:::i;:::-;4502:93;;:::i;:::-;-1:-1:-1;;199:2819:96;;;;;;;;;;;3802:10:106;;4611:62;;199:2819:96;;4611:62:106;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:96;3860:283:30;3426:1;199:2819:96;;;;;;;;;;;;;;;;;;;4023:123:106;199:2819:96;;-1:-1:-1;;;4114:21:106;;;4027:64;5173:21:107;4045:31:106;5173:21:107;;;:::i;4045:31:106:-;199:2819:96;;-1:-1:-1;4027:64:106;;3934:79;-1:-1:-1;199:2819:96;;-1:-1:-1;;;3981:21:106;;;3864:43;;;;;;-1:-1:-1;3864:43:106;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;3713:::-;3829:6;3713:43;;;;;;;;;;;;;;;:::i;:::-;;;;;3561:118;-1:-1:-1;199:2819:96;;-1:-1:-1;;;3643:25:106;;;3565:55;-1:-1:-1;3609:10:106;199:2819:96;;;;3586:22:106;199:2819:96;;;;;;;;3585:35:106;3565:55;;3470:81;199:2819:96;;-1:-1:-1;;;3521:19:106;;;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;1805:27:107;199:2819:96;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;1968:34:107;199:2819:96;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;:::i;:::-;;;;;4622:48:107;199:2819:96;;;:::i;:::-;4622:48:107;;:::i;199:2819:96:-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;199:2819:96;;;;;;;;;;;;;10370:24:106;10366:74;;-1:-1:-1;;199:2819:96;;;;;;;;-1:-1:-1;199:2819:96;;;;;;10489:25:106;;199:2819:96;;10489:25:106;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:96;3860:283:30;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;-1:-1:-1;;;;;;;;;;;;;;;;199:2819:96;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;199:2819:96;435:10:93;:19;431:71;;1113:52:96;;;:::i;:::-;199:2819;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;431:71:93;199:2819:96;;-1:-1:-1;;;477:14:93;;199:2819:96;;477:14:93;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;199:2819:96;;;;;;734:29:82;730:87;;199:2819:96;;;;;6431:44:26;;;;;199:2819:96;6427:105:26;;;6656:20;199:2819:96;6656:20:26;199:2819:96;1167:340:82;199:2819:96;;;;-1:-1:-1;;;;;199:2819:96;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;199:2819:96;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;199:2819:96;;-1:-1:-1;;199:2819:96;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;6656:20:26;;;;199:2819:96;6431:44:26;199:2819:96;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;199:2819:96;;-1:-1:-1;;;786:20:82;;199:2819:96;;786:20:82;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;-1:-1:-1;199:2819:96;2431:59:107;199:2819:96;;;;-1:-1:-1;199:2819:96;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;3875:17:107;199:2819:96;;3895:30:107;199:2819:96;;;;;3895:14:107;;;:::i;:::-;199:2819:96;;;3895:30:107;;:::i;:::-;199:2819:96;;;;;;;3874:63:107;199:2819:96;3874:63:107;;:::i;:::-;199:2819:96;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:96;;;;;;;;-1:-1:-1;;199:2819:96;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;449:5:93;-1:-1:-1;;;;;199:2819:96;435:10:93;:19;431:71;;514:51:96;;;:::i;199:2819::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;1200:42:107;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;2136:32:107;199:2819:96;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;199:2819:96;;-1:-1:-1;;;;;;199:2819:96;;;;;;;-1:-1:-1;;;;;199:2819:96;3975:40:24;199:2819:96;;3975:40:24;199:2819:96;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;7131:7:106;199:2819:96;7117:21:106;;-1:-1:-1;;;;;199:2819:96;;-1:-1:-1;;;;;199:2819:96;;;7117:21:106;:10;:21;7113:71;;7218:14;;:::i;:::-;7265:25;;;;:::i;:::-;7305:17;;;;:53;;;199:2819:96;7304:87:106;;;;199:2819:96;7300:146:106;;199:2819:96;5173:21:107;9310:48:106;5173:21:107;;;:::i;:::-;7540:17:106;7528:30;7540:17;;;:::i;:::-;199:2819:96;;7528:11:106;199:2819:96;;;;;;;7528:30:106;199:2819:96;;7572:29:106;;;;;7642:30;;;;;:::i;:::-;3066:5:68;;;3463;;;199:2819:96;3060:42:68;;7752:17:106;;;7748:384;;7568:1615;;;;;;;9197:17;9193:102;;7568:1615;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;9310:48:106;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:96;3860:283:30;3426:1;199:2819:96;;;;;;;;;;;;;9193:102:106;-1:-1:-1;199:2819:96;9270:13:106;;199:2819:96;;9230:18:106;;199:2819:96;;-1:-1:-1;;;;;199:2819:96;;;9230:18:106;7556:1;199:2819:96;-1:-1:-1;;;;;199:2819:96;9270:13:106;;:::i;:::-;9193:102;;7748:384;8045:29;7813:50;7962:65;7813:50;7998:28;7914:29;7813:50;8057:16;7813:50;8077:40;7813:50;;;:::i;:::-;7914:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;7998:28:106;;:::i;8077:40::-;8057:16;;:::i;8045:29::-;199:2819:96;7748:384:106;;;;;;;7568:1615;8185:26;;;;199:2819:96;;7528:11:106;199:2819:96;;;;;;;8185:26:106;199:2819:96;8250:27:106;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;199:2819:96;3060:42:68;;8375:17:106;;8371:802;;7568:1615;;;;;;;;8371:802;9096:26;8436:50;;8537:53;8436:50;8637:54;8436:50;8637:29;8436:50;9125:33;8436:50;;;;:::i;:::-;8537:53;;;;;;:::i;:::-;8637:29;;;;:::i;:::-;:54;:::i;:::-;8714:33;;;;8710:194;;8371:802;8922:65;837:15:73;8958:28:106;9038:40;837:15:73;;;819:34;837:15;819:34;:::i;9038:40:106:-;9005:30;9017:17;;;:::i;9005:30::-;199:2819:96;9125:33:106;:::i;:::-;9096:26;199:2819:96;;7528:11:106;199:2819:96;;;;;;;9096:26:106;199:2819:96;8371:802:106;;;;;;;8710:194;8797:33;8771:59;8922:65;8797:33;;;9038:40;8797:33;;;:::i;:::-;8771:59;;:::i;:::-;8852:33;;-1:-1:-1;8852:33:106;;-1:-1:-1;8710:194:106;;7300:146;199:2819:96;;-1:-1:-1;;;7414:21:106;;199:2819:96;;7414:21:106;7304:87;7363:28;;;;7304:87;;7305:53;7341:17;;;;:::i;:::-;7326:32;;7305:53;;7113:71;199:2819:96;;-1:-1:-1;;;7161:12:106;;199:2819:96;;7161:12:106;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;4384:17:107;199:2819:96;;;;;;;4405:14:107;;;:::i;:::-;4384:17;199:2819:96;;;;;;;4404:36:107;199:2819:96;;;4404:36:107;;:::i;199:2819:96:-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;199:2819:96;2307:68:107;199:2819:96;;;;;-1:-1:-1;199:2819:96;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6491:14:106;199:2819:96;;6491:14:106;;:::i;199:2819:96:-;;;;;4994:47:107;199:2819:96;;;:::i;:::-;4994:47:107;;:::i;199:2819:96:-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;10932:22:106;199:2819:96;;;;;10928:89:106;;199:2819:96;;-1:-1:-1;;;11032:49:106;;-1:-1:-1;;;;;199:2819:96;;;11032:49:106;;;199:2819:96;;;;;;;;;;;;;;;11032:49:106;11042:17;;;199:2819:96;11032:49:106;;;;;;;-1:-1:-1;11032:49:106;;;199:2819:96;11031:50:106;;11027:102;;199:2819:96;;-1:-1:-1;;;11143:34:106;;199:2819:96;;;;;11143:34:106;199:2819:96;11143:34:106;199:2819:96;;11143:34:106;;;;;;;-1:-1:-1;11143:34:106;;;199:2819:96;11189:4:106;;;199:2819:96;;11143:51:106;11139:107;;-1:-1:-1;10932:22:106;199:2819:96;;-1:-1:-1;;;;;199:2819:96;;;;-1:-1:-1;;;;;;199:2819:96;;;;;;;-1:-1:-1;;;199:2819:96;;;11334:24:106;-1:-1:-1;;11334:24:106;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:96;3860:283:30;11139:107:106;199:2819:96;;-1:-1:-1;;;11217:18:106;;;11143:34;;;;;;;-1:-1:-1;11143:34:106;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;11027:102;-1:-1:-1;199:2819:96;;-1:-1:-1;;;11104:14:106;;;11032:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;10928:89;199:2819:96;;-1:-1:-1;;;10977:29:106;;;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;1298:40:107;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;1703:14:106;;:::i;:::-;5173:21:107;;:::i;:::-;199:2819:96;;;;1750:11:106;199:2819:96;;;;;;;;;;;;;1791:1:106;199:2819:96;;;;;;;;;1750:11:106;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;-1:-1:-1;;;;;;;;;;;199:2819:96;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;3901:31:23;199:2819:96;;;;;:::i;:::-;;;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;;-1:-1:-1;199:2819:96;;;;;;;;;;;;;;;;;3901:31:23;199:2819:96;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;199:2819:96;5606:15:107;199:2819:96;;;5606:33:107;199:2819:96;-1:-1:-1;199:2819:96;5606:33:107;:::i;199:2819:96:-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;199:2819:96;;;;-1:-1:-1;199:2819:96;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;199:2819:96;;;;;;;;;;477:31:86;;199:2819:96;;;;;;;;;;;:::i;:::-;477:31:86;199:2819:96;;477:31:86;;;;;;:::i;:::-;518:79;;;199:2819:96;518:79:86;;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;1109:35:107;199:2819:96;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;;9907:21:106;;9903:75;;-1:-1:-1;199:2819:96;;;9992:22:106;199:2819:96;;;;;;;;;;;;;9992:41:106;9988:91;;-1:-1:-1;;;;;199:2819:96;;;;;3586:22:106;199:2819:96;;;;;10145:44:106;;;;10089:40;;:31;199:2819:96;;;;;;;;;;;;;;10089:40:106;199:2819:96;;;;;;;;;;;;;;;10145:44:106;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:96;3860:283:30;9903:75:106;199:2819:96;;-1:-1:-1;;;9951:16:106;;199:2819:96;;9951:16:106;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;2666:94:107;199:2819:96;;;;;:::i;:::-;;;-1:-1:-1;199:2819:96;2666:94:107;199:2819:96;;;-1:-1:-1;199:2819:96;;;;;;;;;;;;;;;;;2666:94:107;199:2819:96;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;2816:92:107;199:2819:96;;;;;:::i;:::-;;;-1:-1:-1;199:2819:96;2816:92:107;199:2819:96;;;-1:-1:-1;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;11459:20:106;199:2819:96;;;;;11455:85:106;;-1:-1:-1;;;;;199:2819:96;;;;;;11550:312:106;;199:2819:96;11459:20:106;199:2819:96;;-1:-1:-1;;;;199:2819:96;-1:-1:-1;;;199:2819:96;;;11872:27:106;11915:20;-1:-1:-1;11915:20:106;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:96;3860:283:30;11550:312:106;199:2819:96;;-1:-1:-1;;;11597:45:106;;-1:-1:-1;;;;;199:2819:96;;11597:45:106;;;199:2819:96;;;11597:45:106;;199:2819:96;;;;;;11597:45:106;11607:15;;;199:2819:96;11597:45:106;;;;;;;-1:-1:-1;11597:45:106;;;11550:312;11596:46;;11592:104;;199:2819:96;;-1:-1:-1;;;11714:30:106;;;199:2819:96;11714:30:106;199:2819:96;11714:30:106;;;;;;;;-1:-1:-1;11714:30:106;;;11550:312;11756:4;;;199:2819:96;;11714:47:106;11710:109;;-1:-1:-1;11459:20:106;199:2819:96;;-1:-1:-1;;;;;;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;;;;;;11550:312:106;;;;;;11710:109;199:2819:96;;-1:-1:-1;;;11788:16:106;;;11714:30;;;;;;;-1:-1:-1;11714:30:106;;;;;;:::i;:::-;;;;;;11592:104;199:2819:96;;-1:-1:-1;;;11669:12:106;;199:2819:96;;11669:12:106;11597:45;;;;;;;;;;;;;;:::i;:::-;;;;11455:85;199:2819:96;;-1:-1:-1;;;11502:27:106;;;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;;;;6112:23:106;;6108:79;;6273:6;199:2819:96;6206:13:106;;;;:::i;:::-;199:2819:96;;;-1:-1:-1;199:2819:96;;;;6273:6:106;:::i;:::-;199:2819:96;;;;;;;;;;;;6302:10:106;;6296:43;;199:2819:96;6296:43:106;1949:1:30;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;;;;;;;;;;;6108:79:106;199:2819:96;;-1:-1:-1;;;6158:18:106;;199:2819:96;;6158:18:106;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;-1:-1:-1;199:2819:96;2546:64:107;199:2819:96;;;;-1:-1:-1;199:2819:96;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;2058:22:107;199:2819:96;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;5173:21:107;;:::i;199:2819:96:-;;;;;;-1:-1:-1;;199:2819:96;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;199:2819:96;;;;;;;;;;1109:35:107;;199:2819:96;;4468:23:23;4464:108;;199:2819:96;;;;10692:21:106;10688:71;;199:2819:96;;10805:22:106;199:2819:96;;;;;;;;10805:22:106;1949:1:30;-1:-1:-1;;;;;;;;;;;199:2819:96;;4464:108:23;199:2819:96;;;;4514:47:23;;;;;;966:10:28;199:2819:96;4514:47:23;;199:2819:96;;;;;4514:47:23;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;4803:22:107;;:::i;199:2819:96:-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;3123:14:106;;:::i;:::-;3154:24;;;:::i;:::-;3181:29;;;;;:::i;:::-;199:2819:96;;;;;;;3235:1:106;199:2819:96;;;;;;;3213:33:106;;;:::i;:::-;199:2819:96;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;1888:24:107;199:2819:96;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;5767:26:23;199:2819:96;;;;;;;:::i;:::-;;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;3202:4:23;4919:24;199:2819:96;-1:-1:-1;199:2819:96;4919:24:23;199:2819:96;3202:4:23;:::i;:::-;5767:26;:::i;199:2819:96:-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;675:39:107;199:2819:96;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;449:5:93;199:2819:96;;435:10:93;:19;431:71;;1742:63:96;199:2819;;-1:-1:-1;199:2819:96;1742:15;199:2819;;;-1:-1:-1;199:2819:96;1742:63;:::i;199:2819::-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;;:::i;:::-;1972:48:106;;199:2819:96;;;;;;;:::i;:::-;;;;;;;;;;;;;;2034:16:106;;2030:111;;199:2819:96;;2233:39:106;1057:70:98;2233:39:106;;4622:48:107;2196:77:106;2233:39;;;;2196:77;;:::i;:::-;2312:36;;4994:47:107;199:2819:96;2312:36:106;;;4994:47:107;;:::i;:::-;2389:37:106;;;4622:48:107;;:::i;:::-;1057:70:98;;:::i;:::-;199:2819:96;;;;;;;;;;;;;2030:111:106;2089:41;;;;-1:-1:-1;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;4622:48:107;199:2819:96;2196:77:106;199:2819:96;1057:70:98;199:2819:96;;;:::i;:::-;;;;;2030:111:106;;;;;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;2357:1:24;199:2819:96;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;199:2819:96:-;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;199:2819:96;;4890:21:106;4886:75;;4975:11;;4971:73;;845:69:98;4803:22:107;;:::i;:::-;5173:21;;:::i;:::-;845:69:98;;;:::i;:::-;5180:10:106;199:2819:96;;;;5606:15:107;199:2819:96;;;;;5180:10:106;;;5606:33:107;;;:::i;:::-;5150:41:106;;5146:96;;5267:40;;;;;:::i;5146:96::-;199:2819:96;;-1:-1:-1;;;5214:17:106;;199:2819:96;;5214:17:106;4971:73;199:2819:96;;-1:-1:-1;;;5009:24:106;;199:2819:96;;5009:24:106;199:2819:96;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;7556:1:106;199:2819:96;;;;;;;:::o;:::-;;;;;;;;;;:::o;5256:193:107:-;-1:-1:-1;;;;;199:2819:96;-1:-1:-1;199:2819:96;;;5383:15:107;199:2819:96;;;;;5383:59:107;;5256:193;;5383:59;:::i;199:2819:96:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;1167:340:82;;13510:30:106;1167:340:82;199:2819:96;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;1376:73:82;;1167:340;199:2819:96;;;;:::i;:::-;13510:30:106;199:2819:96;;;13510:30:106;;;;;;:::i;:::-;199:2819:96;;;;-1:-1:-1;;;;;199:2819:96;13555:31:106;13551:88;;13653:20;;;;199:2819:96;;;;;;;;;;13653:25:106;13649:85;;13748:29;;;199:2819:96;;13748:29:106;;199:2819:96;13748:43:106;;-1:-1:-1;;;;;199:2819:96;;;13748:43:106;;13744:943;;1167:340:82;199:2819:96;;;15647:32:106;199:2819:96;14817:36:106;199:2819:96;;;14697:30:106;199:2819:96;;;;;;;;;;;;1398:1:82;199:2819:96;;-1:-1:-1;;;;;;199:2819:96;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;14697:30:106;13510;14747:13;;199:2819:96;;;;-1:-1:-1;;;;;;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;;;;;;14771:36:106;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;199:2819:96;;-1:-1:-1;;;;199:2819:96;;;;;;-1:-1:-1;;;199:2819:96;;;;;;;;14771:36:106;199:2819:96;;;;;;1949:1:30;199:2819:96;;-1:-1:-1;;;;;199:2819:96;;;;;;-1:-1:-1;;;;;;199:2819:96;;;;;;;;14817:36:106;14864:42;199:2819:96;14883:23:106;;;199:2819:96;;;;;;;;;1398:1:82;199:2819:96;;;;;;;1398:1:82;199:2819:96;;14864:42:106;14917:38;199:2819:96;14934:21:106;;;199:2819:96;;;;;;;1398:1:82;199:2819:96;;;;;;;;;;;;1398:1:82;199:2819:96;;14917:38:106;14965:34;14980:19;;;199:2819:96;14965:34:106;199:2819:96;;14965:34:106;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;;;;15010:135:106;;1167:340:82;-1:-1:-1;15158:36:106;;;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;15154:157:106;;1167:340:82;-1:-1:-1;15324:35:106;;;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;15320:153:106;;1167:340:82;-1:-1:-1;15486:34:106;;;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;15482:152:106;;1167:340:82;-1:-1:-1;15647:32:106;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;;;;15643:145:106;;1167:340:82;:::o;15643:145:106:-;15709:68;;;:::i;:::-;;1167:340:82:o;15482:152:106:-;15550:73;;;:::i;:::-;;15482:152;;;15320:153;15389:73;;;:::i;:::-;;15320:153;;;15154:157;15224:76;;;:::i;:::-;;15154:157;;;15010:135;15073:61;;;:::i;:::-;;15010:135;;;13744:943;13811:36;;;199:2819:96;13811:50:106;;-1:-1:-1;;;;;199:2819:96;;;13811:50:106;;13807:405;;13744:943;14230:34;;;199:2819:96;14230:48:106;;-1:-1:-1;;;;;199:2819:96;;;14230:48:106;13744:943;14226:451;14302:21;;;199:2819:96;;14302:21:106;;14351:19;;;199:2819:96;14351:24:106;:74;;;14298:365;14347:150;;14298:365;;199:2819:96;15647:32:106;14298:365;14817:36;199:2819:96;;14298:365:106;;14226:451;;;;;;;13744:943;;14347:150;199:2819:96;-1:-1:-1;;;14460:14:106;;;;;14351:74;-1:-1:-1;14379:32:106;;;199:2819:96;14379:46:106;;-1:-1:-1;;;;;199:2819:96;;;14379:46:106;;14351:74;;14298:365;14525:19;;;199:2819:96;14525:24:106;;;:74;;;14298:365;14521:142;;14298:365;;199:2819:96;15647:32:106;14298:365;14817:36;199:2819:96;;14298:365:106;;;14525:74;-1:-1:-1;14553:32:106;;;199:2819:96;14553:46:106;;-1:-1:-1;;;;;199:2819:96;;;14553:46:106;;;14525:74;;13807:405;13885:23;;;199:2819:96;;13885:23:106;;13936:35;;;199:2819:96;13936:49:106;;-1:-1:-1;;;;;199:2819:96;;;13936:49:106;13807:405;13932:125;199:2819:96;-1:-1:-1;;;14020:14:106;;;;;13881:317;14085:35;;;199:2819:96;14085:49:106;;-1:-1:-1;;;;;199:2819:96;;;14085:49:106;14081:117;13807:405;14081:117;199:2819:96;-1:-1:-1;;;14165:14:106;;;;;13649:85;199:2819:96;;-1:-1:-1;;;13701:22:106;;;;;13551:88;199:2819:96;;-1:-1:-1;;;13609:19:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;2492:191:106;-1:-1:-1;;;;;199:2819:96;-1:-1:-1;199:2819:96;;;5606:15:107;199:2819:96;;;;;5606:33:107;;;:::i;:::-;5173:21;;:::i;:::-;4803:22;;:::i;:::-;199:2819:96;1884:1:98;199:2819:96;;;;;;;1884:1:98;199:2819:96;;;;;;;9478:25:68;;;:::i;199:2819:96:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;578:368::-;;;735:95;711:157;578:368;199:2819;;;;;766:63;;;;;;;;199:2819;766:63;;;199:2819;766:63;;;;;;:::i;:::-;735:95;:::i;:::-;766:63;199:2819;;;711:157;;;;;;:::i;:::-;879:61;;;578:368;:::o;879:61::-;199:2819;;;;;;;;766:63;912:17;;199:2819;766:63;912:17;;;;;:::i;199:2819::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;3612:132:107:-;819:34:73;837:15;819:34;:::i;:::-;3683:54:107;3703:17;199:2819:96;3684:36:107;199:2819:96;;;;;;;3684:36:107;;:::i;:::-;199:2819:96;;;3683:54:107;;:::i;:::-;199:2819:96;3612:132:107;:::o;3313:244::-;3418:17;199:2819:96;;;;;;;;;;;;;;3406:29:107;3402:85;;3503:47;3504:29;;;;:::i;3402:85::-;199:2819:96;;-1:-1:-1;;;3458:18:107;;;;;3361:103:30;;;;:::i;:::-;199:2819:96;;-1:-1:-1;;;;;199:2819:96;;;6521:23:106;;6517:79;;6650:11;;6646:70;;199:2819:96;6742:10:106;;;;;;-1:-1:-1;199:2819:96;;6887:49:106;;199:2819:96;;;;6864:6:106;;199:2819:96;;6821:18:106;;199:2819:96;;-1:-1:-1;;;;;199:2819:96;;;6821:18:106;6864:6;:::i;:::-;6887:49;199:2819:96;;6898:10:106;;;;6887:49;;;:::i;:::-;;;;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;199:2819:96;3860:283:30;6754:3:106;6790:9;6773:27;199:2819:96;6790:9:106;6783:17;6790:9;;;;;:::i;:::-;199:2819:96;6783:17:106;:::i;6773:27::-;6754:3;199:2819:96;6731:9:106;;6646:70;199:2819:96;;-1:-1:-1;;;6684:21:106;;;;;199:2819:96;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;;;;;;;;;:::o;1178:370::-;;;1336:96;1312:158;1178:370;199:2819;;;;;1367:64;;;;;;;;199:2819;1367:64;;;199:2819;1367:64;;;;;;:::i;199:2819::-;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;199:2819:96;;;;:::o;:::-;;;:::o;1818:400::-;199:2819;;-1:-1:-1;;;2026:75:96;;;;-1:-1:-1;;;;;199:2819:96;;;2026:75;;;199:2819;;;;;;;;;;;;;2026:75;;199:2819;;1818:400;1971:169;;1995:107;;2026:75;199:2819;2026:75;:::i;3405:215:24:-;-1:-1:-1;;;;;199:2819:96;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;199:2819:96;;-1:-1:-1;;;;;;199:2819:96;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;199:2819:96;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;199:2819:96;;;3534:31:24;2731:227:106;;2871:34;2731:227;199:2819:96;-1:-1:-1;199:2819:96;2871:18:106;199:2819:96;;;-1:-1:-1;199:2819:96;;;;;;;;;;;;;;;;;2871:34:106;199:2819:96;;-1:-1:-1;199:2819:96;2907:11:106;199:2819:96;;;-1:-1:-1;199:2819:96;;2927:16:106;199:2819:96;;;-1:-1:-1;199:2819:96;;;1884:1:98;199:2819:96;;;;;;;1884:1:98;199:2819:96;;;;;;;9478:25:68;;;:::i;2224:792:96:-;;;;;2579:34;2416:45;2357:12;199:2819;2416:45;;;:::i;:::-;2503:33;;;;;:::i;:::-;2579:34;;:::i;:::-;199:2819;;;2628:30;;;:61;;;2224:792;2628:93;;;;2224:792;2624:386;;2224:792;;;:::o;2624:386::-;199:2819;;;;2744:255;199:2819;;;;;;;;;;:::i;:::-;;;2772:213;;;199:2819;;;;2772:213;;199:2819;;;;;;2744:255;;;2772:213;2744:255;;;199:2819;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;2628:93::-;199:2819;;;2693:28;;2628:93;;:61;199:2819;;;2662:27;;2628:61;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;199:2819:96;;3670:20:30;3666:88;;1991:1;199:2819:96;;3470:384:30:o;3666:88::-;199:2819:96;;-1:-1:-1;;;3713:30:30;;;;;11948:968:106;12135:10;199:2819:96;;;;5606:15:107;199:2819:96;;;;;;11948:968:106;;;819:34:73;837:15;819:34;:::i;:::-;12135:10:106;199:2819:96;;;;5606:15:107;199:2819:96;;;;;5606:33:107;;;:::i;:::-;199:2819:96;;;;;;;;;12119:93:106;12835:74;12119:93;;;12660:30;12119:93;;:::i;:::-;837:15:73;;12222:67:106;819:34:73;837:15;819:34;:::i;:::-;12259:29:106;4803:22:107;;;:::i;12222:67:106:-;837:15:73;;12299:68:106;819:34:73;837:15;819:34;:::i;:::-;12335:31:106;5173:21:107;;;:::i;12299:68:106:-;12394:14;;12769:34;12394:14;12769:25;12394:18;:14;;:::i;:::-;:18;:::i;:::-;12726:33;12445:18;;199:2819:96;;7528:11:106;199:2819:96;;;;;;;12445:18:106;199:2819:96;12502:23:106;;199:2819:96;;12502:16:106;199:2819:96;;;;;;;12502:23:106;199:2819:96;390:70:98;;;;;:::i;:::-;12660:30:106;;;;;;:::i;:::-;12639:18;;199:2819:96;;7528:11:106;199:2819:96;;;;;;;12639:18:106;199:2819:96;12726:33:106;:::i;:::-;12700:23;;199:2819:96;;12502:16:106;199:2819:96;;;;;;;12700:23:106;199:2819:96;;;12769:18:106;199:2819:96;;;;;;;12769:25:106;199:2819:96;;;;;;;;;;;;;;;;12769:34:106;:50;199:2819:96;;;12769:50:106;:::i;:::-;199:2819:96;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;12135:10:106;;199:2819:96;;12835:74:106;11948:968::o;14296:213:69:-;199:2819:96;14374:24:69;;;;14370:103;;199:2819:96;14296:213:69;:::o;14370:103::-;199:2819:96;;;;14421:41:69;;;;;;14452:2;14421:41;;;199:2819:96;;;;;14421:41:69;1809:204:82;199:2819:96;1809:204:82;199:2819:96;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:97:-;;199:2819:96;;7686:17:97;7682:83;;199:2819:96;7789:27:97;199:2819:96;7789:27:97;199:2819:96;;7789:27:97;;;;;;:::i;:::-;7860:14;;;:::i;:::-;199:2819:96;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;199:2819:96;8075:24:97;:::o;7975:84::-;199:2819:96;;;8009:16:97;4622:13:107;199:2819:96;8009:16:97;:::i;:::-;199:2819:96;;;8001:24:97;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:23::-;199:2819:96;;;;8029:29:97;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;199:2819:96;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;199:2819:96;;7686:17:97;7682:83;;199:2819:96;7789:27:97;199:2819:96;7789:27:97;199:2819:96;;7789:27:97;;;;;;:::i;:::-;7860:14;;;:::i;:::-;199:2819:96;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;199:2819:96;;;8009:16:97;4994:12:107;199:2819:96;8009:16:97;:::i;:::-;199:2819:96;;;8001:24:97;: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::-;;199:2819:96;;7686:17:97;7682:83;;199:2819:96;7789:27:97;199:2819:96;7789:27:97;199:2819:96;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;199:2819:96;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;199:2819:96;8075:24:97;:::o;7975:84::-;199:2819:96;;;8009:16:97;199:2819:96;;8009:16:97;:::i;:::-;199:2819:96;;;8001:24:97;: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;199:2819:96;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;199:2819:96;;;;;;;;;675:39:107;;199:2819:96;;3901:31:23;199:2819:96;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;199:2819:96;;;;;;;;;966:38:107;;199:2819:96;;3901:31:23;199:2819:96;4148:103:23;966:10:28;-1:-1:-1;199:2819:96;;;;;;;;;821:37:107;;199:2819:96;;3901:31:23;199:2819:96;4148:103:23;-1:-1:-1;199:2819:96;;;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;;;;;966:10:28;199:2819:96;;;;;;;;;3901:31:23;199:2819:96;7270:387:23;-1:-1:-1;;;;;199:2819:96;;1398:1:82;199:2819:96;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:96;;;;1398:1:82;199:2819:96;;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;-1:-1:-1;;199:2819:96;7509:4:23;199:2819:96;;;966:10:28;;-1:-1:-1;;;;;199:2819:96;-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;;;;;199:2819:96;;-1:-1:-1;199:2819:96;;;;;;;;;675:39:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:96;;3901:31:23;199:2819:96;;;;-1:-1:-1;199:2819:96;;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;-1:-1:-1;;199:2819:96;7509:4:23;199:2819:96;;;966:10:28;;-1:-1:-1;;;;;199:2819:96;;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;;;;;199:2819:96;;-1:-1:-1;199:2819:96;;;;;;;;;821:37:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:96;;3901:31:23;199:2819:96;7270:387:23;-1:-1:-1;;;;;199:2819:96;;-1:-1:-1;199:2819:96;;;;;;;;;966:38:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:96;;3901:31:23;199:2819:96;7270:387:23;-1:-1:-1;;;;;199:2819:96;;-1:-1:-1;199:2819:96;;;;;;;;;1109:35:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:96;;3901:31:23;199:2819:96;7270:387:23;-1:-1:-1;199:2819:96;;;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;3901:31:23;199:2819:96;7892:388:23;-1:-1:-1;199:2819:96;;;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:96;;;;;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;-1:-1:-1;;199:2819:96;;;966:10:28;;-1:-1:-1;;;;;199:2819:96;;8155:40:23;-1:-1:-1;;8155:40:23;199:2819:96;8209:11:23;:::o;1670:188:55:-;199:2819:96;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;199:2819:96;;;1797:53:55;;;199:2819:96;;;;;;;;;;;;;;;;;1797:53:55;;;199:2819:96;;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;1797:53:55;199:2819:96;;;1797:53:55;:::i;199:2819:96:-;9219:12:97;199:2819:96;;;;;;9219:12:97;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;-1:-1:-1;199:2819:96;:::o;:::-;9219:12:97;199:2819:96;;;;;;9219:12:97;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;-1:-1:-1;199:2819:96;:::o;:::-;;;;;;;;-1:-1:-1;199:2819:96;;-1:-1:-1;199:2819:96;;;-1:-1:-1;199:2819:96;:::o;:::-;6360:12:97;199:2819:96;-1:-1:-1;;;199:2819:96;;;;;;;;;6360:12:97;199:2819:96;;;;;;6360:12:97;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;:::o;:::-;6360:12:97;199:2819:96;-1:-1:-1;;;199:2819:96;;;;;;;;;6360:12:97;199:2819:96;;;;;;6360:12:97;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;:::o;:::-;;;;;-1:-1:-1;;;199:2819:96;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:97;;;;6360:12;199:2819:96;;;6360:24:97;;6356:75;;6246:584;6474:30;;;:::i;:::-;199:2819:96;;;;;;6578:12:97;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;199:2819:96;;;;;;;;;-1:-1:-1;199:2819:96;;;-1:-1:-1;199:2819:96;;;;;;6798:25:97;199:2819:96;6246:584:97:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;199:2819:96;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:97;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;199:2819:96;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;199:2819:96;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:96;;;;-1:-1:-1;;;;;;;;;;;199:2819:96;;6356:75:97;;;6246:584;;;;6360:12;199:2819:96;;;6360:24:97;;6356:75;;6246:584;6474:30;;;:::i;:::-;199:2819:96;;;;;;6578:12:97;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;199:2819:96;;;;;;;;;-1:-1:-1;199:2819:96;;;-1:-1:-1;199:2819:96;;;;;;6798:25:97;199:2819:96;6246:584:97:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;199:2819:96;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:97;;;;;:::i;6604:::-;199:2819:96;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;199:2819:96;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:96;;;;-1:-1:-1;;;;;;;;;;;199:2819:96;;6356:75:97;;;6246:584;;;;;6360:12;;;199:2819:96;;;6360:24:97;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;199:2819:96;;;;;;6578:12:97;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;;;199:2819:96;;;;;;;6644:21:97;;;:29;:21;;:::i;6600:188::-;6753:24;;199:2819:96;;8310:38:71;;-1:-1:-1;;;;;199:2819:96;;;;;8310:38:71;:::i;:::-;6753:24:97;;;:::i;6604:::-;199:2819:96;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;199:2819:96;;;;;;6360:12:97;199:2819:96;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:97;;;199:2819:96;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:97:-;1113:13:96;199:2819;8620:15:97;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;:::i;:::-;9014:8;;9010:62;;199:2819:96;9130:48:97;9170:7;;;:::i;:::-;1113:13:96;13267:109:97;;-1:-1:-1;;;;;;;;;;;13267:109:97;13089:293;;9130:48;199:2819:96;:::i;:::-;;9252:15:97;9259:7;199:2819:96;9219:31:97;199:2819:96;9232:17:97;199:2819:96;;;;;;;;9232:17:97;;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;9219:31:97;:::i;:::-;199:2819:96;;;;;;;;;9259:7:97;;:::i;:::-;199:2819:96;;;;9252:15:97;9176:1;;9188:80;;8406:869::o;9010:62::-;9038:23;8578:11;9038:23;8578:11;9038:23;8578:11;9038:23;8578:11;9038:23;:::o;8674:241::-;8721:14;;;;;:::i;:::-;199:2819:96;;;;;;;1113:13;8578:11:97;13267:109;-1:-1:-1;;;;;;;;;;;13267:109:97;;199:2819:96;8939:60:97;;13267:109;199:2819:96;;;;;;;8753:55:97;199:2819:96;;;8828:10:97;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;8406:869;514:12:96;199:2819;8620:15:97;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;:::i;:::-;9014:8;;9010:62;;199:2819:96;9130:48:97;9170:7;;;:::i;:::-;514:12:96;13267:109:97;;-1:-1:-1;;;;;;;;;;;13267:109:97;13089:293;;199:2819:96;;9252:15:97;9259:7;199:2819:96;9219:31:97;199:2819:96;9232:17:97;199:2819:96;;;;;;;;9219:31:97;:::i;8674:241::-;8721:14;;;;;:::i;:::-;199:2819:96;;;;;;;514:12;8578:11:97;13267:109;-1:-1:-1;;;;;;;;;;;13267:109:97;;199:2819:96;8939:60:97;;13267:109;199:2819:96;;;;;;;8753:55:97;199:2819:96;;;8828:10:97;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;8406:869;;;199:2819:96;;8620:15:97;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;199:2819:96;9219:31:97;199:2819:96;9130:48:97;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;199:2819:96;;9176:1:97;199:2819:96;9232:17:97;199:2819:96;;;;;;;;9232:17:97;;199:2819:96;-1:-1:-1;;;;;199:2819:96;;;;9219:12:97;;:31;:::i;9010:62::-;8578:11;;-1:-1:-1;8578:11:97;;-1:-1:-1;8578:11:97;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;199:2819:96;;;;;;;8939:60:97;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;199:2819:96;;;;;;8753:55:97;199:2819:96;;;8753:55:97;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;199:2819:96;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;525:595:93:-;;-1:-1:-1;199:2819:96;;;;;716:88:93;;;;;199:2819:96;716:88:93;;;;;;;;;783:4;716:88;;;199:2819:96;;;;;;;;;;;:::i;716:88:93:-;698:107;;;;;;;:::i;:::-;199:2819:96;;857:45:93;;;;;;;;199:2819:96;;;;;857:45:93;;;199:2819:96;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;199:2819:96;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;199:2819:96;;;;;;;;;;916:8:93;912:175;;1096:17;525:595;:::o;912:175::-;199:2819:96;;;944:22:93;;;940:36;;990:87;;2658:162:24;-1:-1:-1;;;;;;;;;;;199:2819:96;-1:-1:-1;;;;;199:2819:96;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;199:2819:96;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;199:2819:96;;;2763:40:24;199:2819:96;;;;;;;:::o;4996:4226:68:-;;199:2819:96;;;;-1:-1:-1;;199:2819:96;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;199:2819:96;;8075:1:68;199:2819:96;8074:21:68;199:2819:96;;;940:4:59;;199:2819:96;;;;940:4:59;;199:2819:96;;;;940:4:59;;199:2819:96;;;;940:4:59;;199:2819:96;;;;940:4:59;;199:2819:96;;;;940:4:59;;199:2819:96;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;199:2819:96;6695:300:68;;7259:375;7700:21;199:2819:96;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;199:2819:96;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;1271:160:55:-;199:2819:96;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;199:2819:96;;;1380:43:55;;;199:2819:96;;;;;;;;;1380:43:55;;;;;;199:2819:96;1380:43:55;:::i;:::-;;:::i;12922:460:106:-;;13024:14;;:::i;:::-;13015:23;;;13011:75;;-1:-1:-1;199:2819:96;;;13100:20:106;199:2819:96;;;;;;;;13128:10:106;199:2819:96;;;;;;;;;;13096:93:106;;13208:32;13128:10;13208:32;;:::i;:::-;13255:11;;;13251:68;;-1:-1:-1;199:2819:96;;;13100:20:106;199:2819:96;;;;;;;;13128:10:106;199:2819:96;;;;;;;;;-1:-1:-1;;199:2819:96;13371:4:106;199:2819:96;;;12922:460:106:o;13251:68::-;199:2819:96;;-1:-1:-1;;;13289:19:106;;;;;13096:93;199:2819:96;;-1:-1:-1;;;13162:16:106;;;;;13011:75;199:2819:96;;-1:-1:-1;;;13061:14:106;;;;;10580:184:97;5173:12:107;199:2819:96;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;199:2819:96;;10726:7:97;199:2819:96;;10736:12:97;199:2819:96;;;;;;10736:12:97;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;10580:184:97;:::o;10726:31::-;;-1:-1:-1;10580:184:97;:::o;10446:63:71:-;199:2819:96;;;;;;;;5173:12:107;-1:-1:-1;13267:109:97;;;199:2819:96;;;10446:63:71;;10580:184:97;4803:13:107;199:2819:96;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;199:2819:96;;10726:7:97;199:2819:96;;10736:12:97;199:2819:96;;;;;;10736:12:97;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;10580:184:97;:::o;10446:63:71:-;199:2819:96;;;;;;;;4803:13:107;-1:-1:-1;13267:109:97;;;199:2819:96;;;10446:63:71;;10580:184:97;199:2819:96;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;199:2819:96;;10726:7:97;199:2819:96;;10736:12:97;:17;:12;;:17;:::i;10446:63:71:-;199:2819:96;;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;;-1:-1:-1;13267:109:97;;;199:2819:96;;;10446:63:71;;1662:280:98;;;1884:1;199:2819:96;;;;;;;1884:1:98;199:2819:96;;;;;;;9478:25:68;;;:::i;6999:207:97:-;4622:13:107;199:2819:96;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;199:2819:96;;7168:7:97;199:2819:96;;7178:17:97;199:2819:96;7178:17:97;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;10135:41::-;199:2819:96;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;199:2819:96;;;;;;;10049:53:71;13267:109:97;4622:13:107;-1:-1:-1;13267:109:97;199:2819:96;13267:109:97;;-1:-1:-1;;;;;;;;;;;13267:109:97;199:2819:96;;;;;9870:48:71;9866:149;199:2819:96;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:97;4994:12:107;199:2819:96;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;199:2819:96;;7168:7:97;199:2819:96;;7178:17:97;199:2819:96;7178:17:97;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;10135:48::-;10120:63;;9791:234;9838:14;;;;;:::i;:::-;199:2819:96;;;;;;;10049:53:71;13267:109:97;4994:12:107;-1:-1:-1;13267:109:97;199:2819:96;13267:109:97;;-1:-1:-1;;;;;;;;;;;13267:109:97;199:2819:96;;;;;9870:48:71;9866:149;199:2819:96;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:97;;199:2819:96;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;199:2819:96;;7168:7:97;199:2819:96;;;7178:12:97;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:97;;;;;;13089:293;;10135:48:71;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;199:2819:96;;;;;;;10049:53:71;13267:109:97;;-1:-1:-1;13267:109:97;199:2819:96;13267:109:97;;;-1:-1:-1;13267:109:97;;199:2819:96;;;;;9870:48:71;9866:149;199:2819:96;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;199:2819:96;;;;;;;:::i;:::-;-1:-1:-1;199:2819:96;;;;;;;:::o;11486:272:97:-;199:2819:96;;:::i;:::-;;;;:::i;:::-;;4622:13:107;199:2819:96;;;;;;;;4622:13:107;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;:::i;:::-;;;;;;;;;;;;11731:17:97;;199:2819:96;;11718:12:97;199:2819:96;;;;;;11718:12:97;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;;;;;:::i;:::-;;;;11672:79:97;;199:2819:96;11486:272:97;:::o;:::-;199:2819:96;;:::i;:::-;;;;:::i;:::-;;4994:12:107;199:2819:96;;;;;;;;4994:12:107;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;:::i;:::-;;;;;;;;;;;;11731:17:97;;199:2819:96;;11718:12:97;199:2819:96;;;;;;11718:12:97;-1:-1:-1;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;;;;;:::i;11486:272:97:-;;199:2819:96;11452:22:71;11718:31:97;11486:272;199:2819:96;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;199:2819:96;;:::i;:::-;;11718:12:97;199:2819:96;;;;;11731:17:97;199:2819:96;;;;;11731:17:97;;199:2819:96;;11718:12:97;;:31;:::i;:::-;199:2819:96;;;;;;;;;:::i;:::-;;;;;;11731:17:97;11672:79;;199:2819:96;11486:272:97;:::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;;;;;;199:2819:96;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;199:2819:96;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;199:2819:96;;;8401:40:55;;;199:2819:96;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:98;;;199:2819:96;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;199:2819:96;;;;;;;1258:280:98;:::o;10695:389:71:-;5173:12:107;199:2819:96;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;199:2819:96;;;;;;;;5173:12:107;10833:17:71;13267:109:97;;;199:2819:96;11014:1:71;;199:2819:96;;;;;;;11030:37:71:o;10695:389::-;4803:13:107;199:2819:96;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;199:2819:96;;;;;;;;4803:13:107;10833:17:71;13267:109:97;;;199:2819:96;11014:1:71;;199:2819:96;;;;;;;11030:37:71:o;10695:389::-;199:2819:96;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;199:2819:96;;;;;;;;;;10833:17:71;13267:109:97;;10833:17:71;13267:109:97;;;199:2819:96;11014:1:71;199:2819:96;;;;;;;11030:37:71;:::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;199:2819:96;18246:1:68;199:2819:96;22284:6:68;;;;:::i;:::-;199:2819:96;;;;;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;;;199:2819:96;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;199:2819:96;19887:61:68;;19787:87;199:2819:96;;;;;19787:87:68;;;19687;199:2819:96;;;;;19687:87:68;;;19585:89;199:2819:96;;;;;19585:89:68;;;19482:90;199:2819:96;;;;;19482:90:68;;;19379;199:2819:96;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;199:2819:96;-1:-1:-1;199:2819:96;;;;19274:92:68;;12497:447:97;;12694:10;;;;;;12926:11;;12497:447;:::o;12687:230::-;3721:5:68;;;;;199:2819:96;;3731:5:68;;;199:2819:96;;;;;;;;;1113:13;-1:-1:-1;13267:109:97;199:2819:96;13267:109:97;;-1:-1:-1;;;;;;;;;;;13267:109:97;199:2819:96;;;;;-1:-1:-1;12771:136:97;199:2819:96;;;12830:10:97;;12771:136;;12687:230;;;12771:136;199:2819:96;;;;;;;;;;;12771:136:97;;;12497:447;;12694:10;;;;;;12926:11;;12497:447;:::o;12687:230::-;3721:5:68;;;;;199:2819:96;;3731:5:68;;;199:2819:96;;;;;;;;;514:12;-1:-1:-1;13267:109:97;199:2819:96;13267:109:97;;-1:-1:-1;;;;;;;;;;;13267:109:97;199:2819:96;;;;;-1:-1:-1;12771:136:97;199:2819:96;;;12830:10:97;;12771:136;;12687:230;;;12771:136;199:2819:96;;;;;;;;;;;12771:136:97;;;12497:447;;12694:10;;;;;;12926:11;;12497:447;:::o;12687:230::-;3721:5:68;;;;;199:2819:96;;3731:5:68;;;199:2819:96;;;;;;;;;4622:13:107;-1:-1:-1;13267:109:97;199:2819:96;13267:109:97;;-1:-1:-1;;;;;;;;;;;13267:109:97;199:2819:96;;;;;-1:-1:-1;12771:136:97;199:2819:96;;;12830:10:97;;12771:136;;12687:230;;;12771:136;199:2819:96;;;;;;;;;;;12771:136:97;;;12497:447;;12694:10;;;;;;12926:11;;12497:447;:::o;12687:230::-;3721:5:68;;;;;199:2819:96;;3731:5:68;;;199:2819:96;;;;;;;;;4994:12:107;-1:-1:-1;13267:109:97;199:2819:96;13267:109:97;;-1:-1:-1;;;;;;;;;;;13267:109:97;199:2819:96;;;;;-1:-1:-1;12771:136:97;199:2819:96;;;12830:10:97;;12771:136;;12687:230;;;12771:136;199:2819:96;;;;;;;;;;;12771:136:97;;;12497:447;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:68;;;;;;199:2819:96;;3731:5:68;;;199:2819:96;;;;;;;;;13267:109:97;-1:-1:-1;13267:109:97;199:2819:96;13267:109:97;;;-1:-1:-1;13267:109:97;;199:2819:96;;;;;-1:-1:-1;12771:136:97;199:2819:96;;;12830:10:97;;12771:136;;12687:230;;;;12771:136;199:2819:96;;;;;;;;;;;12771:136:97;;;7084:141:26;199:2819:96;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;199:2819:96;;-1:-1:-1;;;7191:17:26;;;;;1776:194:59;1829:135;;;;;;;;199:2819:96;5173:12:107;199:2819:96;;-1:-1:-1;;;199:2819:96;;;;;;;;;5173:12:107;199:2819:96;;;;;;5173:12:107;-1:-1:-1;199:2819:96;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;:::o;:::-;4803:13:107;199:2819:96;;-1:-1:-1;;;199:2819:96;;;;;;;;;4803:13:107;199:2819:96;;;;;;4803:13:107;-1:-1:-1;199:2819:96;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;-1:-1:-1;;;;;;;;;;;199:2819:96;;;;:::o;:::-;;;-1:-1:-1;;;199:2819:96;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;199:2819:96;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5173:12:107;199:2819:96;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;199:2819:96;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;199:2819:96;;;;;;;;;;;;;;;;;12285:19:71;199:2819:96;;12423:25:71;;:::o;12247:163::-;199:2819:96;;12343:52:71;199:2819:96;12353:41:71;199:2819:96;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;199:2819:96;;12353:41:71;;;199:2819:96;12343:52:71;:::i;:::-;12247:163;;12099:89;199:2819:96;;-1:-1:-1;;;12143:30:71;;;;;11860:713;199:2819:96;12479:52:71;199:2819:96;12489:41:71;199:2819:96;;:::i;12489:41:71:-;-1:-1:-1;;;;;199:2819:96;;12489:41:71;;;199:2819:96;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;4803:13:107;199:2819:96;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;199:2819:96;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;199:2819:96;;;;;;;;;;;;;;;;;12247:163:71;199:2819:96;;12343:52:71;199:2819:96;12353:41:71;199:2819:96;;:::i;12353:41:71:-;-1:-1:-1;;;;;199:2819:96;;12353:41:71;;;199:2819:96;12343:52:71;:::i;11860:713::-;199:2819:96;12479:52:71;199:2819:96;12489:41:71;199:2819:96;;:::i;12489:41:71:-;-1:-1:-1;;;;;199:2819:96;;12489:41:71;;;199:2819:96;12343:52:71;:::i;11657:922::-;199:2819:96;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:97;;;;;;13089:293;;11916:28:71;199:2819:96;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;199:2819:96;;;;;;;;;;;;;;;;;12247:163:71;199:2819:96;;;12343:52:71;199:2819:96;12353:41:71;199:2819:96;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;199:2819:96;;12353:41:71;;;199:2819:96;12343:52:71;:::i;11860:713::-;199:2819:96;;12479:52:71;199:2819:96;12489:41:71;199:2819:96;;:::i;12489:41:71:-;-1:-1:-1;;;;;199:2819:96;;12489:41:71;;;199:2819:96;12343:52:71;:::i","linkReferences":{},"immutableReferences":{"60067":[{"start":2017,"length":32},{"start":2605,"length":32}],"64360":[{"start":4184,"length":32},{"start":4912,"length":32},{"start":9124,"length":32}],"70707":[{"start":4988,"length":32},{"start":6345,"length":32}],"70710":[{"start":6706,"length":32},{"start":7906,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","FACTORY()":"2dd31000","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","SLASHER_FACTORY()":"87df0788","activeBalanceOf(address)":"59f769a9","activeBalanceOfAt(address,uint48,bytes)":"efb559d6","activeBalanceOfHints(address,address,uint48)":"f9e1bf6c","activeShares()":"bfefcd7b","activeSharesAt(uint48,bytes)":"50f22068","activeSharesHint(address,uint48)":"8326056f","activeSharesHintInternal(uint48)":"55a2c672","activeSharesOf(address)":"9d66201b","activeSharesOfAt(address,uint48,bytes)":"2d73c69c","activeSharesOfHint(address,address,uint48)":"de499716","activeSharesOfHintInternal(address,uint48)":"eb556238","activeStake()":"bd49c35f","activeStakeAt(uint48,bytes)":"810da75d","activeStakeHint(address,uint48)":"64b03fdc","activeStakeHintInternal(uint48)":"67567add","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","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","owner()":"8da5cb5b","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalStake()":"8b0e9f3f","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","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\":[],\"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\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegatorAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositLimitReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientDeposit\",\"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\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"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\":\"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\"},{\"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\":\"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\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"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\":[{\"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\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeBalanceOfHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeSharesHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeSharesHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"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\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeSharesOfHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeSharesOfHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"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\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeStakeHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeStakeHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"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\":[{\"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\":\"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\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":[],\"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\":[{\"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\":\"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\":\"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\":\"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.\"}],\"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.\"}],\"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\"}},\"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\"}},\"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\"}},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"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\"}},\"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.\"},\"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\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"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\"}},\"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\"}},\"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\":{\"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.\"},\"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.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"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.\"},\"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.\"},\"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.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"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).\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"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.\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"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/hints/VaultHints.sol\":\"VaultHints\"},\"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/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/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[],"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":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DelegatorAlreadyInitialized"},{"inputs":[],"type":"error","name":"DepositLimitReached"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientClaim"},{"inputs":[],"type":"error","name":"InsufficientDeposit"},{"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":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"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":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"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":"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":[{"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":"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":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeBalanceOfHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeSharesHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeSharesHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeSharesOfHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeSharesOfHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeStakeHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeStakeHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":[{"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":"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":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[],"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":[{"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":"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":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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"}},"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"}},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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"}},"owner()":{"details":"Returns the address of the current owner."},"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"}},"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."},"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"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"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"}},"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"}},"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."},"FACTORY()":{"notice":"Get the factory's address."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"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."},"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."},"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."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"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)."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"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."},"version()":{"notice":"Get the entity's version."},"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/hints/VaultHints.sol":"VaultHints"},"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/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/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":96} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"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":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","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":"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":"activeBalanceOfHints","inputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"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":"activeSharesHint","inputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"activeSharesHintInternal","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"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":"activeSharesOfHint","inputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOfHintInternal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"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":"activeStakeHint","inputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"activeStakeHintInternal","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"hint","type":"uint32","internalType":"uint32"}],"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":"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":"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":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"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":"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":"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":"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":"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":"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":"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":"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":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DelegatorAlreadyInitialized","inputs":[]},{"type":"error","name":"DepositLimitReached","inputs":[]},{"type":"error","name":"ExternalCall","inputs":[]},{"type":"error","name":"InsufficientClaim","inputs":[]},{"type":"error","name":"InsufficientDeposit","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":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","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"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]}],"bytecode":{"object":"0x610100806040523461011057306080525f60a0525f60c0527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c1661010157506001600160401b036002600160401b0319828216016100bc575b5f60e0526040516150f4908161011582396080518181816110580152818161133001526123a4015260a05181818161137c01526118c9015260c051818181611a320152611ee2015260e0518181816107e10152610a2d0152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610062565b63f92ee8a960e01b8152600490fd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104a45780631415519b1461049f5780631b66c9e11461049a5780631e9a695014610495578063248a9ca31461049057806327810b6e1461048b578063281f5752146104865780632abe3048146104815780632d73c69c1461047c5780632dd31000146104775780632f2ff15d1461047257806336568abe1461046d578063392e53cd146104685780634105a7dd14610463578063463616711461045e57806347e7ef241461045957806348d3b775146104545780634ff0876a1461044f57806350861adc1461044a57806350f22068146104455780635346e34f1461044057806354fd4d501461043b57806355a2c6721461043657806357ec83cc1461043157806359f769a91461042c5780635cc070761461042757806361a8c8c41461042257806364b03fdc1461041d57806367567add146104185780636da3e06d146104135780636ec1e3f81461040e578063715018a6146104095780637278e31c1461040457806373790ab3146103ff57806376671808146103fa578063794b15b7146103f55780637953b33b146103f05780637c04c80a146103eb578063810da75d146103e65780638326056f146103e157806383cd9cc3146103dc57806387df0788146103d75780638b0e9f3f146103d25780638da5cb5b146103cd57806391d14854146103c85780639d66201b146103c35780639f86fd85146103be578063a1b12202146103b9578063a217fddf146103b4578063a21a1df9146103af578063a2861466146103aa578063a3b54172146103a5578063a5d03223146103a0578063aabc24961461039b578063aad3ec9614610396578063afba70ad14610391578063b13442711461038c578063bd49c35f14610387578063bdc8144b14610382578063bfefcd7b1461037d578063c31e8dd714610378578063ce9b793014610373578063d547741f1461036e578063d8dfeb4514610369578063db38871514610364578063de4997161461035f578063eb5562381461035a578063ecf7085814610355578063efb559d614610350578063f2fde38b1461034b578063f3fef3a314610346578063f5e7ee0f146103415763f9e1bf6c1461033c575f80fd5b612649565b61261f565b612579565b61254c565b6123fd565b6123e0565b61238c565b612372565b612306565b6122db565b61228f565b612267565b6121fd565b6121e3565b612105565b6120eb565b6120c3565b612099565b611fd8565b611e21565b611ddb565b611d8e565b611c9b565b611c61565b611c47565b611c23565b611b8f565b611b55565b611af7565b611ac3565b611a61565b611a1d565b611864565b61184a565b611831565b6117cb565b6117a4565b611764565b61174a565b611709565b611437565b6113d0565b6113ab565b611367565b611311565b6112e3565b611247565b61121d565b6111f6565b6110be565b611039565b611007565b610f72565b610f59565b610efc565b610edc565b610ebb565b610bfd565b610bd5565b610b3a565b610af5565b610aaa565b610a5c565b610a18565b6109a4565b61079b565b6106cd565b6106a5565b61066c565b610583565b610538565b6104fe565b346104fa5760203660031901126104fa5760043563ffffffff60e01b81168091036104fa57602090637965db0b60e01b81149081156104e9575b506040519015158152f35b6301ffc9a760e01b1490505f6104de565b5f80fd5b346104fa575f3660031901126104fa5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346104fa575f3660031901126104fa5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036104fa57565b346104fa5760403660031901126104fa576004356105a081610572565b602435906105ac61307d565b6001600160a01b0381161561065b57335f908152600e602052604090206105d790614489565b614489565b8211610649576105f76105e861439c565b6105f0614415565b90846144cc565b9182156106345782610608926130ac565b9061061f60015f8051602061507f83398151915255565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346104fa5760203660031901126104fa576004355f525f8051602061505f8339815191526020526020600160405f200154604051908152f35b346104fa575f3660031901126104fa576001546040516001600160a01b039091168152602090f35b346104fa575f3660031901126104fa576106e5612c63565b80156107465760015465ffffffffffff8160a01c16915f198101908111610741576107139160d01c90612692565b81018091116107415761072861063091613226565b60405165ffffffffffff90911681529081906020820190565b612663565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b03821682036104fa57565b9181601f840112156104fa578235916001600160401b0383116104fa57602083818601950101116104fa57565b346104fa5760403660031901126104fa576107b4610758565b6001600160401b036024358181116104fa576107d490369060040161076e565b9290916107df61307d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610859575f8051602061509f833981519152549060ff8260401c16928315610849575b50505015613258575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f808061082e565b604051631966391b60e11b8152600490fd5b65ffffffffffff8116036104fa57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176108aa57604052565b61087b565b604081019081106001600160401b038211176108aa57604052565b608081019081106001600160401b038211176108aa57604052565b90601f801991011681019081106001600160401b038211176108aa57604052565b6040519061016082018281106001600160401b038211176108aa57604052565b60405190610933826108af565b565b6001600160401b0381116108aa57601f01601f191660200190565b92919261095c82610935565b9161096a60405193846108e5565b8294818452818301116104fa578281602093845f960137010152565b9080601f830112156104fa578160206109a193359101610950565b90565b346104fa5760603660031901126104fa576004356109c181610572565b602435906109ce8261086b565b604435906001600160401b0382116104fa576020926109f4610a10933690600401610986565b6001600160a01b039092165f908152600e855260409020613416565b604051908152f35b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa5760403660031901126104fa57610aa8602435600435610a7f82610572565b805f525f8051602061505f833981519152602052610aa3600160405f2001546135ed565b6138ed565b005b346104fa5760403660031901126104fa57602435610ac781610572565b336001600160a01b03821603610ae357610aa890600435613923565b60405163334bd91960e11b8152600490fd5b346104fa575f3660031901126104fa5760ff60025460a01c1680610b21575b6020906040519015158152f35b5060035460a01c60ff16610b14565b801515036104fa57565b346104fa5760203660031901126104fa57600435610b5781610b30565b610b5f61307d565b610b676134e2565b5f54901515908160ff8216151514610bc35760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f8051602061507f83398151915255005b60405163a741a04560e01b8152600490fd5b346104fa575f3660031901126104fa57602065ffffffffffff60015460a01c16604051908152f35b346104fa576040806003193601126104fa576004803591610c1d83610572565b610c2561307d565b6001600160a01b0391838316908115610ead575f5460ff811680610e94575b610e855783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610e5d575f93610e62575b50610c999060243590309033906139b5565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610e5d57610cd8935f92610e30575b5050612685565b938415610e215760081c60ff1680610e0c575b610dfe57509061063091610d9c610d0061439c565b95610d49610d0c614415565b610d34610d1a8a838b6144cc565b99610d2e8a610d2842613226565b926126b3565b90613b09565b5050610d4389610d2842613226565b90613be9565b50506001600160a01b0381165f908152600e6020526040902090610d9688610d916105d2610d7642613226565b6001600160a01b039095165f908152600e6020526040902090565b6126b3565b91613cc5565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610de860015f8051602061507f83398151915255565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610e1984610d9161439c565b815410610ceb565b50825163070f6eed60e11b8152fd5b610e4f9250803d10610e56575b610e4781836108e5565b8101906126e1565b5f80610cd1565b503d610e3d565b6126f0565b610c99919350610e7e90853d8711610e5657610e4781836108e5565b9290610c87565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610c44565b8251630d534ce360e11b8152fd5b346104fa575f3660031901126104fa57602060ff5f54166040519015158152f35b346104fa575f3660031901126104fa57602060015460d01c604051908152f35b346104fa575f3660031901126104fa57602060ff60025460a01c166040519015158152f35b9060406003198301126104fa57600435610f3a8161086b565b91602435906001600160401b0382116104fa576109a191600401610986565b346104fa576020610a10610f6c36610f21565b9061328c565b346104fa5760203660031901126104fa57600435610f8f81610b30565b610f9761307d565b610f9f61353f565b5f54901515908160ff8260081c16151514610bc35761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610aa860015f8051602061507f83398151915255565b346104fa575f3660031901126104fa5760206001600160401b035f8051602061509f8339815191525416604051908152f35b346104fa5760203660031901126104fa576004356110568161086b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036110ac5761108f90613da7565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b346104fa5760603660031901126104fa576110d7610758565b6024356110e381610572565b6001600160401b03916044358381116104fa5761110490369060040161076e565b5f8051602061509f8339815191529491855494838616806111e55760ff8760401c169081156111d8575b50610837577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966111d39661119b958716906001600160401b0319161790556111965f8051602061509f833981519152600160401b68ff000000000000000019825416179055565b6126fb565b5f8051602061509f833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f61112e565b60405162dc149f60e41b8152600490fd5b346104fa5760203660031901126104fa576020610a1060043561121881610572565b612b1b565b346104fa5760203660031901126104fa576004355f526006602052602060405f2054604051908152f35b346104fa575f3660031901126104fa5760015465ffffffffffff61127d818360a01c1692611273612c63565b9060d01c90612692565b820180921161074157611291602092613226565b60405191168152f35b60409060031901126104fa576004356112b281610572565b906024356109a18161086b565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346104fa576106306112fd6112f73661129a565b90612ba9565b6040519182916020835260208301906112bf565b346104fa5760203660031901126104fa5760043561132e8161086b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036110ac5761108f90613eac565b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa575f3660031901126104fa57602060ff60035460a01c166040519015158152f35b346104fa575f3660031901126104fa576113e86141f3565b5f80516020614fff83398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104fa5760403660031901126104fa576004356024356114578161086b565b61145f61307d565b60035461147c906001600160a01b03165b6001600160a01b031690565b33036116f75761148a612c63565b9061149481612c97565b90821515806116e6575b80156116dd575b6116cb57610630937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926114d761439c565b946114f26114e4826126a5565b5f52600660205260405f2090565b54908281036115e5575061150681876126b3565b83811881851002811896878061159e575b50505050505b8361156a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161155a60015f8051602061507f83398151915255565b6040519081529081906020820190565b5f546115999085906115879060101c6001600160a01b0316611470565b6001546001600160a01b0316906142c2565b611523565b6115da93610cd183610d2e6115c46115bd6114e4986115d49888614235565b8096612685565b946115ce42613226565b92612685565b926126a5565b555f80808087611517565b91506115f9825f52600660205260405f2090565b549061160981610d91848a6126b3565b908482188286100282189788611624575b505050505061151d565b611699938361164c936116598c61165461164261168a998884614235565b9788958584614235565b948592612685565b612685565b938484106116a4575b610cd190610d2e6116789596976115ce42613226565b6116846114e4876126a5565b55612685565b915f52600660205260405f2090565b555f8080808061161a565b916116c0610cd1916116ba866116789798612685565b906126b3565b859450929050611662565b604051635e18d2a560e01b8152600490fd5b508282116114a5565b506116f083612677565b821061149e565b60405163dabc4ad960e01b8152600490fd5b346104fa575f3660031901126104fa5760015465ffffffffffff808260a01c1691611732612c63565b600181018091116107415761127d9160d01c90612692565b346104fa575f3660031901126104fa576020610a10612c63565b346104fa5760203660031901126104fa5760043561178181610572565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346104fa5760203660031901126104fa576020610a106004356117c68161086b565b612c97565b346104fa5760403660031901126104fa576004356117e881610572565b6024356001600160401b038082116104fa57366023830112156104fa5781600401359081116104fa573660248260051b840101116104fa5761063092602461155a930190612cd2565b346104fa576020610a1061184436610f21565b90613361565b346104fa576106306112fd61185e3661129a565b90612e00565b346104fa576020806003193601126104fa57600480359061188482610572565b61188c61307d565b60025460a01c60ff16611a0e576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e5d575f916119e1575b50156119d15760405163fbfa77cf60e01b8152838516949082818581895afa928315610e5d575f936119a2575b5050309116036119935750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610aa860015f8051602061507f83398151915255565b60405163b9f0f17160e01b8152fd5b6119c2929350803d106119ca575b6119ba81836108e5565b810190612e57565b905f80611926565b503d6119b0565b506040516324e5af8d60e21b8152fd5b611a019150823d8411611a07575b6119f981836108e5565b810190612e37565b5f6118f9565b503d6119ef565b604051631380833b60e01b8152fd5b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa575f3660031901126104fa57611a79612c63565b611a8161439c565b90805f52600660205260405f205482018092116107415760018101809111610741575f52600660205260405f2054810180911161074157602090604051908152f35b346104fa575f3660031901126104fa575f80516020614fff833981519152546040516001600160a01b039091168152602090f35b346104fa5760403660031901126104fa57602060ff611b49602435611b1b81610572565b6004355f525f8051602061505f833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346104fa5760203660031901126104fa57600435611b7281610572565b60018060a01b03165f52600e6020526020610a1060405f20614489565b346104fa5760403660031901126104fa57600435611bac81610572565b6024356001600160401b0381116104fa575f91611bce8392369060040161076e565b90816040519283928337810184815203915af4611c1b611bec612e6c565b91611c0d6040519384921515602084015260408084015260608301906112bf565b03601f1981018352826108e5565b805190602001fd5b346104fa575f3660031901126104fa57602060ff5f5460081c166040519015158152f35b346104fa575f3660031901126104fa5760206040515f8152f35b346104fa575f3660031901126104fa5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346104fa5760403660031901126104fa57600435611cb881610572565b602435611cc481610b30565b611ccc61307d565b611cd4613596565b6001600160a01b038216918215611d7c575f8381526005602052604090205460ff16151582151514610bc3576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a6291611d6391611d51908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610aa860015f8051602061507f83398151915255565b604051630da30f6560e31b8152600490fd5b346104fa5760403660031901126104fa576020611dd2602435611db081610572565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346104fa5760403660031901126104fa57602060ff611b49602435611dff81610572565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346104fa576020806003193601126104fa576004803590611e4182610572565b611e4961307d565b60035460a01c60ff16611fc9576001600160a01b03828116939084611eb7575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610aa860015f8051602061507f83398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e5d575f91611fac575b5015611f9b5760405163fbfa77cf60e01b815282818581895afa928315610e5d575f93611f7c575b505030911603611f6d5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080611e69565b604051633f3e089160e21b8152fd5b611f93929350803d106119ca576119ba81836108e5565b905f80611f3a565b60405163dabc4ad960e01b81528390fd5b611fc39150833d8511611a07576119f981836108e5565b5f611f12565b60405163703fe2e560e01b8152fd5b346104fa5760403660031901126104fa57600435611ff581610572565b6024359061200161307d565b6001600160a01b0391818316908115612087576120326106309461202483614300565b9485915f5460101c166142c2565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f8051602061507f833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346104fa5760203660031901126104fa576004355f526007602052602060405f2054604051908152f35b346104fa575f3660031901126104fa576003546040516001600160a01b039091168152602090f35b346104fa575f3660031901126104fa576020610a1061439c565b346104fa5760203660031901126104fa5760043561212161307d565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff16156121c557508060045414610bc3576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f8051602061507f83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346104fa575f3660031901126104fa576020610a10614415565b346104fa5760203660031901126104fa5760043561221a81610572565b612222612c63565b61222b82612b1b565b916122368183612f56565b830180931161074157600182018092116107415761225391612f56565b810180911161074157602090604051908152f35b346104fa575f3660031901126104fa576002546040516001600160a01b039091168152602090f35b346104fa5760403660031901126104fa57610aa86024356004356122b282610572565b805f525f8051602061505f8339815191526020526122d6600160405f2001546135ed565b613923565b346104fa575f3660031901126104fa575f5460405160109190911c6001600160a01b03168152602090f35b346104fa575f3660031901126104fa5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b60609060031901126104fa5760043561235881610572565b9060243561236581610572565b906044356109a18161086b565b346104fa576106306112fd61238636612340565b91612e9b565b346104fa5761239a3661129a565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811633036110ac5761108f92165f52600e60205260405f20613f72565b346104fa575f3660031901126104fa576020600454604051908152f35b346104fa5760603660031901126104fa5760043561241a81610572565b602435906124278261086b565b6001600160401b03916044358381116104fa5761244890369060040161076e565b909260409384516124588161088f565b606081526060602082015260608682015292806124b7575b610630866124a887876124a261248989848451916126c0565b9285612499602085015183613361565b9301519061328c565b916144cc565b90519081529081906020820190565b81019392506020818503126104fa578035908682116104fa5701926060848203126104fa578451956124e88761088f565b84358181116104fa57826124fd918701610986565b875260208501358181116104fa5782612517918701610986565b6020880152858501359081116104fa57610630966125406124a293612489936124a89801610986565b87820152939450612470565b346104fa5760203660031901126104fa57610aa860043561256c81610572565b6125746141f3565b612ee5565b346104fa5760403660031901126104fa5760043561259681610572565b6024356125a161307d565b6001600160a01b0382161561065b57801561260d576125d06125c1614415565b6125c961439c565b90836148d3565b335f908152600e602052604090209092906125ea90614489565b83116125fb576106089183916130ac565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346104fa5760403660031901126104fa576020610a1060243561264181610572565b600435612f56565b346104fa576106306112fd61265d36612340565b91612fb4565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161074157565b9190820391821161074157565b8181029291811591840414171561074157565b906001820180921161074157565b9190820180921161074157565b6001600160a01b03165f908152600e602052604090206109a1929190613416565b908160209103126104fa575190565b6040513d5f823e3d90fd5b9161274d9161273e9161270c614c4e565b612714614c4e565b60015f8051602061507f833981519152556001600160a01b0394808616612b01575b503691610950565b6020808251830101910161405c565b805182166001600160a01b031615612aef57604080820165ffffffffffff61277b825165ffffffffffff1690565b1615612ade5760c08301805190929061279c906001600160a01b0316611470565b1561298f575b50916128db6101409261287a612855612939966127f06127c8875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b0390921691909117905561284961282042613226565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b61289a61288a6060850151151590565b60ff80195f541691151516175f55565b6128c16128aa6080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6128ce60a0840151600455565b516001600160a01b031690565b84811661297f575b5060e08101516001600160a01b031684811661296f575b506101008101516001600160a01b031684811661295f575b506101208101516001600160a01b031684811661294f575b5001516001600160a01b031690565b9081166129435750565b61294c9061387e565b50565b6129589061380f565b505f61292a565b612968906137a0565b505f612912565b612978906136ca565b505f6128fa565b61298890613619565b505f6128e3565b60e08401516129a6906001600160a01b0316611470565b15612a7b575b6101208401516129c4906001600160a01b0316611470565b6127a257608084015115612a315760a08401511580612a12575b612a025750916128db6101409261287a612855612939965b949650505092506127a2565b5163183c854560e21b8152600490fd5b50610140840151612a2b906001600160a01b0316611470565b156129de565b60a084015115801590612a5b575b612a025750916128db6101409261287a612855612939966129f6565b50610140840151612a74906001600160a01b0316611470565b1515612a3f565b606084015115612ab157610100840151612a9d906001600160a01b0316611470565b6129ac575163183c854560e21b8152600490fd5b610100840151612ac9906001600160a01b0316611470565b156129ac575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b612b1590612b0d614c4e565b612574614c4e565b5f612736565b6001600160a01b03165f908152600e60205260409020612b3a90614489565b612b4261439c565b612b4a614415565b90600181018091116107415760018201809211610741576109a192614235565b519061093382610b30565b519063ffffffff821682036104fa57565b91908260409103126104fa576109a160208351612ba281610b30565b9301612b75565b9190612be5612bf49160609465ffffffffffff604051926367567add60e01b602085015216602483015260248252612be08261088f565b614125565b60208082518301019101612b86565b90612bfc5750565b90915063ffffffff60405191166020820152602081526109a1816108af565b65ffffffffffff918216908216039190821161074157565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612c5e57160490565b612c33565b612c6c42613226565b612c93600154612c8965ffffffffffff93848360a01c1690612c1b565b9060d01c90612c47565b1690565b6001549065ffffffffffff91828160a01c16918284821610612cc057612c9392612c8991612c1b565b60405163b7d0949760e01b8152600490fd5b90612cdb61307d565b5f926001600160a01b038316928315612087578115612d93575f5b828110612d7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612d46918491612d419060101c6001600160a01b0316611470565b6142c2565b612d57604051928392339684612dce565b0390a39061093360015f8051602061507f83398151915255565b94612d8c6001916116ba612d86898789612db9565b35614300565b9501612cf6565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612dc95760051b0190565b612da5565b604080825281018390529392916001600160fb1b0381116104fa5760209160609160051b809183880137850101930152565b9190612be5612bf49160609465ffffffffffff60405192632ad1633960e11b602085015216602483015260248252612be08261088f565b908160209103126104fa57516109a181610b30565b519061093382610572565b908160209103126104fa57516109a181610572565b3d15612e96573d90612e7d82610935565b91612e8b60405193846108e5565b82523d5f602084013e565b606090565b604051631d6aac4760e31b60208201526001600160a01b03909216602483015265ffffffffffff909216604480830191909152815260609291612bf491612be591612be0826108ca565b6001600160a01b03908116908115612f3e575f80516020614fff83398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612f7c90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107415760018201809211610741576109a192614235565b92919092612fd9612fc88360609684612e9b565b92612fd38184612ba9565b92612e00565b90825115801590613073575b8015613069575b612ff557505050565b6130429394506109a19291611c0d91604051936130118561088f565b84526020840190815260408401918252613058604051968795602080880152516060604088015260a08701906112bf565b915191603f1992838783030160608801526112bf565b9151908483030160808501526112bf565b5081511515612fec565b5080511515612fe5565b5f8051602061507f833981519152600281541461309a5760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e60205260409020939291906130c742613226565b335f908152600e602052604090206130de90614489565b91848303928311610741576131197febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9385936131a499613cc5565b505061313361312742613226565b610d4387611654614415565b505061314d61314142613226565b610d2e8461165461439c565b50506131f2816131dd613166613161612c63565b6126a5565b6131bc61317b825f52600660205260405f2090565b5461318e835f52600760205260405f2090565b5461319a82828b6144cc565b9d8e998a936126b3565b6131b6855f52600660205260405f2090565b556126b3565b6131ce825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6131fd8382546126b3565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b65ffffffffffff90818111613239571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b6104fa913691610950565b908160209103126104fa576109a190612b75565b90600163ffffffff8093160191821161074157565b9080511561335757806020806132a793518301019101613263565b6132b081614711565b906132c1825165ffffffffffff1690565b9065ffffffffffff808516921682811461334b57821191826132f7575b50506132ee57506109a1906144ed565b60209150015190565b909150613305600a54612677565b63ffffffff83161491821561331e575b50505f806132de565b61334391925061284961333361333892613277565b614711565b65ffffffffffff1690565b115f80613315565b50505060209150015190565b506109a1906144ed565b9080511561340c578060208061337c93518301019101613263565b61338581614796565b90613396825165ffffffffffff1690565b9065ffffffffffff808516921682811461334b57821191826133c3575b50506132ee57506109a19061459e565b9091506133d1600c54612677565b63ffffffff8316149182156133ea575b50505f806133b3565b6134049192506128496133ff61333892613277565b614796565b115f806133e1565b506109a19061459e565b918051156134d8578060208061343193518301019101613263565b9161343c8382614811565b9261344d845165ffffffffffff1690565b9065ffffffffffff80851692168281146134cc5782119182613483575b505061347a576109a19250614648565b50506020015190565b9091506134908354612677565b63ffffffff8316149182156134a9575b50505f8061346a565b6134c49192506128496134be61333892613277565b85614811565b115f806134a0565b50505050506020015190565b506109a191614648565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156121c55750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613535565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613535565b5f8181525f8051602061505f83398151915260209081526040808320338452909152902060ff90613535565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f8051602061505f8339815191529060ff166136c4575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f8051602061505f8339815191529060ff905b5416613799575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f8051602061505f8339815191529060ff90613735565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f8051602061505f8339815191529060ff90613735565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f8051602061505f8339815191529060ff90613735565b5f8181525f8051602061505f833981519152602081815260408084206001600160a01b038716855290915290912060ff90613735565b5f8181525f8051602061505f833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613799575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176108aa5761093392604052614879565b600b54811015612dc957600b5f525f8051602061503f83398151915201905f90565b600d54811015612dc957600d5f525f8051602061501f83398151915201905f90565b8054821015612dc9575f5260205f2001905f90565b600d54600160401b8110156108aa576001810180600d55811015612dc957600d5f525f8051602061501f8339815191520155565b600b54600160401b8110156108aa576001810180600b55811015612dc957600b5f525f8051602061503f8339815191520155565b90815491600160401b8310156108aa5782613af191600161093395018155613a51565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613bb4575b50613b2161490c565b50929091815492613b3061439c565b9481613b9f575b5015613b7c57505f1982018281116107415781541115612dc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613b90926001600160d01b03169150614d95565b5050613b9b83613a66565b9190565b65ffffffffffff83811691161490505f613b37565b600160401b8110156108aa5760018101808455811015612dc9575f908382525f8051602061501f83398151915201555f613b18565b919091600b9081548015613c90575b50613c01614961565b50929091815492613c10614415565b9481613c7b575b5015613c5c57505f1982018281116107415781541115612dc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613c70926001600160d01b03169150614e65565b5050613b9b83613a9a565b65ffffffffffff83811691161490505f613c17565b600160401b8110156108aa5760018101808455811015612dc9575f908382525f8051602061503f83398151915201555f613bf8565b90929192600182019081548015613d53575b5084613ce2846149b6565b50949092845493613cf283614489565b9681613d3e575b5015613d1b575050505f19810190811161074157613af18591613b9b93613a51565b613b9b949293613d37926001600160d01b039091169190614f04565b5050613ace565b65ffffffffffff83811691161490505f613cf9565b600160401b8110156108aa57806001613d6f9201845583613a51565b8154905f199060031b1b191690555f613cd7565b90604051613d90816108af565b915465ffffffffffff8116835260301c6020830152565b600a54905f829160058411613e52575b613dc19350614b1a565b8015613e4757613df1613dec613dd683612677565b600a5f525f80516020614fdf8339815191520190565b613d83565b91613e40613e37613e31613e27613e226020613e13895165ffffffffffff1690565b9801516001600160d01b031690565b613a0d565b90549060031b1c90565b93612677565b63ffffffff1690565b6001939291565b505f905f905f905f90565b9192613e5d816149ef565b810390811161074157600a5f525f80516020614fdf833981519152810154613dc1949065ffffffffffff9081169085161015613e9a575091613db7565b929150613ea6906126a5565b90613db7565b600c54905f829160058411613f18575b613ec69350614b83565b8015613e4757613ef1613dec613edb83612677565b600c5f525f80516020614fbf8339815191520190565b91613e40613e37613e31613e27613f136020613e13895165ffffffffffff1690565b613a2f565b9192613f23816149ef565b810390811161074157600c5f525f80516020614fbf833981519152810154613ec6949065ffffffffffff9081169085161015613f60575091613ebc565b929150613f6c906126a5565b90613ebc565b91908254905f829160058411613ff5575b613f8e935085614bec565b908115613fe957613e40613e37613e31613e27613fbb613dec613fb088612677565b895f5260205f200190565b966001613fe26020613fd38b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101613a51565b5f925082915081908190565b9192614000816149ef565b810390811161074157613f8e93865f526140296133388360205f200165ffffffffffff90541690565b65ffffffffffff8516101561403f575091613f83565b92915061404b906126a5565b90613f83565b51906109338261086b565b90816101609103126104fa57614070610906565b9061407a81612e4c565b825261408860208201612e4c565b602083015261409960408201614051565b60408301526140aa60608201612b6a565b60608301526140bb60808201612b6a565b608083015260a081015160a08301526140d660c08201612e4c565b60c08301526140e760e08201612e4c565b60e08301526101006140fa818301612e4c565b9083015261012061410c818301612e4c565b9083015261411e610140809201612e4c565b9082015290565b905f8060409384519360209461415c81611c0d88820194639f86fd8560e01b86523060248401528a604484015260648301906112bf565b51915afa50614169612e6c565b805181019280828486019503126104fa57828201519161418883610b30565b81810151906001600160401b0382116104fa57019084603f830112156104fa57838201516141b581610935565b956141c2835197886108e5565b8187528282850101116104fa578085925f94018388015e85010152156141e6575090565b9080519182156104fa5701fd5b5f80516020614fff833981519152546001600160a01b0316330361421357565b60405163118cdaa760e01b8152336004820152602490fd5b8115612c5e570490565b91818302915f19818509938380861095039480860395146142b557848311156142a85790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614c7c565b5050906109a1925061422b565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152610933916142fb826108ca565b614879565b90614309612c63565b82101561438a575f82815260096020908152604080832033845290915290205460ff166143785761433a3383612f56565b918215614366575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600c54806143dc57505f5b6001600160d01b038116156143d757600d54811015612dc957600d5f525f8051602061501f833981519152015490565b505f90565b805f1981011161074157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c6143a7565b600a548061445057505f5b6001600160d01b038116156143d757600b54811015612dc957600b5f525f8051602061503f833981519152015490565b805f1981011161074157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c614420565b8054806144ae57505f5b6001600160d01b038116156136c4576001613e279201613a51565b5f1990808281011161074157825f5260205f2001015460301c614493565b9190600181018091116107415760018201809211610741576109a192614235565b600a54905f829160058411614545575b6145079350614b1a565b8061452a57505f5b6001600160d01b038116156143d757613e276109a191613a0d565b614539613dd661454092612677565b5460301c90565b61450f565b9192614550816149ef565b81039081116107415761450793600a5f5265ffffffffffff80835f80516020614fdf833981519152015416908516105f1461458c5750916144fd565b929150614598906126a5565b906144fd565b600c54905f8291600584116145ef575b6145b89350614b83565b806145db57505f5b6001600160d01b038116156143d757613e276109a191613a2f565b614539613edb6145ea92612677565b6145c0565b91926145fa816149ef565b8103908111610741576145b893600c5f5265ffffffffffff80835f80516020614fbf833981519152015416908516105f146146365750916145ae565b929150614642906126a5565b906145ae565b908154905f8291600584116146ab575b614663935084614bec565b8061468b57505f905b6001600160d01b038216156136c4576109a1916001613e279201613a51565b61453961469a6146a592612677565b835f5260205f200190565b9061466c565b91926146b6816149ef565b81039081116107415761466393855f5265ffffffffffff808360205f20015416908516105f146146e7575091614658565b9291506146f3906126a5565b90614658565b60405190614706826108af565b5f6020838281520152565b6147196146f9565b506147226146f9565b50600a54811015612dc95761474990600a5f525f80516020614fdf83398151915201613d83565b65ffffffffffff81511690602060018060d01b0391015116600b54811015612dc957600b5f525f8051602061503f83398151915201546040519161478c836108af565b8252602082015290565b61479e6146f9565b506147a76146f9565b50600c54811015612dc9576147ce90600c5f525f80516020614fbf83398151915201613d83565b65ffffffffffff81511690602060018060d01b0391015116600d54811015612dc957600d5f525f8051602061501f83398151915201546040519161478c836108af565b9061483a61483461485b926148246146f9565b5061482d6146f9565b5084613a51565b50613d83565b91600165ffffffffffff845116936020828060d01b03910151169101613a51565b9054906040519261486b846108af565b835260031b1c602082015290565b905f602091828151910182855af1156126f0575f513d6148ca57506001600160a01b0381163b155b6148a85750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156148a1565b9190600181018091116107415760018201809211610741576148f6828285614235565b928215612c5e5709151581018091116107415790565b600c548061491d57505f905f905f90565b805f1981011161074157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061497257505f905f905f90565b805f1981011161074157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806149c75750505f905f905f90565b5f19918183810111610741575f5260205f2001015460019165ffffffffffff82169160301c90565b60018111156109a157600181600160801b811015614b08575b614ab0614aa6614a9c614a92614a88614a7e614abc97600488600160401b614ab79a1015614afb575b640100000000811015614aee575b62010000811015614ae1575b610100811015614ad5575b6010811015614ac9575b1015614ac1575b60030260011c614a77818b61422b565b0160011c90565b614a77818a61422b565b614a77818961422b565b614a77818861422b565b614a77818761422b565b614a77818661422b565b809361422b565b821190565b900390565b60011b614a67565b811c9160021b91614a60565b60081c91811b91614a56565b60101c9160081b91614a4b565b60201c9160101b91614a3f565b60401c9160201b91614a31565b50600160401b9050608082901c614a08565b905b828110614b2857505090565b9091808216906001818418811c830180931161074157600a5f5265ffffffffffff80845f80516020614fdf833981519152015416908616105f14614b70575050915b90614b1c565b9093925081018091116107415790614b6a565b905b828110614b9157505090565b9091808216906001818418811c830180931161074157600c5f5265ffffffffffff80845f80516020614fbf833981519152015416908616105f14614bd9575050915b90614b85565b9093925081018091116107415790614bd3565b91905b838210614bfc5750505090565b909192808316906001818518811c830180931161074157855f5265ffffffffffff808460205f20015416908516105f14614c3b575050925b9190614bef565b9094935081018091116107415791614c34565b60ff5f8051602061509f8339815191525460401c1615614c6a57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfd5b600c5490600160401b8210156108aa576001820180600c55821015612dc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614fbf83398151915290910155565b600a5490600160401b8210156108aa576001820180600a55821015612dc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614fdf83398151915290910155565b8054600160401b8110156108aa57614d5791600182018155613a51565b614d8257815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614e3c57613edb614dad91612677565b9081549165ffffffffffff90818416918316808311614e2a57869203614df257614deb92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614e2590614e11614e03610926565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614c8c565b614deb565b604051632520601d60e01b8152600490fd5b50614e6090614e4c614e03610926565b6001600160d01b0384166020820152614c8c565b5f9190565b600a549192918015614ee057613dd6614e7d91612677565b9081549165ffffffffffff90818416918316808311614e2a57869203614ebb57614deb92509065ffffffffffff82549181199060301b169116179055565b5050614e2590614ecc614e03610926565b6001600160d01b0385166020820152614ce3565b50614e6090614ef0614e03610926565b6001600160d01b0384166020820152614ce3565b80549293928015614f9957614f1b614f2691612677565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614e2a57879303614f655750614deb92509065ffffffffffff82549181199060301b169116179055565b915050614e2591614f85614f77610926565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614d3a565b5090614e6091614faa614f77610926565b6001600160d01b0385166020830152614d3a56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122096afd643cffc15a05e275ebcf57e554339f04ba03ab6025ec642ba4ec611894864736f6c63430008190033","sourceMap":"199:2819:98:-:0;;;;;;;348:4:95;332:21;;318:1:98;3173:36:109;;318:1:98;3219:32:109;;8837:64:26;199:2819:98;;;;;;;;;7896:76:26;;-1:-1:-1;;;;;;;;;;;;199:2819:98;;;7985:34:26;7981:146;;-1:-1:-1;318:1:98;927:17:84;;199:2819:98;;;;;;;;332:21:95;199:2819:98;;;;;;;;;;;;;;;3173:36:109;199:2819:98;;;;;;;;;;3219:32:109;199:2819:98;;;;;;;;;;927:17:84;199:2819:98;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;199:2819:98;;;;;;;;;;;;;8087:29:26;;199:2819:98;;8087:29:26;7981:146;;;;;7896:76;-1:-1:-1;;;7938:23:26;;;;;199:2819:98;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104a45780631415519b1461049f5780631b66c9e11461049a5780631e9a695014610495578063248a9ca31461049057806327810b6e1461048b578063281f5752146104865780632abe3048146104815780632d73c69c1461047c5780632dd31000146104775780632f2ff15d1461047257806336568abe1461046d578063392e53cd146104685780634105a7dd14610463578063463616711461045e57806347e7ef241461045957806348d3b775146104545780634ff0876a1461044f57806350861adc1461044a57806350f22068146104455780635346e34f1461044057806354fd4d501461043b57806355a2c6721461043657806357ec83cc1461043157806359f769a91461042c5780635cc070761461042757806361a8c8c41461042257806364b03fdc1461041d57806367567add146104185780636da3e06d146104135780636ec1e3f81461040e578063715018a6146104095780637278e31c1461040457806373790ab3146103ff57806376671808146103fa578063794b15b7146103f55780637953b33b146103f05780637c04c80a146103eb578063810da75d146103e65780638326056f146103e157806383cd9cc3146103dc57806387df0788146103d75780638b0e9f3f146103d25780638da5cb5b146103cd57806391d14854146103c85780639d66201b146103c35780639f86fd85146103be578063a1b12202146103b9578063a217fddf146103b4578063a21a1df9146103af578063a2861466146103aa578063a3b54172146103a5578063a5d03223146103a0578063aabc24961461039b578063aad3ec9614610396578063afba70ad14610391578063b13442711461038c578063bd49c35f14610387578063bdc8144b14610382578063bfefcd7b1461037d578063c31e8dd714610378578063ce9b793014610373578063d547741f1461036e578063d8dfeb4514610369578063db38871514610364578063de4997161461035f578063eb5562381461035a578063ecf7085814610355578063efb559d614610350578063f2fde38b1461034b578063f3fef3a314610346578063f5e7ee0f146103415763f9e1bf6c1461033c575f80fd5b612649565b61261f565b612579565b61254c565b6123fd565b6123e0565b61238c565b612372565b612306565b6122db565b61228f565b612267565b6121fd565b6121e3565b612105565b6120eb565b6120c3565b612099565b611fd8565b611e21565b611ddb565b611d8e565b611c9b565b611c61565b611c47565b611c23565b611b8f565b611b55565b611af7565b611ac3565b611a61565b611a1d565b611864565b61184a565b611831565b6117cb565b6117a4565b611764565b61174a565b611709565b611437565b6113d0565b6113ab565b611367565b611311565b6112e3565b611247565b61121d565b6111f6565b6110be565b611039565b611007565b610f72565b610f59565b610efc565b610edc565b610ebb565b610bfd565b610bd5565b610b3a565b610af5565b610aaa565b610a5c565b610a18565b6109a4565b61079b565b6106cd565b6106a5565b61066c565b610583565b610538565b6104fe565b346104fa5760203660031901126104fa5760043563ffffffff60e01b81168091036104fa57602090637965db0b60e01b81149081156104e9575b506040519015158152f35b6301ffc9a760e01b1490505f6104de565b5f80fd5b346104fa575f3660031901126104fa5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346104fa575f3660031901126104fa5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036104fa57565b346104fa5760403660031901126104fa576004356105a081610572565b602435906105ac61307d565b6001600160a01b0381161561065b57335f908152600e602052604090206105d790614489565b614489565b8211610649576105f76105e861439c565b6105f0614415565b90846144cc565b9182156106345782610608926130ac565b9061061f60015f8051602061507f83398151915255565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346104fa5760203660031901126104fa576004355f525f8051602061505f8339815191526020526020600160405f200154604051908152f35b346104fa575f3660031901126104fa576001546040516001600160a01b039091168152602090f35b346104fa575f3660031901126104fa576106e5612c63565b80156107465760015465ffffffffffff8160a01c16915f198101908111610741576107139160d01c90612692565b81018091116107415761072861063091613226565b60405165ffffffffffff90911681529081906020820190565b612663565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b03821682036104fa57565b9181601f840112156104fa578235916001600160401b0383116104fa57602083818601950101116104fa57565b346104fa5760403660031901126104fa576107b4610758565b6001600160401b036024358181116104fa576107d490369060040161076e565b9290916107df61307d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610859575f8051602061509f833981519152549060ff8260401c16928315610849575b50505015613258575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f808061082e565b604051631966391b60e11b8152600490fd5b65ffffffffffff8116036104fa57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176108aa57604052565b61087b565b604081019081106001600160401b038211176108aa57604052565b608081019081106001600160401b038211176108aa57604052565b90601f801991011681019081106001600160401b038211176108aa57604052565b6040519061016082018281106001600160401b038211176108aa57604052565b60405190610933826108af565b565b6001600160401b0381116108aa57601f01601f191660200190565b92919261095c82610935565b9161096a60405193846108e5565b8294818452818301116104fa578281602093845f960137010152565b9080601f830112156104fa578160206109a193359101610950565b90565b346104fa5760603660031901126104fa576004356109c181610572565b602435906109ce8261086b565b604435906001600160401b0382116104fa576020926109f4610a10933690600401610986565b6001600160a01b039092165f908152600e855260409020613416565b604051908152f35b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa5760403660031901126104fa57610aa8602435600435610a7f82610572565b805f525f8051602061505f833981519152602052610aa3600160405f2001546135ed565b6138ed565b005b346104fa5760403660031901126104fa57602435610ac781610572565b336001600160a01b03821603610ae357610aa890600435613923565b60405163334bd91960e11b8152600490fd5b346104fa575f3660031901126104fa5760ff60025460a01c1680610b21575b6020906040519015158152f35b5060035460a01c60ff16610b14565b801515036104fa57565b346104fa5760203660031901126104fa57600435610b5781610b30565b610b5f61307d565b610b676134e2565b5f54901515908160ff8216151514610bc35760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f8051602061507f83398151915255005b60405163a741a04560e01b8152600490fd5b346104fa575f3660031901126104fa57602065ffffffffffff60015460a01c16604051908152f35b346104fa576040806003193601126104fa576004803591610c1d83610572565b610c2561307d565b6001600160a01b0391838316908115610ead575f5460ff811680610e94575b610e855783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610e5d575f93610e62575b50610c999060243590309033906139b5565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610e5d57610cd8935f92610e30575b5050612685565b938415610e215760081c60ff1680610e0c575b610dfe57509061063091610d9c610d0061439c565b95610d49610d0c614415565b610d34610d1a8a838b6144cc565b99610d2e8a610d2842613226565b926126b3565b90613b09565b5050610d4389610d2842613226565b90613be9565b50506001600160a01b0381165f908152600e6020526040902090610d9688610d916105d2610d7642613226565b6001600160a01b039095165f908152600e6020526040902090565b6126b3565b91613cc5565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610de860015f8051602061507f83398151915255565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610e1984610d9161439c565b815410610ceb565b50825163070f6eed60e11b8152fd5b610e4f9250803d10610e56575b610e4781836108e5565b8101906126e1565b5f80610cd1565b503d610e3d565b6126f0565b610c99919350610e7e90853d8711610e5657610e4781836108e5565b9290610c87565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610c44565b8251630d534ce360e11b8152fd5b346104fa575f3660031901126104fa57602060ff5f54166040519015158152f35b346104fa575f3660031901126104fa57602060015460d01c604051908152f35b346104fa575f3660031901126104fa57602060ff60025460a01c166040519015158152f35b9060406003198301126104fa57600435610f3a8161086b565b91602435906001600160401b0382116104fa576109a191600401610986565b346104fa576020610a10610f6c36610f21565b9061328c565b346104fa5760203660031901126104fa57600435610f8f81610b30565b610f9761307d565b610f9f61353f565b5f54901515908160ff8260081c16151514610bc35761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610aa860015f8051602061507f83398151915255565b346104fa575f3660031901126104fa5760206001600160401b035f8051602061509f8339815191525416604051908152f35b346104fa5760203660031901126104fa576004356110568161086b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036110ac5761108f90613da7565b60408051941515855263ffffffff91909116602085015292915050f35b604051637ca475e560e11b8152600490fd5b346104fa5760603660031901126104fa576110d7610758565b6024356110e381610572565b6001600160401b03916044358381116104fa5761110490369060040161076e565b5f8051602061509f8339815191529491855494838616806111e55760ff8760401c169081156111d8575b50610837577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966111d39661119b958716906001600160401b0319161790556111965f8051602061509f833981519152600160401b68ff000000000000000019825416179055565b6126fb565b5f8051602061509f833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f61112e565b60405162dc149f60e41b8152600490fd5b346104fa5760203660031901126104fa576020610a1060043561121881610572565b612b1b565b346104fa5760203660031901126104fa576004355f526006602052602060405f2054604051908152f35b346104fa575f3660031901126104fa5760015465ffffffffffff61127d818360a01c1692611273612c63565b9060d01c90612692565b820180921161074157611291602092613226565b60405191168152f35b60409060031901126104fa576004356112b281610572565b906024356109a18161086b565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b346104fa576106306112fd6112f73661129a565b90612ba9565b6040519182916020835260208301906112bf565b346104fa5760203660031901126104fa5760043561132e8161086b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036110ac5761108f90613eac565b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa575f3660031901126104fa57602060ff60035460a01c166040519015158152f35b346104fa575f3660031901126104fa576113e86141f3565b5f80516020614fff83398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104fa5760403660031901126104fa576004356024356114578161086b565b61145f61307d565b60035461147c906001600160a01b03165b6001600160a01b031690565b33036116f75761148a612c63565b9061149481612c97565b90821515806116e6575b80156116dd575b6116cb57610630937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926114d761439c565b946114f26114e4826126a5565b5f52600660205260405f2090565b54908281036115e5575061150681876126b3565b83811881851002811896878061159e575b50505050505b8361156a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161155a60015f8051602061507f83398151915255565b6040519081529081906020820190565b5f546115999085906115879060101c6001600160a01b0316611470565b6001546001600160a01b0316906142c2565b611523565b6115da93610cd183610d2e6115c46115bd6114e4986115d49888614235565b8096612685565b946115ce42613226565b92612685565b926126a5565b555f80808087611517565b91506115f9825f52600660205260405f2090565b549061160981610d91848a6126b3565b908482188286100282189788611624575b505050505061151d565b611699938361164c936116598c61165461164261168a998884614235565b9788958584614235565b948592612685565b612685565b938484106116a4575b610cd190610d2e6116789596976115ce42613226565b6116846114e4876126a5565b55612685565b915f52600660205260405f2090565b555f8080808061161a565b916116c0610cd1916116ba866116789798612685565b906126b3565b859450929050611662565b604051635e18d2a560e01b8152600490fd5b508282116114a5565b506116f083612677565b821061149e565b60405163dabc4ad960e01b8152600490fd5b346104fa575f3660031901126104fa5760015465ffffffffffff808260a01c1691611732612c63565b600181018091116107415761127d9160d01c90612692565b346104fa575f3660031901126104fa576020610a10612c63565b346104fa5760203660031901126104fa5760043561178181610572565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346104fa5760203660031901126104fa576020610a106004356117c68161086b565b612c97565b346104fa5760403660031901126104fa576004356117e881610572565b6024356001600160401b038082116104fa57366023830112156104fa5781600401359081116104fa573660248260051b840101116104fa5761063092602461155a930190612cd2565b346104fa576020610a1061184436610f21565b90613361565b346104fa576106306112fd61185e3661129a565b90612e00565b346104fa576020806003193601126104fa57600480359061188482610572565b61188c61307d565b60025460a01c60ff16611a0e576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e5d575f916119e1575b50156119d15760405163fbfa77cf60e01b8152838516949082818581895afa928315610e5d575f936119a2575b5050309116036119935750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610aa860015f8051602061507f83398151915255565b60405163b9f0f17160e01b8152fd5b6119c2929350803d106119ca575b6119ba81836108e5565b810190612e57565b905f80611926565b503d6119b0565b506040516324e5af8d60e21b8152fd5b611a019150823d8411611a07575b6119f981836108e5565b810190612e37565b5f6118f9565b503d6119ef565b604051631380833b60e01b8152fd5b346104fa575f3660031901126104fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104fa575f3660031901126104fa57611a79612c63565b611a8161439c565b90805f52600660205260405f205482018092116107415760018101809111610741575f52600660205260405f2054810180911161074157602090604051908152f35b346104fa575f3660031901126104fa575f80516020614fff833981519152546040516001600160a01b039091168152602090f35b346104fa5760403660031901126104fa57602060ff611b49602435611b1b81610572565b6004355f525f8051602061505f833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346104fa5760203660031901126104fa57600435611b7281610572565b60018060a01b03165f52600e6020526020610a1060405f20614489565b346104fa5760403660031901126104fa57600435611bac81610572565b6024356001600160401b0381116104fa575f91611bce8392369060040161076e565b90816040519283928337810184815203915af4611c1b611bec612e6c565b91611c0d6040519384921515602084015260408084015260608301906112bf565b03601f1981018352826108e5565b805190602001fd5b346104fa575f3660031901126104fa57602060ff5f5460081c166040519015158152f35b346104fa575f3660031901126104fa5760206040515f8152f35b346104fa575f3660031901126104fa5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346104fa5760403660031901126104fa57600435611cb881610572565b602435611cc481610b30565b611ccc61307d565b611cd4613596565b6001600160a01b038216918215611d7c575f8381526005602052604090205460ff16151582151514610bc3576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a6291611d6391611d51908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610aa860015f8051602061507f83398151915255565b604051630da30f6560e31b8152600490fd5b346104fa5760403660031901126104fa576020611dd2602435611db081610572565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346104fa5760403660031901126104fa57602060ff611b49602435611dff81610572565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346104fa576020806003193601126104fa576004803590611e4182610572565b611e4961307d565b60035460a01c60ff16611fc9576001600160a01b03828116939084611eb7575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610aa860015f8051602061507f83398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e5d575f91611fac575b5015611f9b5760405163fbfa77cf60e01b815282818581895afa928315610e5d575f93611f7c575b505030911603611f6d5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080611e69565b604051633f3e089160e21b8152fd5b611f93929350803d106119ca576119ba81836108e5565b905f80611f3a565b60405163dabc4ad960e01b81528390fd5b611fc39150833d8511611a07576119f981836108e5565b5f611f12565b60405163703fe2e560e01b8152fd5b346104fa5760403660031901126104fa57600435611ff581610572565b6024359061200161307d565b6001600160a01b0391818316908115612087576120326106309461202483614300565b9485915f5460101c166142c2565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f8051602061507f833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346104fa5760203660031901126104fa576004355f526007602052602060405f2054604051908152f35b346104fa575f3660031901126104fa576003546040516001600160a01b039091168152602090f35b346104fa575f3660031901126104fa576020610a1061439c565b346104fa5760203660031901126104fa5760043561212161307d565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff16156121c557508060045414610bc3576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f8051602061507f83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346104fa575f3660031901126104fa576020610a10614415565b346104fa5760203660031901126104fa5760043561221a81610572565b612222612c63565b61222b82612b1b565b916122368183612f56565b830180931161074157600182018092116107415761225391612f56565b810180911161074157602090604051908152f35b346104fa575f3660031901126104fa576002546040516001600160a01b039091168152602090f35b346104fa5760403660031901126104fa57610aa86024356004356122b282610572565b805f525f8051602061505f8339815191526020526122d6600160405f2001546135ed565b613923565b346104fa575f3660031901126104fa575f5460405160109190911c6001600160a01b03168152602090f35b346104fa575f3660031901126104fa5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b60609060031901126104fa5760043561235881610572565b9060243561236581610572565b906044356109a18161086b565b346104fa576106306112fd61238636612340565b91612e9b565b346104fa5761239a3661129a565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811633036110ac5761108f92165f52600e60205260405f20613f72565b346104fa575f3660031901126104fa576020600454604051908152f35b346104fa5760603660031901126104fa5760043561241a81610572565b602435906124278261086b565b6001600160401b03916044358381116104fa5761244890369060040161076e565b909260409384516124588161088f565b606081526060602082015260608682015292806124b7575b610630866124a887876124a261248989848451916126c0565b9285612499602085015183613361565b9301519061328c565b916144cc565b90519081529081906020820190565b81019392506020818503126104fa578035908682116104fa5701926060848203126104fa578451956124e88761088f565b84358181116104fa57826124fd918701610986565b875260208501358181116104fa5782612517918701610986565b6020880152858501359081116104fa57610630966125406124a293612489936124a89801610986565b87820152939450612470565b346104fa5760203660031901126104fa57610aa860043561256c81610572565b6125746141f3565b612ee5565b346104fa5760403660031901126104fa5760043561259681610572565b6024356125a161307d565b6001600160a01b0382161561065b57801561260d576125d06125c1614415565b6125c961439c565b90836148d3565b335f908152600e602052604090209092906125ea90614489565b83116125fb576106089183916130ac565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346104fa5760403660031901126104fa576020610a1060243561264181610572565b600435612f56565b346104fa576106306112fd61265d36612340565b91612fb4565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161074157565b9190820391821161074157565b8181029291811591840414171561074157565b906001820180921161074157565b9190820180921161074157565b6001600160a01b03165f908152600e602052604090206109a1929190613416565b908160209103126104fa575190565b6040513d5f823e3d90fd5b9161274d9161273e9161270c614c4e565b612714614c4e565b60015f8051602061507f833981519152556001600160a01b0394808616612b01575b503691610950565b6020808251830101910161405c565b805182166001600160a01b031615612aef57604080820165ffffffffffff61277b825165ffffffffffff1690565b1615612ade5760c08301805190929061279c906001600160a01b0316611470565b1561298f575b50916128db6101409261287a612855612939966127f06127c8875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b0390921691909117905561284961282042613226565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b61289a61288a6060850151151590565b60ff80195f541691151516175f55565b6128c16128aa6080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6128ce60a0840151600455565b516001600160a01b031690565b84811661297f575b5060e08101516001600160a01b031684811661296f575b506101008101516001600160a01b031684811661295f575b506101208101516001600160a01b031684811661294f575b5001516001600160a01b031690565b9081166129435750565b61294c9061387e565b50565b6129589061380f565b505f61292a565b612968906137a0565b505f612912565b612978906136ca565b505f6128fa565b61298890613619565b505f6128e3565b60e08401516129a6906001600160a01b0316611470565b15612a7b575b6101208401516129c4906001600160a01b0316611470565b6127a257608084015115612a315760a08401511580612a12575b612a025750916128db6101409261287a612855612939965b949650505092506127a2565b5163183c854560e21b8152600490fd5b50610140840151612a2b906001600160a01b0316611470565b156129de565b60a084015115801590612a5b575b612a025750916128db6101409261287a612855612939966129f6565b50610140840151612a74906001600160a01b0316611470565b1515612a3f565b606084015115612ab157610100840151612a9d906001600160a01b0316611470565b6129ac575163183c854560e21b8152600490fd5b610100840151612ac9906001600160a01b0316611470565b156129ac575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b612b1590612b0d614c4e565b612574614c4e565b5f612736565b6001600160a01b03165f908152600e60205260409020612b3a90614489565b612b4261439c565b612b4a614415565b90600181018091116107415760018201809211610741576109a192614235565b519061093382610b30565b519063ffffffff821682036104fa57565b91908260409103126104fa576109a160208351612ba281610b30565b9301612b75565b9190612be5612bf49160609465ffffffffffff604051926367567add60e01b602085015216602483015260248252612be08261088f565b614125565b60208082518301019101612b86565b90612bfc5750565b90915063ffffffff60405191166020820152602081526109a1816108af565b65ffffffffffff918216908216039190821161074157565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612c5e57160490565b612c33565b612c6c42613226565b612c93600154612c8965ffffffffffff93848360a01c1690612c1b565b9060d01c90612c47565b1690565b6001549065ffffffffffff91828160a01c16918284821610612cc057612c9392612c8991612c1b565b60405163b7d0949760e01b8152600490fd5b90612cdb61307d565b5f926001600160a01b038316928315612087578115612d93575f5b828110612d7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612d46918491612d419060101c6001600160a01b0316611470565b6142c2565b612d57604051928392339684612dce565b0390a39061093360015f8051602061507f83398151915255565b94612d8c6001916116ba612d86898789612db9565b35614300565b9501612cf6565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612dc95760051b0190565b612da5565b604080825281018390529392916001600160fb1b0381116104fa5760209160609160051b809183880137850101930152565b9190612be5612bf49160609465ffffffffffff60405192632ad1633960e11b602085015216602483015260248252612be08261088f565b908160209103126104fa57516109a181610b30565b519061093382610572565b908160209103126104fa57516109a181610572565b3d15612e96573d90612e7d82610935565b91612e8b60405193846108e5565b82523d5f602084013e565b606090565b604051631d6aac4760e31b60208201526001600160a01b03909216602483015265ffffffffffff909216604480830191909152815260609291612bf491612be591612be0826108ca565b6001600160a01b03908116908115612f3e575f80516020614fff83398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612f7c90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107415760018201809211610741576109a192614235565b92919092612fd9612fc88360609684612e9b565b92612fd38184612ba9565b92612e00565b90825115801590613073575b8015613069575b612ff557505050565b6130429394506109a19291611c0d91604051936130118561088f565b84526020840190815260408401918252613058604051968795602080880152516060604088015260a08701906112bf565b915191603f1992838783030160608801526112bf565b9151908483030160808501526112bf565b5081511515612fec565b5080511515612fe5565b5f8051602061507f833981519152600281541461309a5760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e60205260409020939291906130c742613226565b335f908152600e602052604090206130de90614489565b91848303928311610741576131197febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9385936131a499613cc5565b505061313361312742613226565b610d4387611654614415565b505061314d61314142613226565b610d2e8461165461439c565b50506131f2816131dd613166613161612c63565b6126a5565b6131bc61317b825f52600660205260405f2090565b5461318e835f52600760205260405f2090565b5461319a82828b6144cc565b9d8e998a936126b3565b6131b6855f52600660205260405f2090565b556126b3565b6131ce825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6131fd8382546126b3565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b65ffffffffffff90818111613239571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b6104fa913691610950565b908160209103126104fa576109a190612b75565b90600163ffffffff8093160191821161074157565b9080511561335757806020806132a793518301019101613263565b6132b081614711565b906132c1825165ffffffffffff1690565b9065ffffffffffff808516921682811461334b57821191826132f7575b50506132ee57506109a1906144ed565b60209150015190565b909150613305600a54612677565b63ffffffff83161491821561331e575b50505f806132de565b61334391925061284961333361333892613277565b614711565b65ffffffffffff1690565b115f80613315565b50505060209150015190565b506109a1906144ed565b9080511561340c578060208061337c93518301019101613263565b61338581614796565b90613396825165ffffffffffff1690565b9065ffffffffffff808516921682811461334b57821191826133c3575b50506132ee57506109a19061459e565b9091506133d1600c54612677565b63ffffffff8316149182156133ea575b50505f806133b3565b6134049192506128496133ff61333892613277565b614796565b115f806133e1565b506109a19061459e565b918051156134d8578060208061343193518301019101613263565b9161343c8382614811565b9261344d845165ffffffffffff1690565b9065ffffffffffff80851692168281146134cc5782119182613483575b505061347a576109a19250614648565b50506020015190565b9091506134908354612677565b63ffffffff8316149182156134a9575b50505f8061346a565b6134c49192506128496134be61333892613277565b85614811565b115f806134a0565b50505050506020015190565b506109a191614648565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156121c55750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613535565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613535565b5f8181525f8051602061505f83398151915260209081526040808320338452909152902060ff90613535565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f8051602061505f8339815191529060ff166136c4575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f8051602061505f8339815191529060ff905b5416613799575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f8051602061505f8339815191529060ff90613735565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f8051602061505f8339815191529060ff90613735565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f8051602061505f8339815191529060ff90613735565b5f8181525f8051602061505f833981519152602081815260408084206001600160a01b038716855290915290912060ff90613735565b5f8181525f8051602061505f833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613799575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176108aa5761093392604052614879565b600b54811015612dc957600b5f525f8051602061503f83398151915201905f90565b600d54811015612dc957600d5f525f8051602061501f83398151915201905f90565b8054821015612dc9575f5260205f2001905f90565b600d54600160401b8110156108aa576001810180600d55811015612dc957600d5f525f8051602061501f8339815191520155565b600b54600160401b8110156108aa576001810180600b55811015612dc957600b5f525f8051602061503f8339815191520155565b90815491600160401b8310156108aa5782613af191600161093395018155613a51565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613bb4575b50613b2161490c565b50929091815492613b3061439c565b9481613b9f575b5015613b7c57505f1982018281116107415781541115612dc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613b90926001600160d01b03169150614d95565b5050613b9b83613a66565b9190565b65ffffffffffff83811691161490505f613b37565b600160401b8110156108aa5760018101808455811015612dc9575f908382525f8051602061501f83398151915201555f613b18565b919091600b9081548015613c90575b50613c01614961565b50929091815492613c10614415565b9481613c7b575b5015613c5c57505f1982018281116107415781541115612dc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613c70926001600160d01b03169150614e65565b5050613b9b83613a9a565b65ffffffffffff83811691161490505f613c17565b600160401b8110156108aa5760018101808455811015612dc9575f908382525f8051602061503f83398151915201555f613bf8565b90929192600182019081548015613d53575b5084613ce2846149b6565b50949092845493613cf283614489565b9681613d3e575b5015613d1b575050505f19810190811161074157613af18591613b9b93613a51565b613b9b949293613d37926001600160d01b039091169190614f04565b5050613ace565b65ffffffffffff83811691161490505f613cf9565b600160401b8110156108aa57806001613d6f9201845583613a51565b8154905f199060031b1b191690555f613cd7565b90604051613d90816108af565b915465ffffffffffff8116835260301c6020830152565b600a54905f829160058411613e52575b613dc19350614b1a565b8015613e4757613df1613dec613dd683612677565b600a5f525f80516020614fdf8339815191520190565b613d83565b91613e40613e37613e31613e27613e226020613e13895165ffffffffffff1690565b9801516001600160d01b031690565b613a0d565b90549060031b1c90565b93612677565b63ffffffff1690565b6001939291565b505f905f905f905f90565b9192613e5d816149ef565b810390811161074157600a5f525f80516020614fdf833981519152810154613dc1949065ffffffffffff9081169085161015613e9a575091613db7565b929150613ea6906126a5565b90613db7565b600c54905f829160058411613f18575b613ec69350614b83565b8015613e4757613ef1613dec613edb83612677565b600c5f525f80516020614fbf8339815191520190565b91613e40613e37613e31613e27613f136020613e13895165ffffffffffff1690565b613a2f565b9192613f23816149ef565b810390811161074157600c5f525f80516020614fbf833981519152810154613ec6949065ffffffffffff9081169085161015613f60575091613ebc565b929150613f6c906126a5565b90613ebc565b91908254905f829160058411613ff5575b613f8e935085614bec565b908115613fe957613e40613e37613e31613e27613fbb613dec613fb088612677565b895f5260205f200190565b966001613fe26020613fd38b5165ffffffffffff1690565b9a01516001600160d01b031690565b9101613a51565b5f925082915081908190565b9192614000816149ef565b810390811161074157613f8e93865f526140296133388360205f200165ffffffffffff90541690565b65ffffffffffff8516101561403f575091613f83565b92915061404b906126a5565b90613f83565b51906109338261086b565b90816101609103126104fa57614070610906565b9061407a81612e4c565b825261408860208201612e4c565b602083015261409960408201614051565b60408301526140aa60608201612b6a565b60608301526140bb60808201612b6a565b608083015260a081015160a08301526140d660c08201612e4c565b60c08301526140e760e08201612e4c565b60e08301526101006140fa818301612e4c565b9083015261012061410c818301612e4c565b9083015261411e610140809201612e4c565b9082015290565b905f8060409384519360209461415c81611c0d88820194639f86fd8560e01b86523060248401528a604484015260648301906112bf565b51915afa50614169612e6c565b805181019280828486019503126104fa57828201519161418883610b30565b81810151906001600160401b0382116104fa57019084603f830112156104fa57838201516141b581610935565b956141c2835197886108e5565b8187528282850101116104fa578085925f94018388015e85010152156141e6575090565b9080519182156104fa5701fd5b5f80516020614fff833981519152546001600160a01b0316330361421357565b60405163118cdaa760e01b8152336004820152602490fd5b8115612c5e570490565b91818302915f19818509938380861095039480860395146142b557848311156142a85790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614c7c565b5050906109a1925061422b565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152610933916142fb826108ca565b614879565b90614309612c63565b82101561438a575f82815260096020908152604080832033845290915290205460ff166143785761433a3383612f56565b918215614366575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600c54806143dc57505f5b6001600160d01b038116156143d757600d54811015612dc957600d5f525f8051602061501f833981519152015490565b505f90565b805f1981011161074157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c6143a7565b600a548061445057505f5b6001600160d01b038116156143d757600b54811015612dc957600b5f525f8051602061503f833981519152015490565b805f1981011161074157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c614420565b8054806144ae57505f5b6001600160d01b038116156136c4576001613e279201613a51565b5f1990808281011161074157825f5260205f2001015460301c614493565b9190600181018091116107415760018201809211610741576109a192614235565b600a54905f829160058411614545575b6145079350614b1a565b8061452a57505f5b6001600160d01b038116156143d757613e276109a191613a0d565b614539613dd661454092612677565b5460301c90565b61450f565b9192614550816149ef565b81039081116107415761450793600a5f5265ffffffffffff80835f80516020614fdf833981519152015416908516105f1461458c5750916144fd565b929150614598906126a5565b906144fd565b600c54905f8291600584116145ef575b6145b89350614b83565b806145db57505f5b6001600160d01b038116156143d757613e276109a191613a2f565b614539613edb6145ea92612677565b6145c0565b91926145fa816149ef565b8103908111610741576145b893600c5f5265ffffffffffff80835f80516020614fbf833981519152015416908516105f146146365750916145ae565b929150614642906126a5565b906145ae565b908154905f8291600584116146ab575b614663935084614bec565b8061468b57505f905b6001600160d01b038216156136c4576109a1916001613e279201613a51565b61453961469a6146a592612677565b835f5260205f200190565b9061466c565b91926146b6816149ef565b81039081116107415761466393855f5265ffffffffffff808360205f20015416908516105f146146e7575091614658565b9291506146f3906126a5565b90614658565b60405190614706826108af565b5f6020838281520152565b6147196146f9565b506147226146f9565b50600a54811015612dc95761474990600a5f525f80516020614fdf83398151915201613d83565b65ffffffffffff81511690602060018060d01b0391015116600b54811015612dc957600b5f525f8051602061503f83398151915201546040519161478c836108af565b8252602082015290565b61479e6146f9565b506147a76146f9565b50600c54811015612dc9576147ce90600c5f525f80516020614fbf83398151915201613d83565b65ffffffffffff81511690602060018060d01b0391015116600d54811015612dc957600d5f525f8051602061501f83398151915201546040519161478c836108af565b9061483a61483461485b926148246146f9565b5061482d6146f9565b5084613a51565b50613d83565b91600165ffffffffffff845116936020828060d01b03910151169101613a51565b9054906040519261486b846108af565b835260031b1c602082015290565b905f602091828151910182855af1156126f0575f513d6148ca57506001600160a01b0381163b155b6148a85750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156148a1565b9190600181018091116107415760018201809211610741576148f6828285614235565b928215612c5e5709151581018091116107415790565b600c548061491d57505f905f905f90565b805f1981011161074157600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061497257505f905f905f90565b805f1981011161074157600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806149c75750505f905f905f90565b5f19918183810111610741575f5260205f2001015460019165ffffffffffff82169160301c90565b60018111156109a157600181600160801b811015614b08575b614ab0614aa6614a9c614a92614a88614a7e614abc97600488600160401b614ab79a1015614afb575b640100000000811015614aee575b62010000811015614ae1575b610100811015614ad5575b6010811015614ac9575b1015614ac1575b60030260011c614a77818b61422b565b0160011c90565b614a77818a61422b565b614a77818961422b565b614a77818861422b565b614a77818761422b565b614a77818661422b565b809361422b565b821190565b900390565b60011b614a67565b811c9160021b91614a60565b60081c91811b91614a56565b60101c9160081b91614a4b565b60201c9160101b91614a3f565b60401c9160201b91614a31565b50600160401b9050608082901c614a08565b905b828110614b2857505090565b9091808216906001818418811c830180931161074157600a5f5265ffffffffffff80845f80516020614fdf833981519152015416908616105f14614b70575050915b90614b1c565b9093925081018091116107415790614b6a565b905b828110614b9157505090565b9091808216906001818418811c830180931161074157600c5f5265ffffffffffff80845f80516020614fbf833981519152015416908616105f14614bd9575050915b90614b85565b9093925081018091116107415790614bd3565b91905b838210614bfc5750505090565b909192808316906001818518811c830180931161074157855f5265ffffffffffff808460205f20015416908516105f14614c3b575050925b9190614bef565b9094935081018091116107415791614c34565b60ff5f8051602061509f8339815191525460401c1615614c6a57565b604051631afcd79f60e31b8152600490fd5b634e487b715f526020526024601cfd5b600c5490600160401b8210156108aa576001820180600c55821015612dc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614fbf83398151915290910155565b600a5490600160401b8210156108aa576001820180600a55821015612dc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614fdf83398151915290910155565b8054600160401b8110156108aa57614d5791600182018155613a51565b614d8257815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614e3c57613edb614dad91612677565b9081549165ffffffffffff90818416918316808311614e2a57869203614df257614deb92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614e2590614e11614e03610926565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614c8c565b614deb565b604051632520601d60e01b8152600490fd5b50614e6090614e4c614e03610926565b6001600160d01b0384166020820152614c8c565b5f9190565b600a549192918015614ee057613dd6614e7d91612677565b9081549165ffffffffffff90818416918316808311614e2a57869203614ebb57614deb92509065ffffffffffff82549181199060301b169116179055565b5050614e2590614ecc614e03610926565b6001600160d01b0385166020820152614ce3565b50614e6090614ef0614e03610926565b6001600160d01b0384166020820152614ce3565b80549293928015614f9957614f1b614f2691612677565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614e2a57879303614f655750614deb92509065ffffffffffff82549181199060301b169116179055565b915050614e2591614f85614f77610926565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614d3a565b5090614e6091614faa614f77610926565b6001600160d01b0385166020830152614d3a56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122096afd643cffc15a05e275ebcf57e554339f04ba03ab6025ec642ba4ec611894864736f6c63430008190033","sourceMap":"199:2819:98:-: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;:::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;199:2819:98;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;199:2819:98;-1:-1:-1;199:2819:98;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;966:38:109;199:2819:98;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;821:37:109;199:2819:98;;;;-1:-1:-1;;;;;199:2819:98;;;;;:::o;:::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;5525:21:108;5521:75;;5634:10;199:2819:98;;;;5606:15:109;199:2819:98;;;;;5606:33:109;;;:::i;:24::-;:33;:::i;:::-;5610:35:108;;5606:88;;1057:70:100;5173:21:109;;:::i;:::-;4803:22;;:::i;:::-;1057:70:100;;;:::i;:::-;5801:20:108;;;5797:82;;5904:43;;;;:::i;:::-;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;199:2819:98;3860:283:30;3426:1;199:2819:98;;;;;;;;;;;;;;;;;;5797:82:108;199:2819:98;;-1:-1:-1;;;;;;5844:24:108;;199:2819:98;;5844:24:108;5606:88;199:2819:98;;-1:-1:-1;;;5668:15:108;;199:2819:98;;5668:15:108;5521:75;199:2819:98;;-1:-1:-1;;;5569:16:108;;199:2819:98;;5569:16:108;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;;4919:24:23;199:2819:98;-1:-1:-1;199:2819:98;4919:24:23;199:2819:98;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;4084:14:109;;:::i;:::-;4112:10;;4108:65;;4190:17;199:2819:98;;;;;;;;;;;;;;;;4210:27:109;199:2819:98;;;4210:27:109;;:::i;:::-;199:2819:98;;;;;;;4189:60:109;199:2819:98;4189:60:109;;:::i;:::-;199:2819:98;;;;;;;;;;;;;;;;;;:::i;4108:65:109:-;199:2819:98;;-1:-1:-1;;;4145:17:109;;199:2819:98;;4145:17:109;199:2819:98;;;;-1:-1:-1;;;;;199:2819:98;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;1673:7:84;-1:-1:-1;;;;;199:2819:98;1659:10:84;:21;1655:71;;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;;;;6431:44:26;;;;;199:2819:98;6427:105:26;;;;1809:204:84;6427:105:26;;199:2819:98;;-1:-1:-1;;;6498:23:26;;199:2819:98;;6498:23:26;6431:44;199:2819:98;;;;6450:25:26;;;-1:-1:-1;6431:44:26;;;;;1655:71:84;199:2819:98;;-1:-1:-1;;;1703:12:84;;199:2819:98;;1703:12:84;199:2819:98;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:98;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;5383:59:109;199:2819:98;;;;;;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;;-1:-1:-1;199:2819:98;;;5383:15:109;199:2819:98;;;;;5383:59:109;:::i;:::-;199:2819:98;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;655:32:84;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;5350:25:23;199:2819:98;;;;;;;:::i;:::-;;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;3202:4:23;4919:24;199:2819:98;-1:-1:-1;199:2819:98;4919:24:23;199:2819:98;3202:4:23;:::i;:::-;5350:25;:::i;:::-;199:2819:98;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;199:2819:98;;6441:34:23;6437:102;;6549:37;199:2819:98;;;6549:37:23;:::i;6437:102::-;199:2819:98;;-1:-1:-1;;;6498:30:23;;199:2819:98;;6498:30:23;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;1524:22:108;199:2819:98;;;;1524:46:108;;;199:2819:98;;;;;;;;;;;1524:46:108;-1:-1:-1;1550:20:108;199:2819:98;;;;;1524:46:108;;199:2819:98;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;199:2819:98;;;;;;;;;;;9542:26:108;9538:76;;-1:-1:-1;;199:2819:98;;;;;-1:-1:-1;199:2819:98;;;;;;9665:27:108;;199:2819:98;;9665:27:108;1949:1:30;-1:-1:-1;;;;;;;;;;;199:2819:98;;9538:76:108;199:2819:98;;-1:-1:-1;;;9591:12:108;;199:2819:98;;9591:12:108;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;1718:31:109;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;;;;3474:24:108;;3470:81;;-1:-1:-1;199:2819:98;;;;3565:55:108;;;199:2819:98;3561:118:108;;199:2819:98;;-1:-1:-1;;;3713:43:108;;;3750:4;3713:43;;;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;;;3713:43:108;;;;;;;;;;-1:-1:-1;3713:43:108;;;199:2819:98;;3829:6:108;199:2819:98;;;3750:4:108;;3802:10;;3829:6;;:::i;:::-;-1:-1:-1;199:2819:98;;;3864:43:108;;;3750:4;3864:43;;;199:2819:98;;;;;;;;;;3864:43:108;199:2819:98;;;;;;3864:43:108;199:2819:98;;;;;3864:43:108;;;;;;;:59;:43;-1:-1:-1;3864:43:108;;;199:2819:98;3864:59:108;;;:::i;:::-;3938:20;;;3934:79;;199:2819:98;;;;;4027:64:108;;199:2819:98;4023:123:108;;5173:21:109;;199:2819:98;5173:21:109;4502:93:108;5173:21:109;;:::i;:::-;4803:22;4426:66:108;4803:22:109;;:::i;:::-;4349:67:108;390:70:100;;;;;:::i;:::-;837:15:75;4385:30:108;837:15:75;819:34;837:15;819:34;:::i;:::-;4385:30:108;;:::i;:::-;4349:67;;:::i;:::-;837:15:75;;4463:28:108;837:15:75;819:34;837:15;819:34;:::i;4463:28:108:-;4426:66;;:::i;:::-;-1:-1:-1;;;;;;;199:2819:98;;;;;;5606:15:109;199:2819:98;;;;;837:15:75;4553:41:108;837:15:75;5606:33:109;:24;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;;;;;;5606:15:109;199:2819:98;;;;;;;5606:33:109;4553:41:108;:::i;:::-;4502:93;;:::i;:::-;-1:-1:-1;;199:2819:98;;;;;;;;;;;3802:10:108;;4611:62;;199:2819:98;;4611:62:108;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:98;3860:283:30;3426:1;199:2819:98;;;;;;;;;;;;;;;;;;;4023:123:108;199:2819:98;;-1:-1:-1;;;4114:21:108;;;4027:64;5173:21:109;4045:31:108;5173:21:109;;;:::i;4045:31:108:-;199:2819:98;;-1:-1:-1;4027:64:108;;3934:79;-1:-1:-1;199:2819:98;;-1:-1:-1;;;3981:21:108;;;3864:43;;;;;;-1:-1:-1;3864:43:108;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;3713:::-;3829:6;3713:43;;;;;;;;;;;;;;;:::i;:::-;;;;;3561:118;-1:-1:-1;199:2819:98;;-1:-1:-1;;;3643:25:108;;;3565:55;-1:-1:-1;3609:10:108;199:2819:98;;;;3586:22:108;199:2819:98;;;;;;;;3585:35:108;3565:55;;3470:81;199:2819:98;;-1:-1:-1;;;3521:19:108;;;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;1805:27:109;199:2819:98;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;1968:34:109;199:2819:98;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;:::i;:::-;;;;;4622:48:109;199:2819:98;;;:::i;:::-;4622:48:109;;:::i;199:2819:98:-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;199:2819:98;;;;;;;;;;;;;10370:24:108;10366:74;;-1:-1:-1;;199:2819:98;;;;;;;;-1:-1:-1;199:2819:98;;;;;;10489:25:108;;199:2819:98;;10489:25:108;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:98;3860:283:30;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;-1:-1:-1;;;;;;;;;;;;;;;;199:2819:98;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;199:2819:98;435:10:95;:19;431:71;;1113:52:98;;;:::i;:::-;199:2819;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;431:71:95;199:2819:98;;-1:-1:-1;;;477:14:95;;199:2819:98;;477:14:95;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;199:2819:98;;;;;;734:29:84;730:87;;199:2819:98;;;;;6431:44:26;;;;;199:2819:98;6427:105:26;;;6656:20;199:2819:98;6656:20:26;199:2819:98;1167:340:84;199:2819:98;;;;-1:-1:-1;;;;;199:2819:98;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;199:2819:98;;;;;;;;;6575:22:26;1167:340:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;199:2819:98;;-1:-1:-1;;199:2819:98;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;6656:20:26;;;;199:2819:98;6431:44:26;199:2819:98;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:84;199:2819:98;;-1:-1:-1;;;786:20:84;;199:2819:98;;786:20:84;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;-1:-1:-1;199:2819:98;2431:59:109;199:2819:98;;;;-1:-1:-1;199:2819:98;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;3875:17:109;199:2819:98;;3895:30:109;199:2819:98;;;;;3895:14:109;;;:::i;:::-;199:2819:98;;;3895:30:109;;:::i;:::-;199:2819:98;;;;;;;3874:63:109;199:2819:98;3874:63:109;;:::i;:::-;199:2819:98;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:98;;;;;;;;-1:-1:-1;;199:2819:98;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;449:5:95;-1:-1:-1;;;;;199:2819:98;435:10:95;:19;431:71;;514:51:98;;;:::i;199:2819::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;1200:42:109;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;2136:32:109;199:2819:98;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;199:2819:98;;-1:-1:-1;;;;;;199:2819:98;;;;;;;-1:-1:-1;;;;;199:2819:98;3975:40:24;199:2819:98;;3975:40:24;199:2819:98;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;7131:7:108;199:2819:98;7117:21:108;;-1:-1:-1;;;;;199:2819:98;;-1:-1:-1;;;;;199:2819:98;;;7117:21:108;:10;:21;7113:71;;7218:14;;:::i;:::-;7265:25;;;;:::i;:::-;7305:17;;;;:53;;;199:2819:98;7304:87:108;;;;199:2819:98;7300:146:108;;199:2819:98;5173:21:109;9310:48:108;5173:21:109;;;:::i;:::-;7540:17:108;7528:30;7540:17;;;:::i;:::-;199:2819:98;;7528:11:108;199:2819:98;;;;;;;7528:30:108;199:2819:98;;7572:29:108;;;;;7642:30;;;;;:::i;:::-;3066:5:70;;;3463;;;199:2819:98;3060:42:70;;7752:17:108;;;7748:384;;7568:1615;;;;;;;9197:17;9193:102;;7568:1615;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;9310:48:108;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:98;3860:283:30;3426:1;199:2819:98;;;;;;;;;;;;;9193:102:108;-1:-1:-1;199:2819:98;9270:13:108;;199:2819:98;;9230:18:108;;199:2819:98;;-1:-1:-1;;;;;199:2819:98;;;9230:18:108;7556:1;199:2819:98;-1:-1:-1;;;;;199:2819:98;9270:13:108;;:::i;:::-;9193:102;;7748:384;8045:29;7813:50;7962:65;7813:50;7998:28;7914:29;7813:50;8057:16;7813:50;8077:40;7813:50;;;:::i;:::-;7914:29;;;:::i;:::-;837:15:75;819:34;837:15;819:34;:::i;:::-;7998:28:108;;:::i;8077:40::-;8057:16;;:::i;8045:29::-;199:2819:98;7748:384:108;;;;;;;7568:1615;8185:26;;;;199:2819:98;;7528:11:108;199:2819:98;;;;;;;8185:26:108;199:2819:98;8250:27:108;:45;:27;;;;;:::i;:45::-;3463:5:70;3066;;;3463;;;199:2819:98;3060:42:70;;8375:17:108;;8371:802;;7568:1615;;;;;;;;8371:802;9096:26;8436:50;;8537:53;8436:50;8637:54;8436:50;8637:29;8436:50;9125:33;8436:50;;;;:::i;:::-;8537:53;;;;;;:::i;:::-;8637:29;;;;:::i;:::-;:54;:::i;:::-;8714:33;;;;8710:194;;8371:802;8922:65;837:15:75;8958:28:108;9038:40;837:15:75;;;819:34;837:15;819:34;:::i;9038:40:108:-;9005:30;9017:17;;;:::i;9005:30::-;199:2819:98;9125:33:108;:::i;:::-;9096:26;199:2819:98;;7528:11:108;199:2819:98;;;;;;;9096:26:108;199:2819:98;8371:802:108;;;;;;;8710:194;8797:33;8771:59;8922:65;8797:33;;;9038:40;8797:33;;;:::i;:::-;8771:59;;:::i;:::-;8852:33;;-1:-1:-1;8852:33:108;;-1:-1:-1;8710:194:108;;7300:146;199:2819:98;;-1:-1:-1;;;7414:21:108;;199:2819:98;;7414:21:108;7304:87;7363:28;;;;7304:87;;7305:53;7341:17;;;;:::i;:::-;7326:32;;7305:53;;7113:71;199:2819:98;;-1:-1:-1;;;7161:12:108;;199:2819:98;;7161:12:108;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;4384:17:109;199:2819:98;;;;;;;4405:14:109;;;:::i;:::-;4384:17;199:2819:98;;;;;;;4404:36:109;199:2819:98;;;4404:36:109;;:::i;199:2819:98:-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;199:2819:98;2307:68:109;199:2819:98;;;;;-1:-1:-1;199:2819:98;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6491:14:108;199:2819:98;;6491:14:108;;:::i;199:2819:98:-;;;;;4994:47:109;199:2819:98;;;:::i;:::-;4994:47:109;;:::i;199:2819:98:-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;10932:22:108;199:2819:98;;;;;10928:89:108;;199:2819:98;;-1:-1:-1;;;11032:49:108;;-1:-1:-1;;;;;199:2819:98;;;11032:49:108;;;199:2819:98;;;;;;;;;;;;;;;11032:49:108;11042:17;;;199:2819:98;11032:49:108;;;;;;;-1:-1:-1;11032:49:108;;;199:2819:98;11031:50:108;;11027:102;;199:2819:98;;-1:-1:-1;;;11143:34:108;;199:2819:98;;;;;11143:34:108;199:2819:98;11143:34:108;199:2819:98;;11143:34:108;;;;;;;-1:-1:-1;11143:34:108;;;199:2819:98;11189:4:108;;;199:2819:98;;11143:51:108;11139:107;;-1:-1:-1;10932:22:108;199:2819:98;;-1:-1:-1;;;;;199:2819:98;;;;-1:-1:-1;;;;;;199:2819:98;;;;;;;-1:-1:-1;;;199:2819:98;;;11334:24:108;-1:-1:-1;;11334:24:108;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:98;3860:283:30;11139:107:108;199:2819:98;;-1:-1:-1;;;11217:18:108;;;11143:34;;;;;;;-1:-1:-1;11143:34:108;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;11027:102;-1:-1:-1;199:2819:98;;-1:-1:-1;;;11104:14:108;;;11032:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;10928:89;199:2819:98;;-1:-1:-1;;;10977:29:108;;;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;1298:40:109;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;1703:14:108;;:::i;:::-;5173:21:109;;:::i;:::-;199:2819:98;;;;1750:11:108;199:2819:98;;;;;;;;;;;;;1791:1:108;199:2819:98;;;;;;;;;1750:11:108;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;-1:-1:-1;;;;;;;;;;;199:2819:98;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;3901:31:23;199:2819:98;;;;;:::i;:::-;;;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;;-1:-1:-1;199:2819:98;;;;;;;;;;;;;;;;;3901:31:23;199:2819:98;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;199:2819:98;5606:15:109;199:2819:98;;;5606:33:109;199:2819:98;-1:-1:-1;199:2819:98;5606:33:109;:::i;199:2819:98:-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;199:2819:98;;;;-1:-1:-1;199:2819:98;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;199:2819:98;;;;;;;;;;477:31:88;;199:2819:98;;;;;;;;;;;:::i;:::-;477:31:88;199:2819:98;;477:31:88;;;;;;:::i;:::-;518:79;;;199:2819:98;518:79:88;;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;1109:35:109;199:2819:98;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;;9907:21:108;;9903:75;;-1:-1:-1;199:2819:98;;;9992:22:108;199:2819:98;;;;;;;;;;;;;9992:41:108;9988:91;;-1:-1:-1;;;;;199:2819:98;;;;;3586:22:108;199:2819:98;;;;;10145:44:108;;;;10089:40;;:31;199:2819:98;;;;;;;;;;;;;;10089:40:108;199:2819:98;;;;;;;;;;;;;;;10145:44:108;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:98;3860:283:30;9903:75:108;199:2819:98;;-1:-1:-1;;;9951:16:108;;199:2819:98;;9951:16:108;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;2666:94:109;199:2819:98;;;;;:::i;:::-;;;-1:-1:-1;199:2819:98;2666:94:109;199:2819:98;;;-1:-1:-1;199:2819:98;;;;;;;;;;;;;;;;;2666:94:109;199:2819:98;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;2816:92:109;199:2819:98;;;;;:::i;:::-;;;-1:-1:-1;199:2819:98;2816:92:109;199:2819:98;;;-1:-1:-1;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;11459:20:108;199:2819:98;;;;;11455:85:108;;-1:-1:-1;;;;;199:2819:98;;;;;;11550:312:108;;199:2819:98;11459:20:108;199:2819:98;;-1:-1:-1;;;;199:2819:98;-1:-1:-1;;;199:2819:98;;;11872:27:108;11915:20;-1:-1:-1;11915:20:108;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;199:2819:98;3860:283:30;11550:312:108;199:2819:98;;-1:-1:-1;;;11597:45:108;;-1:-1:-1;;;;;199:2819:98;;11597:45:108;;;199:2819:98;;;11597:45:108;;199:2819:98;;;;;;11597:45:108;11607:15;;;199:2819:98;11597:45:108;;;;;;;-1:-1:-1;11597:45:108;;;11550:312;11596:46;;11592:104;;199:2819:98;;-1:-1:-1;;;11714:30:108;;;199:2819:98;11714:30:108;199:2819:98;11714:30:108;;;;;;;;-1:-1:-1;11714:30:108;;;11550:312;11756:4;;;199:2819:98;;11714:47:108;11710:109;;-1:-1:-1;11459:20:108;199:2819:98;;-1:-1:-1;;;;;;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;;;;;;11550:312:108;;;;;;11710:109;199:2819:98;;-1:-1:-1;;;11788:16:108;;;11714:30;;;;;;;-1:-1:-1;11714:30:108;;;;;;:::i;:::-;;;;;;11592:104;199:2819:98;;-1:-1:-1;;;11669:12:108;;199:2819:98;;11669:12:108;11597:45;;;;;;;;;;;;;;:::i;:::-;;;;11455:85;199:2819:98;;-1:-1:-1;;;11502:27:108;;;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;;;;6112:23:108;;6108:79;;6273:6;199:2819:98;6206:13:108;;;;:::i;:::-;199:2819:98;;;-1:-1:-1;199:2819:98;;;;6273:6:108;:::i;:::-;199:2819:98;;;;;;;;;;;;6302:10:108;;6296:43;;199:2819:98;6296:43:108;1949:1:30;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;;;;;;;;;;;6108:79:108;199:2819:98;;-1:-1:-1;;;6158:18:108;;199:2819:98;;6158:18:108;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;-1:-1:-1;199:2819:98;2546:64:109;199:2819:98;;;;-1:-1:-1;199:2819:98;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;2058:22:109;199:2819:98;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;5173:21:109;;:::i;199:2819:98:-;;;;;;-1:-1:-1;;199:2819:98;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;199:2819:98;;;;;;;;;;1109:35:109;;199:2819:98;;4468:23:23;4464:108;;199:2819:98;;;;10692:21:108;10688:71;;199:2819:98;;10805:22:108;199:2819:98;;;;;;;;10805:22:108;1949:1:30;-1:-1:-1;;;;;;;;;;;199:2819:98;;4464:108:23;199:2819:98;;;;4514:47:23;;;;;;966:10:28;199:2819:98;4514:47:23;;199:2819:98;;;;;4514:47:23;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;4803:22:109;;:::i;199:2819:98:-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;3123:14:108;;:::i;:::-;3154:24;;;:::i;:::-;3181:29;;;;;:::i;:::-;199:2819:98;;;;;;;3235:1:108;199:2819:98;;;;;;;3213:33:108;;;:::i;:::-;199:2819:98;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;1888:24:109;199:2819:98;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;5767:26:23;199:2819:98;;;;;;;:::i;:::-;;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;3202:4:23;4919:24;199:2819:98;-1:-1:-1;199:2819:98;4919:24:23;199:2819:98;3202:4:23;:::i;:::-;5767:26;:::i;199:2819:98:-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;675:39:109;199:2819:98;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;449:5:95;199:2819:98;;435:10:95;:19;431:71;;1742:63:98;199:2819;;-1:-1:-1;199:2819:98;1742:15;199:2819;;;-1:-1:-1;199:2819:98;1742:63;:::i;199:2819::-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;;:::i;:::-;1972:48:108;;199:2819:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;2034:16:108;;2030:111;;199:2819:98;;2233:39:108;1057:70:100;2233:39:108;;4622:48:109;2196:77:108;2233:39;;;;2196:77;;:::i;:::-;2312:36;;4994:47:109;199:2819:98;2312:36:108;;;4994:47:109;;:::i;:::-;2389:37:108;;;4622:48:109;;:::i;:::-;1057:70:100;;:::i;:::-;199:2819:98;;;;;;;;;;;;;2030:111:108;2089:41;;;;-1:-1:-1;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;4622:48:109;199:2819:98;2196:77:108;199:2819:98;1057:70:100;199:2819:98;;;:::i;:::-;;;;;2030:111:108;;;;;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;2357:1:24;199:2819:98;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;199:2819:98:-;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;199:2819:98;;4890:21:108;4886:75;;4975:11;;4971:73;;845:69:100;4803:22:109;;:::i;:::-;5173:21;;:::i;:::-;845:69:100;;;:::i;:::-;5180:10:108;199:2819:98;;;;5606:15:109;199:2819:98;;;;;5180:10:108;;;5606:33:109;;;:::i;:::-;5150:41:108;;5146:96;;5267:40;;;;;:::i;5146:96::-;199:2819:98;;-1:-1:-1;;;5214:17:108;;199:2819:98;;5214:17:108;4971:73;199:2819:98;;-1:-1:-1;;;5009:24:108;;199:2819:98;;5009:24:108;199:2819:98;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;7556:1:108;199:2819:98;;;;;;;:::o;:::-;;;;;;;;;;:::o;5256:193:109:-;-1:-1:-1;;;;;199:2819:98;-1:-1:-1;199:2819:98;;;5383:15:109;199:2819:98;;;;;5383:59:109;;5256:193;;5383:59;:::i;199:2819:98:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;1167:340:84;;13510:30:108;1167:340:84;199:2819:98;1167:340:84;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;1376:73:84;;1167:340;199:2819:98;;;;:::i;:::-;13510:30:108;199:2819:98;;;13510:30:108;;;;;;:::i;:::-;199:2819:98;;;;-1:-1:-1;;;;;199:2819:98;13555:31:108;13551:88;;13653:20;;;;199:2819:98;;;;;;;;;;13653:25:108;13649:85;;13748:29;;;199:2819:98;;13748:29:108;;199:2819:98;13748:43:108;;-1:-1:-1;;;;;199:2819:98;;;13748:43:108;;13744:943;;1167:340:84;199:2819:98;;;15647:32:108;199:2819:98;14817:36:108;199:2819:98;;;14697:30:108;199:2819:98;;;;;;;;;;;;1398:1:84;199:2819:98;;-1:-1:-1;;;;;;199:2819:98;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;14697:30:108;13510;14747:13;;199:2819:98;;;;-1:-1:-1;;;;;;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;;;;;;14771:36:108;819:34:75;837:15;819:34;:::i;:::-;1949:1:30;199:2819:98;;-1:-1:-1;;;;199:2819:98;;;;;;-1:-1:-1;;;199:2819:98;;;;;;;;14771:36:108;199:2819:98;;;;;;1949:1:30;199:2819:98;;-1:-1:-1;;;;;199:2819:98;;;;;;-1:-1:-1;;;;;;199:2819:98;;;;;;;;14817:36:108;14864:42;199:2819:98;14883:23:108;;;199:2819:98;;;;;;;;;1398:1:84;199:2819:98;;;;;;;1398:1:84;199:2819:98;;14864:42:108;14917:38;199:2819:98;14934:21:108;;;199:2819:98;;;;;;;1398:1:84;199:2819:98;;;;;;;;;;;;1398:1:84;199:2819:98;;14917:38:108;14965:34;14980:19;;;199:2819:98;14965:34:108;199:2819:98;;14965:34:108;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;;;;15010:135:108;;1167:340:84;-1:-1:-1;15158:36:108;;;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;15154:157:108;;1167:340:84;-1:-1:-1;15324:35:108;;;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;15320:153:108;;1167:340:84;-1:-1:-1;15486:34:108;;;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;15482:152:108;;1167:340:84;-1:-1:-1;15647:32:108;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;;;;15643:145:108;;1167:340:84;:::o;15643:145:108:-;15709:68;;;:::i;:::-;;1167:340:84:o;15482:152:108:-;15550:73;;;:::i;:::-;;15482:152;;;15320:153;15389:73;;;:::i;:::-;;15320:153;;;15154:157;15224:76;;;:::i;:::-;;15154:157;;;15010:135;15073:61;;;:::i;:::-;;15010:135;;;13744:943;13811:36;;;199:2819:98;13811:50:108;;-1:-1:-1;;;;;199:2819:98;;;13811:50:108;;13807:405;;13744:943;14230:34;;;199:2819:98;14230:48:108;;-1:-1:-1;;;;;199:2819:98;;;14230:48:108;13744:943;14226:451;14302:21;;;199:2819:98;;14302:21:108;;14351:19;;;199:2819:98;14351:24:108;:74;;;14298:365;14347:150;;14298:365;;199:2819:98;15647:32:108;14298:365;14817:36;199:2819:98;;14298:365:108;;14226:451;;;;;;;13744:943;;14347:150;199:2819:98;-1:-1:-1;;;14460:14:108;;;;;14351:74;-1:-1:-1;14379:32:108;;;199:2819:98;14379:46:108;;-1:-1:-1;;;;;199:2819:98;;;14379:46:108;;14351:74;;14298:365;14525:19;;;199:2819:98;14525:24:108;;;:74;;;14298:365;14521:142;;14298:365;;199:2819:98;15647:32:108;14298:365;14817:36;199:2819:98;;14298:365:108;;;14525:74;-1:-1:-1;14553:32:108;;;199:2819:98;14553:46:108;;-1:-1:-1;;;;;199:2819:98;;;14553:46:108;;;14525:74;;13807:405;13885:23;;;199:2819:98;;13885:23:108;;13936:35;;;199:2819:98;13936:49:108;;-1:-1:-1;;;;;199:2819:98;;;13936:49:108;13807:405;13932:125;199:2819:98;-1:-1:-1;;;14020:14:108;;;;;13881:317;14085:35;;;199:2819:98;14085:49:108;;-1:-1:-1;;;;;199:2819:98;;;14085:49:108;14081:117;13807:405;14081:117;199:2819:98;-1:-1:-1;;;14165:14:108;;;;;13649:85;199:2819:98;;-1:-1:-1;;;13701:22:108;;;;;13551:88;199:2819:98;;-1:-1:-1;;;13609:19:108;;;;;1376:73:84;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:84;;;2492:191:108;-1:-1:-1;;;;;199:2819:98;-1:-1:-1;199:2819:98;;;5606:15:109;199:2819:98;;;;;5606:33:109;;;:::i;:::-;5173:21;;:::i;:::-;4803:22;;:::i;:::-;199:2819:98;1884:1:100;199:2819:98;;;;;;;1884:1:100;199:2819:98;;;;;;;9478:25:70;;;:::i;199:2819:98:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;578:368::-;;;735:95;711:157;578:368;199:2819;;;;;766:63;;;;;;;;199:2819;766:63;;;199:2819;766:63;;;;;;:::i;:::-;735:95;:::i;:::-;766:63;199:2819;;;711:157;;;;;;:::i;:::-;879:61;;;578:368;:::o;879:61::-;199:2819;;;;;;;;766:63;912:17;;199:2819;766:63;912:17;;;;;:::i;199:2819::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;3612:132:109:-;819:34:75;837:15;819:34;:::i;:::-;3683:54:109;3703:17;199:2819:98;3684:36:109;199:2819:98;;;;;;;3684:36:109;;:::i;:::-;199:2819:98;;;3683:54:109;;:::i;:::-;199:2819:98;3612:132:109;:::o;3313:244::-;3418:17;199:2819:98;;;;;;;;;;;;;;3406:29:109;3402:85;;3503:47;3504:29;;;;:::i;3402:85::-;199:2819:98;;-1:-1:-1;;;3458:18:109;;;;;3361:103:30;;;;:::i;:::-;199:2819:98;;-1:-1:-1;;;;;199:2819:98;;;6521:23:108;;6517:79;;6650:11;;6646:70;;199:2819:98;6742:10:108;;;;;;-1:-1:-1;199:2819:98;;6887:49:108;;199:2819:98;;;;6864:6:108;;199:2819:98;;6821:18:108;;199:2819:98;;-1:-1:-1;;;;;199:2819:98;;;6821:18:108;6864:6;:::i;:::-;6887:49;199:2819:98;;6898:10:108;;;;6887:49;;;:::i;:::-;;;;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;199:2819:98;3860:283:30;6754:3:108;6790:9;6773:27;199:2819:98;6790:9:108;6783:17;6790:9;;;;;:::i;:::-;199:2819:98;6783:17:108;:::i;6773:27::-;6754:3;199:2819:98;6731:9:108;;6646:70;199:2819:98;;-1:-1:-1;;;6684:21:108;;;;;199:2819:98;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;;;;;;;;;:::o;1178:370::-;;;1336:96;1312:158;1178:370;199:2819;;;;;1367:64;;;;;;;;199:2819;1367:64;;;199:2819;1367:64;;;;;;:::i;199:2819::-;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;199:2819:98;;;;:::o;:::-;;;:::o;1818:400::-;199:2819;;-1:-1:-1;;;2026:75:98;;;;-1:-1:-1;;;;;199:2819:98;;;2026:75;;;199:2819;;;;;;;;;;;;;2026:75;;199:2819;;1818:400;1971:169;;1995:107;;2026:75;199:2819;2026:75;:::i;3405:215:24:-;-1:-1:-1;;;;;199:2819:98;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;199:2819:98;;-1:-1:-1;;;;;;199:2819:98;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;199:2819:98;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;199:2819:98;;;3534:31:24;2731:227:108;;2871:34;2731:227;199:2819:98;-1:-1:-1;199:2819:98;2871:18:108;199:2819:98;;;-1:-1:-1;199:2819:98;;;;;;;;;;;;;;;;;2871:34:108;199:2819:98;;-1:-1:-1;199:2819:98;2907:11:108;199:2819:98;;;-1:-1:-1;199:2819:98;;2927:16:108;199:2819:98;;;-1:-1:-1;199:2819:98;;;1884:1:100;199:2819:98;;;;;;;1884:1:100;199:2819:98;;;;;;;9478:25:70;;;:::i;2224:792:98:-;;;;;2579:34;2416:45;2357:12;199:2819;2416:45;;;:::i;:::-;2503:33;;;;;:::i;:::-;2579:34;;:::i;:::-;199:2819;;;2628:30;;;:61;;;2224:792;2628:93;;;;2224:792;2624:386;;2224:792;;;:::o;2624:386::-;199:2819;;;;2744:255;199:2819;;;;;;;;;;:::i;:::-;;;2772:213;;;199:2819;;;;2772:213;;199:2819;;;;;;2744:255;;;2772:213;2744:255;;;199:2819;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;2628:93::-;199:2819;;;2693:28;;2628:93;;:61;199:2819;;;2662:27;;2628:61;;3470:384:30;-1:-1:-1;;;;;;;;;;;1991:1:30;199:2819:98;;3670:20:30;3666:88;;1991:1;199:2819:98;;3470:384:30:o;3666:88::-;199:2819:98;;-1:-1:-1;;;3713:30:30;;;;;11948:968:108;12135:10;199:2819:98;;;;5606:15:109;199:2819:98;;;;;;11948:968:108;;;819:34:75;837:15;819:34;:::i;:::-;12135:10:108;199:2819:98;;;;5606:15:109;199:2819:98;;;;;5606:33:109;;;:::i;:::-;199:2819:98;;;;;;;;;12119:93:108;12835:74;12119:93;;;12660:30;12119:93;;:::i;:::-;837:15:75;;12222:67:108;819:34:75;837:15;819:34;:::i;:::-;12259:29:108;4803:22:109;;;:::i;12222:67:108:-;837:15:75;;12299:68:108;819:34:75;837:15;819:34;:::i;:::-;12335:31:108;5173:21:109;;;:::i;12299:68:108:-;12394:14;;12769:34;12394:14;12769:25;12394:18;:14;;:::i;:::-;:18;:::i;:::-;12726:33;12445:18;;199:2819:98;;7528:11:108;199:2819:98;;;;;;;12445:18:108;199:2819:98;12502:23:108;;199:2819:98;;12502:16:108;199:2819:98;;;;;;;12502:23:108;199:2819:98;390:70:100;;;;;:::i;:::-;12660:30:108;;;;;;:::i;:::-;12639:18;;199:2819:98;;7528:11:108;199:2819:98;;;;;;;12639:18:108;199:2819:98;12726:33:108;:::i;:::-;12700:23;;199:2819:98;;12502:16:108;199:2819:98;;;;;;;12700:23:108;199:2819:98;;;12769:18:108;199:2819:98;;;;;;;12769:25:108;199:2819:98;;;;;;;;;;;;;;;;12769:34:108;:50;199:2819:98;;;12769:50:108;:::i;:::-;199:2819:98;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;12135:10:108;;199:2819:98;;12835:74:108;11948:968::o;14296:213:71:-;199:2819:98;14374:24:71;;;;14370:103;;199:2819:98;14296:213:71;:::o;14370:103::-;199:2819:98;;;;14421:41:71;;;;;;14452:2;14421:41;;;199:2819:98;;;;;14421:41:71;1809:204:84;199:2819:98;1809:204:84;199:2819:98;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;199:2819:98;;7686:17:99;7682:83;;199:2819:98;7789:27:99;199:2819:98;7789:27:99;199:2819:98;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;199:2819:98;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;199:2819:98;8075:24:99;:::o;7975:84::-;199:2819:98;;;8009:16:99;4622:13:109;199:2819:98;8009:16:99;:::i;:::-;199:2819:98;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:23::-;199:2819:98;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;199:2819:98;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;199:2819:98;;7686:17:99;7682:83;;199:2819:98;7789:27:99;199:2819:98;7789:27:99;199:2819:98;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;199:2819:98;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;199:2819:98;;;8009:16:99;4994:12:109;199:2819:98;8009:16:99;:::i;:::-;199:2819:98;;;8001:24:99;: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::-;;199:2819:98;;7686:17:99;7682:83;;199:2819:98;7789:27:99;199:2819:98;7789:27:99;199:2819:98;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;199:2819:98;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;199:2819:98;8075:24:99;:::o;7975:84::-;199:2819:98;;;8009:16:99;199:2819:98;;8009:16:99;:::i;:::-;199:2819:98;;;8001:24:99;: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;199:2819:98;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;199:2819:98;;;;;;;;;675:39:109;;199:2819:98;;3901:31:23;199:2819:98;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;199:2819:98;;;;;;;;;966:38:109;;199:2819:98;;3901:31:23;199:2819:98;4148:103:23;966:10:28;-1:-1:-1;199:2819:98;;;;;;;;;821:37:109;;199:2819:98;;3901:31:23;199:2819:98;4148:103:23;-1:-1:-1;199:2819:98;;;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;;;;;966:10:28;199:2819:98;;;;;;;;;3901:31:23;199:2819:98;7270:387:23;-1:-1:-1;;;;;199:2819:98;;1398:1:84;199:2819:98;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:98;;;;1398:1:84;199:2819:98;;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;-1:-1:-1;;199:2819:98;7509:4:23;199:2819:98;;;966:10:28;;-1:-1:-1;;;;;199:2819:98;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:84;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;199:2819:98;;-1:-1:-1;199:2819:98;;;;;;;;;675:39:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:98;;3901:31:23;199:2819:98;;;;-1:-1:-1;199:2819:98;;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;-1:-1:-1;;199:2819:98;7509:4:23;199:2819:98;;;966:10:28;;-1:-1:-1;;;;;199:2819:98;;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;;;;;199:2819:98;;-1:-1:-1;199:2819:98;;;;;;;;;821:37:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:98;;3901:31:23;199:2819:98;7270:387:23;-1:-1:-1;;;;;199:2819:98;;-1:-1:-1;199:2819:98;;;;;;;;;966:38:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:98;;3901:31:23;199:2819:98;7270:387:23;-1:-1:-1;;;;;199:2819:98;;-1:-1:-1;199:2819:98;;;;;;;;;1109:35:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;199:2819:98;;3901:31:23;199:2819:98;7270:387:23;-1:-1:-1;199:2819:98;;;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;3901:31:23;199:2819:98;7892:388:23;-1:-1:-1;199:2819:98;;;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:98;;;;;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;-1:-1:-1;;199:2819:98;;;966:10:28;;-1:-1:-1;;;;;199:2819:98;;8155:40:23;-1:-1:-1;;8155:40:23;199:2819:98;8209:11:23;:::o;1670:188:56:-;199:2819:98;;-1:-1:-1;;;1797:53:56;;;;-1:-1:-1;;;;;199:2819:98;;;1797:53:56;;;199:2819:98;;;;;;;;;;;;;;;;;1797:53:56;;;199:2819:98;;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;1797:53:56;199:2819:98;;;1797:53:56;:::i;199:2819:98:-;9219:12:99;199:2819:98;;;;;;9219:12:99;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;-1:-1:-1;199:2819:98;:::o;:::-;9219:12:99;199:2819:98;;;;;;9219:12:99;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;-1:-1:-1;199:2819:98;:::o;:::-;;;;;;;;-1:-1:-1;199:2819:98;;-1:-1:-1;199:2819:98;;;-1:-1:-1;199:2819:98;:::o;:::-;6360:12:99;199:2819:98;-1:-1:-1;;;199:2819:98;;;;;;;;;6360:12:99;199:2819:98;;;;;;6360:12:99;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;:::o;:::-;6360:12:99;199:2819:98;-1:-1:-1;;;199:2819:98;;;;;;;;;6360:12:99;199:2819:98;;;;;;6360:12:99;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;:::o;:::-;;;;;-1:-1:-1;;;199:2819:98;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:99;;;;6360:12;199:2819:98;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;199:2819:98;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;199:2819:98;;;;;;;;;-1:-1:-1;199:2819:98;;;-1:-1:-1;199:2819:98;;;;;;6798:25:99;199:2819:98;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;199:2819:98;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;199:2819:98;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;199:2819:98;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:98;;;;-1:-1:-1;;;;;;;;;;;199:2819:98;;6356:75:99;;;6246:584;;;;6360:12;199:2819:98;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;199:2819:98;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;199:2819:98;;;;;;;;;-1:-1:-1;199:2819:98;;;-1:-1:-1;199:2819:98;;;;;;6798:25:99;199:2819:98;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;199:2819:98;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;6604:::-;199:2819:98;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;199:2819:98;;;;;;;;;;;;;;;;-1:-1:-1;199:2819:98;;;;-1:-1:-1;;;;;;;;;;;199:2819:98;;6356:75:99;;;6246:584;;;;;6360:12;;;199:2819:98;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;199:2819:98;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;199:2819:98;;;;;;;6644:21:99;;;:29;:21;;:::i;6600:188::-;6753:24;;199:2819:98;;8310:38:73;;-1:-1:-1;;;;;199:2819:98;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;199:2819:98;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;199:2819:98;;;;;;6360:12:99;199:2819:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:99;;;199:2819:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;8406:869:99:-;1113:13:98;199:2819;8620:15:99;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;:::i;:::-;9014:8;;9010:62;;199:2819:98;9130:48:99;9170:7;;;:::i;:::-;1113:13:98;13267:109:99;;-1:-1:-1;;;;;;;;;;;13267:109:99;13089:293;;9130:48;199:2819:98;:::i;:::-;;9252:15:99;9259:7;199:2819:98;9219:31:99;199:2819:98;9232:17:99;199:2819:98;;;;;;;;9232:17:99;;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;9219:31:99;:::i;:::-;199:2819:98;;;;;;;;;9259:7:99;;:::i;:::-;199:2819:98;;;;9252:15:99;9176:1;;9188:80;;8406:869::o;9010:62::-;9038:23;8578:11;9038:23;8578:11;9038:23;8578:11;9038:23;8578:11;9038:23;:::o;8674:241::-;8721:14;;;;;:::i;:::-;199:2819:98;;;;;;;1113:13;8578:11:99;13267:109;-1:-1:-1;;;;;;;;;;;13267:109:99;;199:2819:98;8939:60:99;;13267:109;199:2819:98;;;;;;;8753:55:99;199:2819:98;;;8828:10:99;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;8406:869;514:12:98;199:2819;8620:15:99;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;:::i;:::-;9014:8;;9010:62;;199:2819:98;9130:48:99;9170:7;;;:::i;:::-;514:12:98;13267:109:99;;-1:-1:-1;;;;;;;;;;;13267:109:99;13089:293;;199:2819:98;;9252:15:99;9259:7;199:2819:98;9219:31:99;199:2819:98;9232:17:99;199:2819:98;;;;;;;;9219:31:99;:::i;8674:241::-;8721:14;;;;;:::i;:::-;199:2819:98;;;;;;;514:12;8578:11:99;13267:109;-1:-1:-1;;;;;;;;;;;13267:109:99;;199:2819:98;8939:60:99;;13267:109;199:2819:98;;;;;;;8753:55:99;199:2819:98;;;8828:10:99;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;8406:869;;;199:2819:98;;8620:15:99;8578:11;8645:18;8678:7;8684:1;8678:7;;8674:241;;8406:869;8939:60;;;;;:::i;:::-;9014:8;;;9010:62;;9252:15;9259:7;199:2819:98;9219:31:99;199:2819:98;9130:48:99;9170:7;;;:::i;:::-;9130:48;13267:109;;;;;;13089:293;;199:2819:98;;9176:1:99;199:2819:98;9232:17:99;199:2819:98;;;;;;;;9232:17:99;;199:2819:98;-1:-1:-1;;;;;199:2819:98;;;;9219:12:99;;:31;:::i;9010:62::-;8578:11;;-1:-1:-1;8578:11:99;;-1:-1:-1;8578:11:99;;;;9038:23::o;8674:241::-;8721:14;;;;;:::i;:::-;199:2819:98;;;;;;;8939:60:99;13267:109;;8578:11;13267:109;8753:55;8759:49;13267:109;;8578:11;13267:109;;199:2819:98;;;;;;8753:55:99;199:2819:98;;;8753:55:99;13267:109;;;8828:10;8749:156;8674:241;;8749:156;8883:7;;;;;;:::i;:::-;8749:156;8674:241;;199:2819:98;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;525:595:95:-;;-1:-1:-1;199:2819:98;;;;;716:88:95;;;;;199:2819:98;716:88:95;;;;;;;;;783:4;716:88;;;199:2819:98;;;;;;;;;;;:::i;716:88:95:-;698:107;;;;;;;:::i;:::-;199:2819:98;;857:45:95;;;;;;;;199:2819:98;;;;;857:45:95;;;199:2819:98;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;199:2819:98;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;199:2819:98;;;;;;;;;;916:8:95;912:175;;1096:17;525:595;:::o;912:175::-;199:2819:98;;;944:22:95;;;940:36;;990:87;;2658:162:24;-1:-1:-1;;;;;;;;;;;199:2819:98;-1:-1:-1;;;;;199:2819:98;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;199:2819:98;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;199:2819:98;;;2763:40:24;199:2819:98;;;;;;;:::o;4996:4226:70:-;;199:2819:98;;;;-1:-1:-1;;199:2819:98;4996:4226:70;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:60;-1:-1:-1;940:4:60;7214:31:70;;7259:375;;;8094:1;199:2819:98;;8075:1:70;199:2819:98;8074:21:70;199:2819:98;;;940:4:60;;199:2819:98;;;;940:4:60;;199:2819:98;;;;940:4:60;;199:2819:98;;;;940:4:60;;199:2819:98;;;;940:4:60;;199:2819:98;;;;940:4:60;;199:2819:98;7259:375:70;;;;-1:-1:-1;7259:375:70;;;6695:300;;;;;;199:2819:98;6695:300:70;;7259:375;7700:21;199:2819:98;4996:4226:70;:::o;6266:143::-;6330:16;;3066:5;199:2819:98;940:4:60;3060:42:70;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;1271:160:56:-;199:2819:98;;-1:-1:-1;;;1380:43:56;;;;-1:-1:-1;;;;;199:2819:98;;;1380:43:56;;;199:2819:98;;;;;;;;;1380:43:56;;;;;;199:2819:98;1380:43:56;:::i;:::-;;:::i;12922:460:108:-;;13024:14;;:::i;:::-;13015:23;;;13011:75;;-1:-1:-1;199:2819:98;;;13100:20:108;199:2819:98;;;;;;;;13128:10:108;199:2819:98;;;;;;;;;;13096:93:108;;13208:32;13128:10;13208:32;;:::i;:::-;13255:11;;;13251:68;;-1:-1:-1;199:2819:98;;;13100:20:108;199:2819:98;;;;;;;;13128:10:108;199:2819:98;;;;;;;;;-1:-1:-1;;199:2819:98;13371:4:108;199:2819:98;;;12922:460:108:o;13251:68::-;199:2819:98;;-1:-1:-1;;;13289:19:108;;;;;13096:93;199:2819:98;;-1:-1:-1;;;13162:16:108;;;;;13011:75;199:2819:98;;-1:-1:-1;;;13061:14:108;;;;;10580:184:99;5173:12:109;199:2819:98;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;199:2819:98;;10726:7:99;199:2819:98;;10736:12:99;199:2819:98;;;;;;10736:12:99;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;10580:184:99;:::o;10726:31::-;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;199:2819:98;;;;;;;;5173:12:109;-1:-1:-1;13267:109:99;;;199:2819:98;;;10446:63:73;;10580:184:99;4803:13:109;199:2819:98;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;199:2819:98;;10726:7:99;199:2819:98;;10736:12:99;199:2819:98;;;;;;10736:12:99;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;10580:184:99;:::o;10446:63:73:-;199:2819:98;;;;;;;;4803:13:109;-1:-1:-1;13267:109:99;;;199:2819:98;;;10446:63:73;;10580:184:99;199:2819:98;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;199:2819:98;;10726:7:99;199:2819:98;;10736:12:99;:17;:12;;:17;:::i;10446:63:73:-;199:2819:98;;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;;-1:-1:-1;13267:109:99;;;199:2819:98;;;10446:63:73;;1662:280:100;;;1884:1;199:2819:98;;;;;;;1884:1:100;199:2819:98;;;;;;;9478:25:70;;;:::i;6999:207:99:-;4622:13:109;199:2819:98;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;199:2819:98;;7168:7:99;199:2819:98;;7178:17:99;199:2819:98;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;10135:41::-;199:2819:98;;;;;10135:48:73;10120:63;;9791:234;9838:14;;;;;:::i;:::-;199:2819:98;;;;;;;10049:53:73;13267:109:99;4622:13:109;-1:-1:-1;13267:109:99;199:2819:98;13267:109:99;;-1:-1:-1;;;;;;;;;;;13267:109:99;199:2819:98;;;;;9870:48:73;9866:149;199:2819:98;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;4994:12:109;199:2819:98;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;199:2819:98;;7168:7:99;199:2819:98;;7178:17:99;199:2819:98;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;10135:48::-;10120:63;;9791:234;9838:14;;;;;:::i;:::-;199:2819:98;;;;;;;10049:53:73;13267:109:99;4994:12:109;-1:-1:-1;13267:109:99;199:2819:98;13267:109:99;;-1:-1:-1;;;;;;;;;;;13267:109:99;199:2819:98;;;;;9870:48:73;9866:149;199:2819:98;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;;199:2819:98;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;199:2819:98;;7168:7:99;199:2819:98;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;13267:109:99;;;;;;13089:293;;10135:48:73;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;199:2819:98;;;;;;;10049:53:73;13267:109:99;;-1:-1:-1;13267:109:99;199:2819:98;13267:109:99;;;-1:-1:-1;13267:109:99;;199:2819:98;;;;;9870:48:73;9866:149;199:2819:98;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;199:2819:98;;;;;;;:::i;:::-;-1:-1:-1;199:2819:98;;;;;;;:::o;11486:272:99:-;199:2819:98;;:::i;:::-;;;;:::i;:::-;;4622:13:109;199:2819:98;;;;;;;;4622:13:109;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;:::i;:::-;;;;;;;;;;;;11731:17:99;;199:2819:98;;11718:12:99;199:2819:98;;;;;;11718:12:99;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;;;;;:::i;:::-;;;;11672:79:99;;199:2819:98;11486:272:99;:::o;:::-;199:2819:98;;:::i;:::-;;;;:::i;:::-;;4994:12:109;199:2819:98;;;;;;;;4994:12:109;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;:::i;:::-;;;;;;;;;;;;11731:17:99;;199:2819:98;;11718:12:99;199:2819:98;;;;;;11718:12:99;-1:-1:-1;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;;;;;:::i;11486:272:99:-;;199:2819:98;11452:22:73;11718:31:99;11486:272;199:2819:98;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;199:2819:98;;:::i;:::-;;11718:12:99;199:2819:98;;;;;11731:17:99;199:2819:98;;;;;11731:17:99;;199:2819:98;;11718:12:99;;:31;:::i;:::-;199:2819:98;;;;;;;;;:::i;:::-;;;;;;11731:17:99;11672:79;;199:2819:98;11486:272:99;:::o;7738:720:56:-;;-1:-1:-1;7875:421:56;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:56;;8310:15;;-1:-1:-1;;;;;;199:2819:98;;8328:26:56;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;199:2819:98;;-1:-1:-1;;;8401:40:56;;-1:-1:-1;;;;;199:2819:98;;;8401:40:56;;;199:2819:98;;;8401:40:56;8310:68;8377:1;8362:16;;8310:68;;1258:280:100;;;199:2819:98;;;;;;;;;;;;;;;;9478:25:70;;;;;:::i;:::-;9552;;;;;;:29;;199:2819:98;;;;;;;1258:280:100;:::o;10695:389:73:-;5173:12:109;199:2819:98;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;199:2819:98;;;;;;;;5173:12:109;10833:17:73;13267:109:99;;;199:2819:98;11014:1:73;;199:2819:98;;;;;;;11030:37:73:o;10695:389::-;4803:13:109;199:2819:98;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;199:2819:98;;;;;;;;4803:13:109;10833:17:73;13267:109:99;;;199:2819:98;11014:1:73;;199:2819:98;;;;;;;11030:37:73:o;10695:389::-;199:2819:98;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;199:2819:98;;;;;;;;;;10833:17:73;13267:109:99;;10833:17:73;13267:109:99;;;199:2819:98;11014:1:73;199:2819:98;;;;;;;11030:37:73;:::o;18080:5181:70:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;199:2819:98;18246:1:70;199:2819:98;22284:6:70;;;;:::i;:::-;199:2819:98;;;;;22278:18:70;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;;;199:2819:98;23216:28:70;940:4:60;;18080:5181:70;:::o;19887:61::-;18246:1;199:2819:98;19887:61:70;;19787:87;199:2819:98;;;;;19787:87:70;;;19687;199:2819:98;;;;;19687:87:70;;;19585:89;199:2819:98;;;;;19585:89:70;;;19482:90;199:2819:98;;;;;19482:90:70;;;19379;199:2819:98;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;199:2819:98;-1:-1:-1;199:2819:98;;;;19274:92:70;;12497:447:99;;12694:10;;;;;;12926:11;;12497:447;:::o;12687:230::-;3721:5:70;;;;;199:2819:98;;3731:5:70;;;199:2819:98;;;;;;;;;1113:13;-1:-1:-1;13267:109:99;199:2819:98;13267:109:99;;-1:-1:-1;;;;;;;;;;;13267:109:99;199:2819:98;;;;;-1:-1:-1;12771:136:99;199:2819:98;;;12830:10:99;;12771:136;;12687:230;;;12771:136;199:2819:98;;;;;;;;;;;12771:136:99;;;12497:447;;12694:10;;;;;;12926:11;;12497:447;:::o;12687:230::-;3721:5:70;;;;;199:2819:98;;3731:5:70;;;199:2819:98;;;;;;;;;514:12;-1:-1:-1;13267:109:99;199:2819:98;13267:109:99;;-1:-1:-1;;;;;;;;;;;13267:109:99;199:2819:98;;;;;-1:-1:-1;12771:136:99;199:2819:98;;;12830:10:99;;12771:136;;12687:230;;;12771:136;199:2819:98;;;;;;;;;;;12771:136:99;;;12497:447;;;12694:10;;;;;;12926:11;;;12497:447;:::o;12687:230::-;3721:5:70;;;;;;199:2819:98;;3731:5:70;;;199:2819:98;;;;;;;;;13267:109:99;-1:-1:-1;13267:109:99;199:2819:98;13267:109:99;;;-1:-1:-1;13267:109:99;;199:2819:98;;;;;-1:-1:-1;12771:136:99;199:2819:98;;;12830:10:99;;12771:136;;12687:230;;;;12771:136;199:2819:98;;;;;;;;;;;12771:136:99;;;7084:141:26;199:2819:98;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;199:2819:98;;-1:-1:-1;;;7191:17:26;;;;;1776:194:60;1829:135;;;;;;;;199:2819:98;5173:12:109;199:2819:98;;-1:-1:-1;;;199:2819:98;;;;;;;;;5173:12:109;199:2819:98;;;;;;5173:12:109;-1:-1:-1;199:2819:98;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;:::o;:::-;4803:13:109;199:2819:98;;-1:-1:-1;;;199:2819:98;;;;;;;;;4803:13:109;199:2819:98;;;;;;4803:13:109;-1:-1:-1;199:2819:98;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;-1:-1:-1;;;;;;;;;;;199:2819:98;;;;:::o;:::-;;;-1:-1:-1;;;199:2819:98;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;199:2819:98;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;5173:12:109;199:2819:98;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;199:2819:98;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;199:2819:98;;;;;;;;;;;;;;;;;12285:19:73;199:2819:98;;12423:25:73;;:::o;12247:163::-;199:2819:98;;12343:52:73;199:2819:98;12353:41:73;199:2819:98;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;199:2819:98;;12353:41:73;;;199:2819:98;12343:52:73;:::i;:::-;12247:163;;12099:89;199:2819:98;;-1:-1:-1;;;12143:30:73;;;;;11860:713;199:2819:98;12479:52:73;199:2819:98;12489:41:73;199:2819:98;;:::i;12489:41:73:-;-1:-1:-1;;;;;199:2819:98;;12489:41:73;;;199:2819:98;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;4803:13:109;199:2819:98;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;199:2819:98;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;199:2819:98;;;;;;;;;;;;;;;;;12247:163:73;199:2819:98;;12343:52:73;199:2819:98;12353:41:73;199:2819:98;;:::i;12353:41:73:-;-1:-1:-1;;;;;199:2819:98;;12353:41:73;;;199:2819:98;12343:52:73;:::i;11860:713::-;199:2819:98;12479:52:73;199:2819:98;12489:41:73;199:2819:98;;:::i;12489:41:73:-;-1:-1:-1;;;;;199:2819:98;;12489:41:73;;;199:2819:98;12343:52:73;:::i;11657:922::-;199:2819:98;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;13267:109:99;;;;;;13089:293;;11916:28:73;199:2819:98;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;199:2819:98;;;;;;;;;;;;;;;;;12247:163:73;199:2819:98;;;12343:52:73;199:2819:98;12353:41:73;199:2819:98;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;199:2819:98;;12353:41:73;;;199:2819:98;12343:52:73;:::i;11860:713::-;199:2819:98;;12479:52:73;199:2819:98;12489:41:73;199:2819:98;;:::i;12489:41:73:-;-1:-1:-1;;;;;199:2819:98;;12489:41:73;;;199:2819:98;12343:52:73;:::i","linkReferences":{},"immutableReferences":{"60387":[{"start":2017,"length":32},{"start":2605,"length":32}],"64680":[{"start":4184,"length":32},{"start":4912,"length":32},{"start":9124,"length":32}],"71027":[{"start":4988,"length":32},{"start":6345,"length":32}],"71030":[{"start":6706,"length":32},{"start":7906,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","FACTORY()":"2dd31000","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","SLASHER_FACTORY()":"87df0788","activeBalanceOf(address)":"59f769a9","activeBalanceOfAt(address,uint48,bytes)":"efb559d6","activeBalanceOfHints(address,address,uint48)":"f9e1bf6c","activeShares()":"bfefcd7b","activeSharesAt(uint48,bytes)":"50f22068","activeSharesHint(address,uint48)":"8326056f","activeSharesHintInternal(uint48)":"55a2c672","activeSharesOf(address)":"9d66201b","activeSharesOfAt(address,uint48,bytes)":"2d73c69c","activeSharesOfHint(address,address,uint48)":"de499716","activeSharesOfHintInternal(address,uint48)":"eb556238","activeStake()":"bd49c35f","activeStakeAt(uint48,bytes)":"810da75d","activeStakeHint(address,uint48)":"64b03fdc","activeStakeHintInternal(uint48)":"67567add","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","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","owner()":"8da5cb5b","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalStake()":"8b0e9f3f","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","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\":[],\"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\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegatorAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositLimitReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExternalCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientDeposit\",\"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\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"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\":\"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\"},{\"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\":\"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\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"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\":[{\"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\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeBalanceOfHints\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"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\":\"vault\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeSharesHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeSharesHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"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\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeSharesOfHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeSharesOfHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"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\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeStakeHint\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"activeStakeHintInternal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"hint\",\"type\":\"uint32\"}],\"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\":[{\"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\":\"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\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":[],\"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\":[{\"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\":\"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\":\"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\":\"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.\"}],\"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.\"}],\"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\"}},\"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\"}},\"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\"}},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"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\"}},\"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.\"},\"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\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"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\"}},\"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\"}},\"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\":{\"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.\"},\"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.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"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.\"},\"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.\"},\"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.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"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).\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"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.\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"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/hints/VaultHints.sol\":\"VaultHints\"},\"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/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/hints/Hints.sol\":{\"keccak256\":\"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971\",\"dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox\"]},\"src/contracts/hints/VaultHints.sol\":{\"keccak256\":\"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b\",\"dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR\"]},\"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/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[],"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":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DelegatorAlreadyInitialized"},{"inputs":[],"type":"error","name":"DepositLimitReached"},{"inputs":[],"type":"error","name":"ExternalCall"},{"inputs":[],"type":"error","name":"InsufficientClaim"},{"inputs":[],"type":"error","name":"InsufficientDeposit"},{"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":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"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":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"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":"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":[{"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":"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":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeBalanceOfHints","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"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":"vault","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeSharesHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeSharesHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeSharesOfHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeSharesOfHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeStakeHint","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"activeStakeHintInternal","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint32","name":"hint","type":"uint32"}]},{"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":[{"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":"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":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[],"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":[{"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":"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":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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"}},"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"}},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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"}},"owner()":{"details":"Returns the address of the current owner."},"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"}},"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."},"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"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"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"}},"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"}},"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."},"FACTORY()":{"notice":"Get the factory's address."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"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."},"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."},"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."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"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)."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"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."},"version()":{"notice":"Get the entity's version."},"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/hints/VaultHints.sol":"VaultHints"},"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/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/hints/Hints.sol":{"keccak256":"0x8b565df1ae35993c097a9e642002782a8f451f6fd01809cad6bcd345bdf1b99c","urls":["bzz-raw://99a19adb01e350a92f534095b3078229df1f2f83077992d75d58d8684be45971","dweb:/ipfs/QmbmwcuswVbzvwHQFTtrJG86oV98GnfxqYTb8cV8u1acox"],"license":"BUSL-1.1"},"src/contracts/hints/VaultHints.sol":{"keccak256":"0xccb505b7159b769cc114d67b87c2de6b106557f667fc8f3780114baad5c3c442","urls":["bzz-raw://6d0c80a908fc16e96a8b5605a0bd53f9e89ad0ef0a738fbbae80ba4d3160749b","dweb:/ipfs/QmXo5UtWoR8YmunqcbBU8rQMm1nvmvjNPoXcVrDhh4pEwR"],"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/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"}},"version":1},"id":98} \ No newline at end of file diff --git a/out/VaultImplementation.sol/VaultImplementation.json b/out/VaultImplementation.sol/VaultImplementation.json new file mode 100644 index 0000000..6147d25 --- /dev/null +++ b/out/VaultImplementation.sol/VaultImplementation.json @@ -0,0 +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":"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":"_Vault_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","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":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"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":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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"}],"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":"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614cc938819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614c1c90816100ad8239608051818181611458015261194a015260a051818181611e2001526123280152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131d6565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b918215610733578261071592613218565b9061071e613205565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613552565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613780565b6137ac565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613847565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131d6565b610aef61361e565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131d6565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138d9565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a2d565b5050610cbd89610ca242613eb9565b90613b0d565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613be9565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613205565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133c7565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131d6565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131d6565b61103761367b565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613205565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131d6565b61116e84612d48565b831161134a5761117e8385613143565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613ca7565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613205565b5160018152602090f35b6112d292613ca7565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131d6565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613205565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613ca7565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d7e565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d7e565b9788958584613d7e565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b9061349d565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131d6565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613205565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131d6565b611abd6136d2565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613205565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131d6565b6120f0613729565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613205565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131d6565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613205565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131d6565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e0b565b9485915f5460101c16613ca7565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131d6565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b98183613178565b83018093116108195760018201809211610819576126d691613178565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613103565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613780565b613847565b346105ca5760203660031901126105ca576004356127b16131d6565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613143565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a0460208501518361349d565b930151906133c7565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131d6565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b3957610715918391613218565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b600435613178565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613552565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d7e565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131d6565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613ca7565b612f65604051928392339684612fce565b0390a3906108d7613205565b94612f8c600191611719612f86898789612fb9565b35613e0b565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b6012548082106105ca576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b65ffffffffffff8060135460601c16801591821561312e575b50506131285760105490565b600f5490565b90915061313a42613eb9565b16105f8061311c565b5f5460101c6001600160a01b0390811691160361316657601554610eed91613d00565b60405163350b944160e11b8152600490fd5b9061319e90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d7e565b5f80516020614bc783398151915260028154146131f35760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061323342613eb9565b335f908152600e6020526040902061324a90613fd3565b91848303928311610819576132857febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361331499613be9565b505061329f61329342613eb9565b610cbd876116b3613f5f565b50506132b96132ad42613eb9565b610ca8846116b3613eeb565b50506133628161334d6132d66132d16107e842613eb9565b612c4e565b61332c6132eb825f52600660205260405f2090565b546132fe835f52600760205260405f2090565b5461330a82828b614026565b9d8e998a93612c5c565b613326855f52600660205260405f2090565b55612c5c565b61333e825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61336d838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b9080511561349357806020806133e293518301019101613396565b6133eb81614297565b906133fc825165ffffffffffff1690565b9065ffffffffffff80851692168281146134875782119182613432575b50506134295750610eed90614047565b60209150015190565b909150613440600a54612bb8565b63ffffffff831614918215613459575b50505f80613419565b61347f91925061347361346e611b19926133b2565b614297565b5165ffffffffffff1690565b115f80613450565b50505060209150015190565b50610eed90614047565b9080511561354857806020806134b893518301019101613396565b6134c181614321565b906134d2825165ffffffffffff1690565b9065ffffffffffff808516921682811461348757821191826134ff575b50506134295750610eed9061410e565b90915061350d600c54612bb8565b63ffffffff831614918215613526575b50505f806134ef565b61354091925061347361353b611b19926133b2565b614321565b115f8061351d565b50610eed9061410e565b91805115613614578060208061356d93518301019101613396565b9161357883826143a1565b92613589845165ffffffffffff1690565b9065ffffffffffff808516921682811461360857821191826135bf575b50506135b657610eed92506141ce565b50506020015190565b9091506135cc8354612bb8565b63ffffffff8316149182156135e5575b50505f806135a6565b6136009192506134736135fa611b19926133b2565b856143a1565b115f806135dc565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613671565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613671565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613671565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613671565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613840575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613840575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a159160016108d795018155613975565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613ad8575b50613a456144a2565b50929091815492613a54613eeb565b9481613ac3575b5015613aa057505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ab4926001600160d01b0316915061469e565b5050613abf8361398a565b9190565b65ffffffffffff83811691161490505f613a5b565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a3c565b919091600b9081548015613bb4575b50613b256144f7565b50929091815492613b34613f5f565b9481613b9f575b5015613b8057505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613b94926001600160d01b0316915061476e565b5050613abf836139be565b65ffffffffffff83811691161490505f613b3b565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b1c565b90929192600182019081548015613c77575b5084613c068461454c565b50949092845493613c1683613fd3565b9681613c62575b5015613c3f575050505f19810190811161081957613a158591613abf93613975565b613abf949293613c5b926001600160d01b03909116919061480d565b50506139f2565b65ffffffffffff83811691161490505f613c1d565b600160401b81101561088957806001613c939201845583613975565b8154905f199060031b1b191690555f613bfb565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d7157633b9aca009082821115613d5f577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613dfe5784831115613df15790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613cf6565b90613e186107e842613eb9565b821015613ea75760ff613e48613e36845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613e9557613e583383613178565b918215613e8357613e769061334d33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613975565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d7e565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613931565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613953565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613975565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613975565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613975565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d7e565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613975565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613cf6565b0160011c90565b61494f818a613cf6565b61494f8189613cf6565b61494f8188613cf6565b61494f8187613cf6565b61494f8186613cf6565b8093613cf6565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220645078b35b2b9a7fadb184d042fc0af2d0b700e0c10f74d6dcbb6d1533f2a49164736f6c63430008190033","sourceMap":"1252:21555:112:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21555;;;;;;;;1785:36;1252:21555;;;;;;;;;;1831:32;1252:21555;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;-1:-1:-1;1252:21555:112;;;;;-1:-1:-1;1252:21555:112;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131d6565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b918215610733578261071592613218565b9061071e613205565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613552565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613780565b6137ac565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613847565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131d6565b610aef61361e565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131d6565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138d9565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a2d565b5050610cbd89610ca242613eb9565b90613b0d565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613be9565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613205565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133c7565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131d6565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131d6565b61103761367b565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613205565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131d6565b61116e84612d48565b831161134a5761117e8385613143565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613ca7565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613205565b5160018152602090f35b6112d292613ca7565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131d6565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613205565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613ca7565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d7e565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d7e565b9788958584613d7e565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b9061349d565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131d6565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613205565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131d6565b611abd6136d2565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613205565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131d6565b6120f0613729565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613205565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131d6565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613205565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131d6565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e0b565b9485915f5460101c16613ca7565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131d6565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b98183613178565b83018093116108195760018201809211610819576126d691613178565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613103565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613780565b613847565b346105ca5760203660031901126105ca576004356127b16131d6565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613143565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a0460208501518361349d565b930151906133c7565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131d6565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b3957610715918391613218565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b600435613178565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613552565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d7e565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131d6565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613ca7565b612f65604051928392339684612fce565b0390a3906108d7613205565b94612f8c600191611719612f86898789612fb9565b35613e0b565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b6012548082106105ca576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b65ffffffffffff8060135460601c16801591821561312e575b50506131285760105490565b600f5490565b90915061313a42613eb9565b16105f8061311c565b5f5460101c6001600160a01b0390811691160361316657601554610eed91613d00565b60405163350b944160e11b8152600490fd5b9061319e90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d7e565b5f80516020614bc783398151915260028154146131f35760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061323342613eb9565b335f908152600e6020526040902061324a90613fd3565b91848303928311610819576132857febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361331499613be9565b505061329f61329342613eb9565b610cbd876116b3613f5f565b50506132b96132ad42613eb9565b610ca8846116b3613eeb565b50506133628161334d6132d66132d16107e842613eb9565b612c4e565b61332c6132eb825f52600660205260405f2090565b546132fe835f52600760205260405f2090565b5461330a82828b614026565b9d8e998a93612c5c565b613326855f52600660205260405f2090565b55612c5c565b61333e825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61336d838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b9080511561349357806020806133e293518301019101613396565b6133eb81614297565b906133fc825165ffffffffffff1690565b9065ffffffffffff80851692168281146134875782119182613432575b50506134295750610eed90614047565b60209150015190565b909150613440600a54612bb8565b63ffffffff831614918215613459575b50505f80613419565b61347f91925061347361346e611b19926133b2565b614297565b5165ffffffffffff1690565b115f80613450565b50505060209150015190565b50610eed90614047565b9080511561354857806020806134b893518301019101613396565b6134c181614321565b906134d2825165ffffffffffff1690565b9065ffffffffffff808516921682811461348757821191826134ff575b50506134295750610eed9061410e565b90915061350d600c54612bb8565b63ffffffff831614918215613526575b50505f806134ef565b61354091925061347361353b611b19926133b2565b614321565b115f8061351d565b50610eed9061410e565b91805115613614578060208061356d93518301019101613396565b9161357883826143a1565b92613589845165ffffffffffff1690565b9065ffffffffffff808516921682811461360857821191826135bf575b50506135b657610eed92506141ce565b50506020015190565b9091506135cc8354612bb8565b63ffffffff8316149182156135e5575b50505f806135a6565b6136009192506134736135fa611b19926133b2565b856143a1565b115f806135dc565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613671565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613671565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613671565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613671565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613840575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613840575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a159160016108d795018155613975565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613ad8575b50613a456144a2565b50929091815492613a54613eeb565b9481613ac3575b5015613aa057505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ab4926001600160d01b0316915061469e565b5050613abf8361398a565b9190565b65ffffffffffff83811691161490505f613a5b565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a3c565b919091600b9081548015613bb4575b50613b256144f7565b50929091815492613b34613f5f565b9481613b9f575b5015613b8057505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613b94926001600160d01b0316915061476e565b5050613abf836139be565b65ffffffffffff83811691161490505f613b3b565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b1c565b90929192600182019081548015613c77575b5084613c068461454c565b50949092845493613c1683613fd3565b9681613c62575b5015613c3f575050505f19810190811161081957613a158591613abf93613975565b613abf949293613c5b926001600160d01b03909116919061480d565b50506139f2565b65ffffffffffff83811691161490505f613c1d565b600160401b81101561088957806001613c939201845583613975565b8154905f199060031b1b191690555f613bfb565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d7157633b9aca009082821115613d5f577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613dfe5784831115613df15790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613cf6565b90613e186107e842613eb9565b821015613ea75760ff613e48613e36845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613e9557613e583383613178565b918215613e8357613e769061334d33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613975565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d7e565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613931565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613953565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613975565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613975565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613975565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d7e565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613975565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613cf6565b0160011c90565b61494f818a613cf6565b61494f8189613cf6565b61494f8188613cf6565b61494f8187613cf6565b61494f8186613cf6565b8093613cf6565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220645078b35b2b9a7fadb184d042fc0af2d0b700e0c10f74d6dcbb6d1533f2a49164736f6c63430008190033","sourceMap":"1252:21555:112:-: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;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21555:112;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:21555:112;-1:-1:-1;1252:21555:112;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;3653:32:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;757:38:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;612:37:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;2084:35:113;1252:21555:112;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;10963:21;10959:75;;11072:10;1252:21555;;;;6241:15;1252:21555;;;;;6241:33;;;:::i;:24::-;:33;:::i;:::-;11048:35;;11044:88;;1057:70:100;5822:21:112;;:::i;:::-;5466:22;;:::i;:::-;1057:70:100;;;:::i;:::-;11239:20:112;;;11235:82;;11342:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;;;11235:82;1252:21555;;-1:-1:-1;;;;;;11282:24:112;;1252:21555;;11282:24;11044:88;1252:21555;;-1:-1:-1;;;11106:15:112;;1252:21555;;11106:15;10959:75;1252:21555;;-1:-1:-1;;;11007:16:112;;1252:21555;;11007:16;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;4919:24:23;1252:21555:112;-1:-1:-1;1252:21555:112;4919:24:23;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;4525:25;819:34:75;837:15;819:34;:::i;:::-;4525:25:112;:::i;:::-;4874:10;;4870:65;;-1:-1:-1;;1252:21555:112;;;;;;;4951:21;1252:21555;4951:21;;:::i;:::-;1252:21555;;;;;;;;;;:::i;4870:65::-;1252:21555;;-1:-1:-1;;;4907:17:112;;1252:21555;;4907:17;1252:21555;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;;-1:-1:-1;;1252:21555:112;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;6025:59;1252:21555;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;6025:15;1252:21555;;;;;6025:59;:::i;:::-;1252:21555;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;5350:25:23;1252:21555:112;;;;;;;:::i;:::-;;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;3202:4:23;4919:24;1252:21555:112;-1:-1:-1;1252:21555:112;4919:24:23;1252:21555:112;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21555:112;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1329:40:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:21555:112;;6441:34:23;6437:102;;6549:37;1252:21555:112;;;6549:37:23;:::i;6437:102::-;1252:21555:112;;-1:-1:-1;;;6498:30:23;;1252:21555:112;;6498:30:23;1252:21555:112;;;;;;-1:-1:-1;;1252:21555:112;;;;;6400:22;1252:21555;;;;6400:46;;;1252:21555;;;;;;;;;;;6400:46;-1:-1:-1;6426:20:112;1252:21555;;;;;6400:46;;1252:21555;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21555:112;;;;;;;;;;;15971:26;15967:76;;-1:-1:-1;;1252:21555:112;;;;;-1:-1:-1;1252:21555:112;;;;;;16094:27;;1252:21555;;16094:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;15967:76;1252:21555;;-1:-1:-1;;;16020:12:112;;1252:21555;;16020:12;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;8912:24;;8908:81;;-1:-1:-1;1252:21555:112;;;;9003:55;;;1252:21555;8999:118;;1252:21555;;-1:-1:-1;;;9151:43:112;;;9188:4;9151:43;;;1252:21555;;;;;;;;;;;;;;;;;;;;;;;;;9151:43;;;;;;;;;;-1:-1:-1;9151:43:112;;;1252:21555;;9267:6;1252:21555;;;9188:4;;9240:10;;9267:6;;:::i;:::-;-1:-1:-1;1252:21555:112;;;9302:43;;;9188:4;9302:43;;;1252:21555;;;;;;;;;;9302:43;1252:21555;;;;;;9302:43;1252:21555;;;;;9302:43;;;;;;;:59;:43;-1:-1:-1;9302:43:112;;;1252:21555;9302:59;;;:::i;:::-;9376:20;;;9372:79;;1252:21555;;;;;9465:64;;1252:21555;9461:123;;5822:21;;1252:21555;5822:21;9940:93;5822:21;;:::i;:::-;5466:22;9864:66;5466:22;;:::i;:::-;9787:67;390:70:100;;;;;:::i;:::-;837:15:75;9823:30:112;837:15:75;819:34;837:15;819:34;:::i;:::-;9823:30:112;;:::i;:::-;9787:67;;:::i;:::-;837:15:75;;9901:28:112;837:15:75;819:34;837:15;819:34;:::i;9901:28:112:-;9864:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21555:112;;;;;;6241:15;1252:21555;;;;;837:15:75;9991:41:112;837:15:75;6241:33:112;:24;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;;;6241:15;1252:21555;;;;;;;6241:33;9991:41;:::i;:::-;9940:93;;:::i;:::-;-1:-1:-1;;1252:21555:112;;;;;;;;;;;9240:10;;10049:62;;1252:21555;;10049:62;3426:1:30;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;;;;9461:123;1252:21555;;-1:-1:-1;;;9552:21:112;;;9465:64;5822:21;9483:31;5822:21;;;:::i;9483:31::-;1252:21555;;-1:-1:-1;9465:64:112;;9372:79;-1:-1:-1;1252:21555:112;;-1:-1:-1;;;9419:21:112;;;9302:43;;;;;;-1:-1:-1;9302:43:112;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9151:::-;9267:6;9151:43;;;;;;;;;;;;;;;:::i;:::-;;;;;8999:118;-1:-1:-1;1252:21555:112;;-1:-1:-1;;;9081:25:112;;;9003:55;-1:-1:-1;9047:10:112;1252:21555;;;;9024:22;1252:21555;;;;;;;;9023:35;9003:55;;8908:81;1252:21555;;-1:-1:-1;;;8959:19:112;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;4126:39:113;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;2255:34:113;1252:21555:112;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5292:48;1252:21555;;;:::i;:::-;5292:48;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;;1329:40:113;;1252:21555:112;;4468:23:23;4464:108;;-1:-1:-1;19952:16:112;1252:21555;-1:-1:-1;;;;;1252:21555:112;;;;;;19952:37;;19948:87;;-1:-1:-1;;;;;;1252:21555:112;;;19952:16;1252:21555;;;;;;20096:38;;1252:21555;;20096:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;4464:108:23;1252:21555:112;;;;4514:47:23;;;;;;966:10:28;1252:21555:112;4514:47:23;;1252:21555:112;;;;;4514:47:23;1252:21555:112;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;16799:24;16795:74;;-1:-1:-1;;1252:21555:112;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;16918:25;;1252:21555;;16918:25;3426:1:30;;:::i;1252:21555:112:-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;-1:-1:-1;1252:21555:112;2718:59:113;1252:21555:112;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12639:19:112;;;:::i;:::-;12631:27;;12627:82;;12732:22;;;;:::i;:::-;-1:-1:-1;1252:21555:112;;;;12830:19;;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;-1:-1:-1;;;;;1252:21555:112;;;12830:19;1252:21555;;;-1:-1:-1;;;12830:44:112;;;12868:4;12830:44;;;1252:21555;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;12868:4;1252:21555;;;;;;;;12830:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12830:44:112;;;1252:21555;;;12937:5;1252:21555;12958:57;1252:21555;;-1:-1:-1;1252:21555:112;;;;12937:5;;;:::i;:::-;1252:21555;-1:-1:-1;;;12958:57:112;;1252:21555;;;;;;;12979:10;;12958:57;;;:::i;:::-;;;;;;;;;1564:45:113;12958:57:112;-1:-1:-1;12958:57:112;;;1252:21555;12958:73;;12954:128;;1252:21555;;13096:44;;;12868:4;13096:44;;;1252:21555;;;;;;;;;13096:44;1252:21555;;;;;;13096:44;;;;;;;;;;:60;:44;-1:-1:-1;13096:44:112;;;:60;;;:::i;:::-;:67;13092:126;;-1:-1:-1;13232:16:112;1252:21555;-1:-1:-1;;;;;1252:21555:112;;;;13228:116;;1252:21555;3426:1:30;;;:::i;:::-;1252:21555:112;13361:4;1252:21555;;;;;13228:116;13329:3;;;:::i;:::-;13228:116;;;;;13092:126;1252:21555;;-1:-1:-1;;;13186:21:112;;;12954:128;1252:21555;;-1:-1:-1;;;13054:17:112;;1252:21555;;13054:17;12958:57;;;;;;;;;;;;;;:::i;:::-;;;;12830:44;-1:-1:-1;12830:44:112;;;;;;;12958:57;12830:44;;;12937:5;12830:44;;;;-1:-1:-1;12830:44:112;;;;;;:::i;:::-;;;;;;;;;;;;;12627:82;-1:-1:-1;1252:21555:112;;-1:-1:-1;;;12681:17:112;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1041:36:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;4680:26;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;4680:26;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;1989:39:113;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1564:45:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;1575:42;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;2423:32:113;1252:21555:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13560:7:112;1252:21555;13546:21;;-1:-1:-1;;;;;1252:21555:112;;;13546:21;:10;:21;13542:71;;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;13694;;;;:::i;:::-;13734:17;;;;:53;;;1252:21555;13733:87;;;;1252:21555;13729:146;;1252:21555;5822:21;15739:48;5822:21;;;:::i;:::-;13969:17;13957:30;13969:17;;;:::i;:::-;1252:21555;;13957:11;1252:21555;;;;;;;13957:30;1252:21555;;14001:29;;;;;14071:30;;;;;:::i;:::-;3066:5:70;;;3463;;;1252:21555:112;3060:42:70;;14181:17:112;;;14177:384;;13997:1615;;;;;;;15626:17;15622:102;;13997:1615;1252:21555;;;;;;;;;;;;;;;;;;;;;;;15739:48;3426:1:30;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;15622:102;-1:-1:-1;1252:21555:112;15699:13;;1252:21555;;15659:18;;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;;15659:18;13985:1;1252:21555;-1:-1:-1;;;;;1252:21555:112;15699:13;;:::i;:::-;15622:102;;14177:384;14474:29;14242:50;14391:65;14242:50;14427:28;14343:29;14242:50;14486:16;14242:50;14506:40;14242:50;;;:::i;:::-;14343:29;;;:::i;:::-;837:15:75;819:34;837:15;819:34;:::i;:::-;14427:28:112;;:::i;14506:40::-;14486:16;;:::i;14474:29::-;1252:21555;14177:384;;;;;;;13997:1615;14614:26;;;;1252:21555;;13957:11;1252:21555;;;;;;;14614:26;1252:21555;14679:27;:45;:27;;;;;:::i;:45::-;3463:5:70;3066;;;3463;;;1252:21555:112;3060:42:70;;14804:17:112;;14800:802;;13997:1615;;;;;;;;14800:802;15525:26;14865:50;;14966:53;14865:50;15066:54;14865:50;15066:29;14865:50;15554:33;14865:50;;;;:::i;:::-;14966:53;;;;;;:::i;:::-;15066:29;;;;:::i;:::-;:54;:::i;:::-;15143:33;;;;15139:194;;14800:802;15351:65;837:15:75;15387:28:112;15467:40;837:15:75;;;819:34;837:15;819:34;:::i;15467:40:112:-;15434:30;15446:17;;;:::i;15434:30::-;1252:21555;15554:33;:::i;:::-;15525:26;1252:21555;;13957:11;1252:21555;;;;;;;15525:26;1252:21555;14800:802;;;;;;;15139:194;15226:33;15200:59;15351:65;15226:33;;;15467:40;15226:33;;;:::i;:::-;15200:59;;:::i;:::-;15281:33;;-1:-1:-1;15281:33:112;;-1:-1:-1;15139:194:112;;13729:146;1252:21555;;-1:-1:-1;;;13843:21:112;;1252:21555;;13843:21;13733:87;13792:28;;;;13733:87;;13734:53;13770:17;;;;:::i;:::-;13755:32;;13734:53;;13542:71;1252:21555;;-1:-1:-1;;;13590:12:112;;1252:21555;;13590:12;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;5127:1;1252:21555;;;;;;;5099:30;1252:21555;5099:30;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;4027:43:113;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;4525:25;819:34:75;837:15;819:34;:::i;1252:21555:112:-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21555:112;2594:68:113;1252:21555:112;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11929:14;1252:21555;;11929:14;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3932:39:113;1252:21555:112;;;;;;;;;;;;;;;5650:47;1252:21555;;;:::i;:::-;5650:47;;:::i;1252:21555::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20281:22:112;1252:21555;;;;;20277:89;;1252:21555;;-1:-1:-1;;;20381:49:112;;-1:-1:-1;;;;;1252:21555:112;;;20381:49;;;1252:21555;;;;;;;;;;;;;;;20381:49;20391:17;;;1252:21555;20381:49;;;;;;;-1:-1:-1;20381:49:112;;;1252:21555;20380:50;;20376:102;;1252:21555;;-1:-1:-1;;;20492:34:112;;1252:21555;;;;;20492:34;1252:21555;20492:34;1252:21555;;20492:34;;;;;;;-1:-1:-1;20492:34:112;;;1252:21555;20538:4;;;1252:21555;;20492:51;20488:107;;-1:-1:-1;20281:22:112;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;;;-1:-1:-1;;;;;;1252:21555:112;;;;;;;-1:-1:-1;;;1252:21555:112;;;20683:24;-1:-1:-1;;20683:24:112;3426:1:30;;:::i;20488:107:112:-;1252:21555;;-1:-1:-1;;;20566:18:112;;;20492:34;;;;;;;-1:-1:-1;20492:34:112;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20376:102;-1:-1:-1;1252:21555:112;;-1:-1:-1;;;20453:14:112;;;20381:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;20277:89;1252:21555;;-1:-1:-1;;;20326:29:112;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;3202:4:23;;:::i;:::-;17521:1:112;17490:32;;17486:106;;1252:21555;;;17606:29;1252:21555;;;;;;;;;;17606:34;;;:87;;;;1252:21555;17602:854;;;1252:21555;18470:21;1252:21555;;;;;;;;;18470:38;;;18466:101;;17606:29;1252:21555;18581:34;;1252:21555;;;;;;;;;18581:34;;17606:29;;18631:25;;19376:32;18631:25;19376:32;18631:25;;;17639:1;18273:25;1252:21555;;18631:25;17606:29;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;-1:-1:-1;18220:39:112;1252:21555;18760:43;18923:39;1252:21555;18470:21;1252:21555;;;;;18923:39;;18919:442;;18577:332;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;19376:32;;;;3426:1:30;;:::i;18919:442:112:-;19124:142;19172:94;19173:81;19280:70;837:15:75;18978:76:112;19002:52;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;19019:35;1252:21555;19002:52;;:::i;:::-;18978:76;1252:21555;;18978:76;17606:29;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;;;-1:-1:-1;;;1252:21555:112;;;;4680:26;4525:25;819:34:75;837:15;819:34;:::i;4680:26:112:-;1252:21555;19195:59;19019:35;1252:21555;19195:59;1252:21555;18470:21;1252:21555;;;;;19195:59;;;:::i;:::-;1252:21555;;19173:81;:::i;:::-;19172:94;:::i;:::-;17606:29;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;;;;-1:-1:-1;;;1252:21555:112;;;;;;;;19124:142;19280:70;1252:21555;;19280:70;18919:442;;;;18577:332;18824:39;;;;;;18820:89;;19376:32;18577:332;19376:32;18577:332;;;18466:101;1252:21555;;-1:-1:-1;;;18531:25:112;;1252:21555;;18531:25;17602:854;18122:46;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;18012:33;4680:26;4525:25;819:34:75;837:15;819:34;:::i;4680:26:112:-;1252:21555;17823:41;17847:17;1252:21555;17823:41;1252:21555;;17823:41;17878:49;1252:21555;17906:21;1252:21555;;;;;;;17606:29;1252:21555;;;;;;;;;;17606:29;1252:21555;;17878:49;17906:21;1252:21555;17941:57;;1252:21555;;;;;;;;17606:29;1252:21555;;;17606:29;1252:21555;;17941:57;17847:17;1252:21555;;18012:33;17606:29;1252:21555;18059:49;;1252:21555;;;;17906:21;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;;;;;-1:-1:-1;;;;;;1252:21555:112;;;;;;;;18059:49;17906:21;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;;;;-1:-1:-1;;;1252:21555:112;;;;;;;;18122:46;18182:77;18220:39;1252:21555;18182:77;1252:21555;;18182:77;18273:25;17639:1;18273:25;1252:21555;;18273:25;17606:29;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;-1:-1:-1;18220:39:112;1252:21555;17602:854;;17606:87;837:15:75;;17644:49:112;819:34:75;837:15;819:34;:::i;17644:49:112:-;-1:-1:-1;17644:49:112;17606:87;;;17486:106;1252:21555;;-1:-1:-1;;;17545:36:112;;1252:21555;;17545:36;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;1666:40;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;5822:21;;:::i;:::-;1252:21555;;;;6626:11;1252:21555;;;;;;;;;;;;;6667:1;1252:21555;;;;;;;;;6626:11;1252:21555;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3833:43:113;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3901:31:23;1252:21555:112;;;;;:::i;:::-;;;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;3901:31:23;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21555:112;6241:15;1252:21555;;;6241:33;1252:21555;-1:-1:-1;1252:21555:112;6241:33;:::i;1252:21555::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21555:112;;;;-1:-1:-1;1252:21555:112;477:31:88;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;477:31:88;;;1252:21555:112;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;477:31:88;1252:21555:112;477:31:88;;;;;;;:::i;:::-;518:79;;;1252:21555:112;518:79:88;;1252:21555:112;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;900:35:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;16336:21;;16332:75;;-1:-1:-1;1252:21555:112;;;16421:22;1252:21555;;;;;;;;;;;;;16421:41;16417:91;;-1:-1:-1;;;;;1252:21555:112;;;;;9024:22;1252:21555;;;;;16574:44;;;;16518:40;;:31;1252:21555;;;;;;;;;;;;;;16518:40;1252:21555;;;;;;;;;;;;;;;16574:44;;;;3426:1:30;;:::i;16332:75:112:-;1252:21555;;-1:-1:-1;;;16380:16:112;;1252:21555;;16380:16;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;2953:94:113;1252:21555:112;;;;;:::i;:::-;;;-1:-1:-1;1252:21555:112;2953:94:113;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;2953:94:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3103:92:113;1252:21555:112;;;;;:::i;:::-;;;-1:-1:-1;1252:21555:112;3103:92:113;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;4396:31:113;1252:21555:112;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20850:20:112;1252:21555;;;;;20846:85;;-1:-1:-1;;;;;1252:21555:112;;;;;;20941:312;;1252:21555;20850:20;1252:21555;;-1:-1:-1;;;;1252:21555:112;-1:-1:-1;;;1252:21555:112;;;21263:27;21306:20;-1:-1:-1;21306:20:112;;3426:1:30;;:::i;20941:312:112:-;1252:21555;;-1:-1:-1;;;20988:45:112;;-1:-1:-1;;;;;1252:21555:112;;20988:45;;;1252:21555;;;20988:45;;1252:21555;;;;;;20988:45;20998:15;;;1252:21555;20988:45;;;;;;;-1:-1:-1;20988:45:112;;;20941:312;20987:46;;20983:104;;1252:21555;;-1:-1:-1;;;21105:30:112;;;1252:21555;21105:30;1252:21555;21105:30;;;;;;;;-1:-1:-1;21105:30:112;;;20941:312;21147:4;;;1252:21555;;21105:47;21101:109;;-1:-1:-1;20850:20:112;1252:21555;;-1:-1:-1;;;;;;1252:21555:112;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;20941:312;;;;;;21101:109;1252:21555;;-1:-1:-1;;;21179:16:112;;;21105:30;;;;;;;-1:-1:-1;21105:30:112;;;;;;:::i;:::-;;;;;;20983:104;1252:21555;;-1:-1:-1;;;21060:12:112;;1252:21555;;21060:12;20988:45;;;;;;;;;;;;;;:::i;:::-;;;;20846:85;1252:21555;;-1:-1:-1;;;20893:27:112;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;11550:23;;11546:79;;11711:6;1252:21555;11644:13;;;;:::i;:::-;1252:21555;;;-1:-1:-1;1252:21555:112;;;;11711:6;:::i;:::-;1252:21555;;;;;;;;;;;;11740:10;;11734:43;;1252:21555;11734:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;;;;;;;11546:79;1252:21555;;-1:-1:-1;;;11596:18:112;;1252:21555;;11596:18;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;-1:-1:-1;1252:21555:112;2833:64:113;1252:21555:112;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;2345:22:113;1252:21555:112;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1183:36:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;3543:54:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;5822:21;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;;900:35:113;;1252:21555:112;;4468:23:23;4464:108;;1252:21555:112;;;;17121:21;17117:71;;1252:21555;;17234:22;1252:21555;;;;;;;;17234:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;5466:22;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;8030:24;;;:::i;:::-;8057:29;;;;;:::i;:::-;1252:21555;;;;;;;8111:1;1252:21555;;;;;;;8089:33;;;:::i;:::-;1252:21555;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;2175:24:113;1252:21555:112;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;3741:36:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;5767:26:23;1252:21555:112;;;;;;;:::i;:::-;;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;3202:4:23;4919:24;1252:21555:112;-1:-1:-1;1252:21555:112;4919:24:23;1252:21555:112;3202:4:23;:::i;:::-;5767:26;:::i;1252:21555:112:-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;;1183:36:113;;1252:21555:112;;4468:23:23;4464:108;;1252:21555:112;;19595:12;1252:21555;19595:29;19591:79;;1252:21555;;19723:30;1252:21555;19595:12;1252:21555;;;;;;19723:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;466:39:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;4221:36:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;4313:27:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1466:3:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;:::i;:::-;6848:48;;1252:21555;;;;;;;:::i;:::-;;;;;;;;;;;;;;6910:16;;6906:111;;1252:21555;;7109:39;1057:70:100;7109:39:112;;5292:48;7072:77;7109:39;;;;7072:77;;:::i;:::-;7188:36;;5650:47;1252:21555;7188:36;;;5650:47;;:::i;:::-;7265:37;;;5292:48;;:::i;:::-;1057:70:100;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;6906:111;6965:41;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5292:48;1252:21555;7072:77;1252:21555;1057:70:100;1252:21555:112;;;:::i;:::-;;;;;6906:111;;;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;10328:21;10324:75;;10413:11;;10409:73;;845:69:100;5466:22:112;;:::i;:::-;5822:21;;:::i;:::-;845:69:100;;;:::i;:::-;10618:10:112;1252:21555;;;;6241:15;1252:21555;;;;;10618:10;;;6241:33;;;:::i;:::-;10588:41;;10584:96;;10705:40;;;;;:::i;10584:96::-;1252:21555;;-1:-1:-1;;;10652:17:112;;1252:21555;;10652:17;10409:73;1252:21555;;-1:-1:-1;;;10447:24:112;;1252:21555;;10447:24;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;3437:50:113;1252:21555:112;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5898:193::-;-1:-1:-1;;;;;1252:21555:112;-1:-1:-1;1252:21555:112;;;6025:15;1252:21555;;;;;6025:59;;5898:193;;6025:59;:::i;2573:269::-;1252:21555;;2645:29;1252:21555;;;;2645:34;;;:86;;;;2573:269;2641:149;;2799:36;2573:269;:::o;2641:149::-;1252:21555;;2754:25;1252:21555;;;;2747:32;:::o;2645:86::-;837:15:75;;;819:34;837:15;819:34;:::i;:::-;1252:21555:112;2683:48;2645:86;;1252:21555;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13985:1;1252:21555;;;;;;;:::o;:::-;;;;;;;;;;:::o;2268:257::-;2336:29;1252:21555;;;;;;;;2336:34;;:86;;;;;2268:257;2332:145;;;1252:21555;;;2268:257;:::o;2332:145::-;1252:21555;;2445:21;1252:21555;;;2438:28;:::o;2336:86::-;837:15:75;;;819:34;837:15;819:34;:::i;:::-;1252:21555:112;2374:48;2336:86;;;7368:191;-1:-1:-1;;;;;1252:21555:112;-1:-1:-1;1252:21555:112;;;6241:15;1252:21555;;;;;6241:33;;;:::i;:::-;5822:21;;:::i;:::-;5466:22;;:::i;:::-;1252:21555;1884:1:100;1252:21555:112;;;;;;;1884:1:100;1252:21555:112;;;;;;;9478:25:70;;;:::i;1252:21555:112:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;:::o;8190:218::-;8303:10;1252:21555;;;-1:-1:-1;;;;;1252:21555:112;;;;;8330:20;;1252:21555;;8353:44;1252:21555;;;;;;;;;;;8353:44;;8391:4;8353:44;;;1252:21555;8353:44;;;;;;;8303:10;8353:44;;;8330:71;8190:218;:::o;8353:44::-;;;;;;;;;;;;;;:::i;8330:71::-;;8303:10;8190:218;:::o;1252:21555::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2890:760::-;2995:25;1252:21555;;;;;;;;;;;;;2983:37;;;;;;1252:21555;;3040:29;1252:21555;;;;;3040:34;;;;:79;;;;;2979:665;3036:143;;;;3199:95;1252:21555;3199:95;1252:21555;3224:41;3223:71;1252:21555;3199:21;1252:21555;3224:41;;:::i;:::-;1252:21555;;;;3223:71;;:::i;3036:143::-;1252:21555;;-1:-1:-1;;;3146:18:112;;;;;3040:79;3078:41;;-1:-1:-1;3040:79:112;;;;2979:665;1252:21555;;3315:29;1252:21555;;;;;;;3315:34;;;;:79;;;;;2979:665;-1:-1:-1;;3311:333:112;;;1252:21555;;3417:83;1252:21555;;3417:83;1252:21555;3438:37;3437:63;1252:21555;3417:17;1252:21555;3438:37;;:::i;:::-;1252:21555;;;3437:63;;:::i;3311:333::-;3538:95;1252:21555;;3562:71;1252:21555;;3563:41;3538:95;1252:21555;3538:21;1252:21555;3563:41;;:::i;:::-;1252:21555;;;;3562:71;;:::i;3315:79::-;3353:41;;-1:-1:-1;3315:79:112;;;;3361:103:30;;;;:::i;:::-;1252:21555:112;;-1:-1:-1;;;;;1252:21555:112;;;11959:23;;11955:79;;12088:11;;12084:70;;1252:21555;12180:10;;;;;;-1:-1:-1;1252:21555:112;;12325:49;;1252:21555;;;;12302:6;;1252:21555;;12259:18;;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;;12259:18;12302:6;:::i;:::-;12325:49;1252:21555;;12336:10;;;;12325:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12192:3:112:-;12228:9;12211:27;1252:21555;12228:9;12221:17;12228:9;;;;;:::i;:::-;1252:21555;12221:17;:::i;12211:27::-;12192:3;1252:21555;12169:9;;12084:70;1252:21555;;-1:-1:-1;;;12122:21:112;;;;;1252:21555;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3698:708::-;3798:21;1252:21555;3790:29;;;3786:68;;3876:17;1252:21555;3868:25;;;;;;1252:21555;3933:91;1252:21555;3932:104;1252:21555;3965:59;3966:29;3933;1252:21555;;;3966:29;;:::i;:::-;1252:21555;;;;;3965:59;;:::i;3864:536::-;1252:21555;;4057:21;1252:21555;4057:26;;:59;;;;3864:536;4053:347;;;1252:21555;4139:92;1252:21555;;4168:51;4169:25;4140:79;1252:21555;4140:25;1252:21555;4169:25;;:::i;:::-;1252:21555;;;4168:51;;:::i;:::-;1252:21555;;;;4140:79;:::i;4053:347::-;4286:91;1252:21555;;4285:104;1252:21555;4318:59;4319:29;4286;1252:21555;;;4319:29;;:::i;:::-;1252:21555;;;;;4318:59;;:::i;:::-;1252:21555;;;;4286:91;:::i;4057:59::-;4087:29;;;;4057:59;;1918:302;1252:21555;;2003:29;1252:21555;;;;2003:34;;:86;;;;;1918:302;1999:159;;;;2174:39;1252:21555;1918:302;:::o;1999:159::-;2112:35;1252:21555;2105:42;:::o;2003:86::-;837:15:75;;;819:34;837:15;819:34;:::i;:::-;1252:21555:112;2041:48;2003:86;;;;8469:228;8570:10;1252:21555;;;-1:-1:-1;;;;;1252:21555:112;;;;;8561:19;8557:75;;8661:12;1252:21555;8648:42;;;:::i;8557:75::-;1252:21555;;-1:-1:-1;;;8603:18:112;;;;;7607:227;;7747:34;7607:227;1252:21555;-1:-1:-1;1252:21555:112;7747:18;1252:21555;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;7747:34;1252:21555;;-1:-1:-1;1252:21555:112;7783:11;1252:21555;;;-1:-1:-1;1252:21555:112;;7803:16;1252:21555;;;-1:-1:-1;1252:21555:112;;;1884:1:100;1252:21555:112;;;;;;;1884:1:100;1252:21555:112;;;;;;;9478:25:70;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:21555:112;;3670:20:30;3666:88;;1991:1;1252:21555:112;;3470:384:30:o;3666:88::-;1252:21555:112;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21555:112;3860:283:30:o;21339:960:112:-;21518:10;1252:21555;;;;6241:15;1252:21555;;;;;;21339:960;;;819:34:75;837:15;819:34;:::i;:::-;21518:10:112;1252:21555;;;;6241:15;1252:21555;;;;;6241:33;;;:::i;:::-;1252:21555;;;;;;;;;21502:93;22218:74;21502:93;;;22043:30;21502:93;;:::i;:::-;837:15:75;;21605:67:112;819:34:75;837:15;819:34;:::i;:::-;21642:29:112;5466:22;;;:::i;21605:67::-;837:15:75;;21682:68:112;819:34:75;837:15;819:34;:::i;:::-;21718:31:112;5822:21;;;:::i;21682:68::-;837:15:75;;22152:34:112;837:15:75;22152:25:112;21777:18;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;21777:18;:::i;:::-;22109:33;21828:18;;1252:21555;;13957:11;1252:21555;;;;;;;21828:18;1252:21555;21885:23;;1252:21555;;21885:16;1252:21555;;;;;;;21885:23;1252:21555;390:70:100;;;;;:::i;:::-;22043:30:112;;;;;;:::i;:::-;22022:18;;1252:21555;;13957:11;1252:21555;;;;;;;22022:18;1252:21555;22109:33;:::i;:::-;22083:23;;1252:21555;;21885:16;1252:21555;;;;;;;22083:23;1252:21555;;;22152:18;1252:21555;;;;;;;22152:25;1252:21555;;;;;;;;;;;;;;;;22152:34;:50;1252:21555;;;22152:50;:::i;:::-;1252:21555;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;21518:10;;1252:21555;;22218:74;21339:960::o;1252:21555::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;1252:21555:112;;7686:17:99;7682:83;;1252:21555:112;7789:27:99;1252:21555:112;7789:27:99;1252:21555:112;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;1252:21555:112;8075:24:99;:::o;7975:84::-;1252:21555:112;;;8009:16:99;5292:13:112;1252:21555;8009:16:99;:::i;:::-;1252:21555:112;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;1252:21555:112;;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21555:112;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21555:112;;7686:17:99;7682:83;;1252:21555:112;7789:27:99;1252:21555:112;7789:27:99;1252:21555:112;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21555:112;;;8009:16:99;5650:12:112;1252:21555;8009:16:99;:::i;:::-;1252:21555:112;;;8001:24:99;: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:21555:112;;7686:17:99;7682:83;;1252:21555:112;7789:27:99;1252:21555:112;7789:27:99;1252:21555:112;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;1252:21555:112;8075:24:99;:::o;7975:84::-;1252:21555:112;;;8009:16:99;1252:21555:112;;8009:16:99;:::i;:::-;1252:21555:112;;;8001:24:99;: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:21555:112;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;466:39:113;;1252:21555:112;;3901:31:23;1252:21555:112;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;757:38:113;;1252:21555:112;;3901:31:23;1252:21555:112;4148:103:23;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;1041:36:113;;1252:21555:112;;3901:31:23;1252:21555:112;4148:103:23;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;612:37:113;;1252:21555:112;;3901:31:23;1252:21555:112;4148:103:23;-1:-1:-1;1252:21555:112;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;966:10:28;1252:21555:112;;;;;;;;;3901:31:23;1252:21555:112;7270:387:23;-1:-1:-1;1252:21555:112;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;-1:-1:-1;;1252:21555:112;7509:4:23;1252:21555:112;;;966:10:28;;-1:-1:-1;;;;;1252:21555:112;;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:21555:112;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;966:10:28;;-1:-1:-1;;;;;1252:21555:112;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21555:112;8209:11:23;:::o;1670:188:56:-;1252:21555:112;;-1:-1:-1;;;1797:53:56;;;;-1:-1:-1;;;;;1252:21555:112;;;1797:53:56;;;1252:21555:112;;;;;;;;;;;;;;;;;1797:53:56;;;1252:21555:112;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;1797:53:56;1252:21555:112;;;1797:53:56;:::i;1252:21555:112:-;7178:12:99;1252:21555:112;;;;;;7178:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;-1:-1:-1;1252:21555:112;:::o;:::-;7178:12:99;1252:21555:112;;;;;;7178:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;-1:-1:-1;1252:21555:112;:::o;:::-;;;;;;;;-1:-1:-1;1252:21555:112;;-1:-1:-1;1252:21555:112;;;-1:-1:-1;1252:21555:112;:::o;:::-;6360:12:99;1252:21555:112;-1:-1:-1;;;1252:21555:112;;;;;;;;;6360:12:99;1252:21555:112;;;;;;6360:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;:::o;:::-;6360:12:99;1252:21555:112;-1:-1:-1;;;1252:21555:112;;;;;;;;;6360:12:99;1252:21555:112;;;;;;6360:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;:::o;:::-;;;;;-1:-1:-1;;;1252:21555:112;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:99;;;;6360:12;1252:21555:112;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21555:112;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;1252:21555:112;;;;;;;;;-1:-1:-1;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;6798:25:99;1252:21555:112;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;1252:21555:112;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21555:112;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;6356:75:99;;;6246:584;;;;6360:12;1252:21555:112;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21555:112;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;1252:21555:112;;;;;;;;;-1:-1:-1;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;6798:25:99;1252:21555:112;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;1252:21555:112;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;6604:::-;1252:21555:112;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;6356:75:99;;;6246:584;;;;;6360:12;;;1252:21555:112;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21555:112;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;6644:21:99;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21555:112;;8310:38:73;;-1:-1:-1;;;;;1252:21555:112;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;1252:21555:112;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;1252:21555:112;;;;;;6360:12:99;1252:21555:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:99;;;1271:160:56;1252:21555:112;;-1:-1:-1;;;1380:43:56;;;;-1:-1:-1;;;;;1252:21555:112;;;1380:43:56;;;1252:21555:112;;;;;;;;;1380:43:56;;;1252:21555:112;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;1380:43:56;1252:21555:112;;;1380:43:56;:::i;1252:21555:112:-;;;;;;;:::o;4996:4226:70:-;;1252:21555:112;;;;-1:-1:-1;;4996:4226:70;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:113;6270:20:70;;;;;6266:143;;1252:21555:112;6695:300:70;;;;;;;;1252:21555:112;;6695:300:70;;7259:375;;7700:21;1252:21555:112;4996:4226:70;:::o;6266:143::-;1829:135:60;;;3060:42:70;1829:135:60;;;;;5792:368:70;1252:21555:112;;1466:3:113;1252:21555:112;;;6119:26:70;:::o;4996:4226::-;;1252:21555:112;;;;-1:-1:-1;;1252:21555:112;4996:4226:70;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:60;-1:-1:-1;940:4:60;7214:31:70;;7259:375;;;8094:1;1252:21555:112;;8075:1:70;1252:21555:112;8074:21:70;1252:21555:112;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;7259:375:70;;;;-1:-1:-1;7259:375:70;;;6695:300;;;;;;1252:21555:112;6695:300:70;;7259:375;7700:21;1252:21555:112;4996:4226:70;:::o;6266:143::-;6330:16;;3066:5;1252:21555:112;940:4:60;3060:42:70;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;22305:460:112:-;;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;22398:23;;;22394:75;;1252:21555;22483:39;:27;;1252:21555;;22483:20;1252:21555;;;;;;;22483:27;22511:10;1252:21555;;;;;;;;;;;;;;22483:39;1252:21555;;22479:93;;22591:32;22511:10;22591:32;;:::i;:::-;22638:11;;;22634:68;;22712:39;22511:10;22712:27;22511:10;22712:27;1252:21555;;22483:20;1252:21555;;;;;;;22712:39;1252:21555;;-1:-1:-1;;1252:21555:112;22754:4;1252:21555;;;22305:460::o;22634:68::-;1252:21555;;-1:-1:-1;;;22672:19:112;;;;;22479:93;1252:21555;;-1:-1:-1;;;22545:16:112;;;;;22394:75;1252:21555;;-1:-1:-1;;;22444:14:112;;;;;14296:213:71;1252:21555:112;14374:24:71;;;;14370:103;;1252:21555:112;14296:213:71;:::o;14370:103::-;1252:21555:112;;;;14421:41:71;;;;;;14452:2;14421:41;;;1252:21555:112;;;;;14421:41:71;10580:184:99;5822:12:112;1252:21555;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;1252:21555:112;;10726:7:99;1252:21555:112;;10736:12:99;1252:21555:112;;;;;;10736:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;10580:184:99;:::o;10446:63:73:-;1252:21555:112;;;;;;;;5822:12;-1:-1:-1;14439:109:73;;;1252:21555:112;;;10446:63:73;;10580:184:99;5466:13:112;1252:21555;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;1252:21555:112;;10726:7:99;1252:21555:112;;10736:12:99;1252:21555:112;;;;;;10736:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;10580:184:99;:::o;10446:63:73:-;1252:21555:112;;;;;;;;5466:13;-1:-1:-1;14439:109:73;;;1252:21555:112;;;10446:63:73;;10580:184:99;1252:21555:112;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;1252:21555:112;;10726:7:99;1252:21555:112;;10736:12:99;:17;:12;;:17;:::i;:::-;1252:21555:112;;;;;;10580:184:99;:::o;10726:31::-;;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;1252:21555:112;;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;;-1:-1:-1;14439:109:73;;;1252:21555:112;;;10446:63:73;;1662:280:100;;;1884:1;1252:21555:112;;;;;;;1884:1:100;1252:21555:112;;;;;;;9478:25:70;;;:::i;6999:207:99:-;5292:13:112;1252:21555;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;1252:21555:112;;7168:7:99;1252:21555:112;;7178:17:99;1252:21555:112;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5292:13:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;14289:265;;10135:41;1252:21555:112;;;;;10135:48:73;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21555:112;;;;;;;10049:53:73;14439:109;5292:13:112;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;1252:21555:112;;;;;9870:48:73;9866:149;1252:21555:112;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;5650:12:112;1252:21555;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;1252:21555:112;;7168:7:99;1252:21555:112;;7178:17:99;1252:21555:112;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5650:12:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21555:112;;;;;;;10049:53:73;14439:109;5650:12:112;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;1252:21555:112;;;;;9870:48:73;9866:149;1252:21555:112;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;;1252:21555:112;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;1252:21555:112;;7168:7:99;1252:21555:112;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;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:21555:112;;;;;;;10049:53:73;14439:109;;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;;-1:-1:-1;14439:109:73;;1252:21555:112;;;;;9870:48:73;9866:149;1252:21555:112;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21555:112;;;;;;;:::i;:::-;-1:-1:-1;1252:21555:112;;;;;;;:::o;11486:272:99:-;1252:21555:112;;:::i;:::-;;;;:::i;:::-;;5292:13;1252:21555;;;;;;5292:13;-1:-1:-1;1252:21555:112;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;;;;;;;;;;11718:12:99;1252:21555:112;;;;;;11718:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;:::i;:::-;;;;11672:79:99;;1252:21555:112;11486:272:99;:::o;:::-;1252:21555:112;;:::i;:::-;;;;:::i;:::-;;5650:12;1252:21555;;;;;;5650:12;-1:-1:-1;1252:21555:112;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;;;;;;;;;;11718:12:99;1252:21555:112;;;;;;11718:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;:::i;11486:272:99:-;;1252:21555:112;11718:12:99;11452:22:73;11718:31:99;11486:272;1252:21555:112;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;1252:21555:112;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:99;:31;:::i;:::-;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;11672:79:99;;1252:21555:112;11486:272:99;:::o;7738:720:56:-;;-1:-1:-1;7875:421:56;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:56;;8310:15;;-1:-1:-1;;;;;;1252:21555:112;;8328:26:56;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21555:112;;-1:-1:-1;;;8401:40:56;;-1:-1:-1;;;;;1252:21555:112;;;8401:40:56;;;1252:21555:112;;;8401:40:56;8310:68;8377:1;8362:16;;8310:68;;1258:280:100;;;1252:21555:112;;;;;;;;;;;;;;;;9478:25:70;;;;;:::i;:::-;9552;;;;;;:29;;1252:21555:112;;;;;;;1258:280:100;:::o;10695:389:73:-;5822:12:112;1252:21555;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21555:112;;;;;;;;5822:12;10833:17:73;14439:109;;;1252:21555:112;11014:1:73;;1252:21555:112;;;;;;;11030:37:73:o;10695:389::-;5466:13:112;1252:21555;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21555:112;;;;;;;;5466:13;10833:17:73;14439:109;;;1252:21555:112;11014:1:73;;1252:21555:112;;;;;;;11030:37:73:o;10695:389::-;1252:21555:112;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21555:112;;;;;;;;;;10833:17:73;14439:109;;10833:17;14439:109;;;1252:21555:112;11014:1:73;1252:21555:112;;;;;;;11030:37:73;:::o;1776:194:60:-;1829:135;;;;;;;;1252:21555:112;5822:12;1252:21555;;-1:-1:-1;;;1252:21555:112;;;;;;;;;5822:12;1252:21555;;;;;;5822:12;-1:-1:-1;1252:21555:112;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;:::o;:::-;5466:13;1252:21555;;-1:-1:-1;;;1252:21555:112;;;;;;;;;5466:13;1252:21555;;;;;;5466:13;-1:-1:-1;1252:21555:112;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;:::o;:::-;;;-1:-1:-1;;;1252:21555:112;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;5822:12:112;1252:21555;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21555:112;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;1252:21555:112;;;;;;;;;;;;;;;;;12285:19:73;1252:21555:112;;12423:25:73;;:::o;12247:163::-;1252:21555:112;;12343:52:73;1252:21555:112;12353:41:73;1252:21555:112;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;1252:21555:112;;12353:41:73;;;1252:21555:112;12343:52:73;:::i;:::-;12247:163;;12099:89;1252:21555:112;;-1:-1:-1;;;12143:30:73;;;;;11860:713;1252:21555:112;12479:52:73;1252:21555:112;12489:41:73;1252:21555:112;;:::i;12489:41:73:-;-1:-1:-1;;;;;1252:21555:112;;12489:41:73;;;1252:21555:112;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5466:13:112;1252:21555;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21555:112;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;1252:21555:112;;;;;;;;;;;;;;;;;12247:163:73;1252:21555:112;;12343:52:73;1252:21555:112;12353:41:73;1252:21555:112;;:::i;12353:41:73:-;-1:-1:-1;;;;;1252:21555:112;;12353:41:73;;;1252:21555:112;12343:52:73;:::i;11860:713::-;1252:21555:112;12479:52:73;1252:21555:112;12489:41:73;1252:21555:112;;:::i;12489:41:73:-;-1:-1:-1;;;;;1252:21555:112;;12489:41:73;;;1252:21555:112;12343:52:73;:::i;11657:922::-;1252:21555:112;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21555:112;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21555:112;;;;;;;;;;;;;;;;;12247:163:73;1252:21555:112;;;12343:52:73;1252:21555:112;12353:41:73;1252:21555:112;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;1252:21555:112;;12353:41:73;;;1252:21555:112;12343:52:73;:::i;11860:713::-;1252:21555:112;;12479:52:73;1252:21555:112;12489:41:73;1252:21555:112;;:::i;12489:41:73:-;-1:-1:-1;;;;;1252:21555:112;;12489:41:73;;;1252:21555:112;12343:52:73;:::i;18080:5181:70:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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:21555:112;18246:1:70;1252:21555:112;22284:6:70;;;;:::i;:::-;1252:21555:112;;;;;22278:18:70;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:21555:112;23216:28:70;940:4:60;;18080:5181:70;:::o;19887:61::-;18246:1;1252:21555:112;19887:61:70;;19787:87;1252:21555:112;;;;;19787:87:70;;;19687;1252:21555:112;;;;;19687:87:70;;;19585:89;1252:21555:112;;;;;19585:89:70;;;19482:90;1252:21555:112;;;;;19482:90:70;;;19379;1252:21555:112;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;1252:21555:112;-1:-1:-1;1252:21555:112;;;;19274:92:70;;12929:433:73;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:70;;;;;1252:21555:112;;3731:5:70;;;1252:21555:112;;;;;;;;;5292:13;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;1252:21555:112;;;;;-1:-1:-1;13189:136:73;1252:21555:112;;;13248:10:73;;13189:136;;13105:230;;;13189:136;1252:21555:112;;;;;;;;;;;13189:136:73;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:70;;;;;1252:21555:112;;3731:5:70;;;1252:21555:112;;;;;;;;;5650:12;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;1252:21555:112;;;;;-1:-1:-1;13189:136:73;1252:21555:112;;;13248:10:73;;13189:136;;13105:230;;;13189:136;1252:21555:112;;;;;;;;;;;13189:136:73;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:70;;;;;;1252:21555:112;;3731:5:70;;;1252:21555:112;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;;-1:-1:-1;14439:109:73;;1252:21555:112;;;;;-1:-1:-1;13189:136:73;1252:21555:112;;;13248:10:73;;13189:136;;13105:230;;;;13189:136;1252:21555:112;;;;;;;;;;;13189:136:73;;","linkReferences":{},"immutableReferences":{"72315":[{"start":5208,"length":32},{"start":6474,"length":32}],"72318":[{"start":7712,"length":32},{"start":9000,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelay()":"c642b050","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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","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\":\"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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\"}],\"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\":\"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\":\"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\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[{\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"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\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"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)\":{\"params\":{\"epochDuration\":\"epoch duration\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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)\":{\"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.\"},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"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.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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.\"},\"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\":\"0xef0388f68f28f2e7549490774f83d7df268778dcc68df2e853c899784a8dde7e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b52afed6f3a9a08d38a84a9f37a40a1621f7bcaf988e99ccb468bbe0d6dafa3\",\"dweb:/ipfs/QmUEceS4nd5h3HqhNgyQLwKUT1AxuiEPKCjtT5sWBsTrLQ\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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}],"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":"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":"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":"nonpayable","type":"function","name":"_Vault_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[{"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","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":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","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":"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"}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"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."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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."},"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":"0xef0388f68f28f2e7549490774f83d7df268778dcc68df2e853c899784a8dde7e","urls":["bzz-raw://6b52afed6f3a9a08d38a84a9f37a40a1621f7bcaf988e99ccb468bbe0d6dafa3","dweb:/ipfs/QmUEceS4nd5h3HqhNgyQLwKUT1AxuiEPKCjtT5sWBsTrLQ"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file diff --git a/out/VaultTokenized.sol/VaultTokenized.json b/out/VaultTokenized.sol/VaultTokenized.json index 70a820b..ddc67c7 100644 --- a/out/VaultTokenized.sol/VaultTokenized.json +++ b/out/VaultTokenized.sol/VaultTokenized.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"},{"name":"vaultFactory","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":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","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":"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":"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":"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":"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":"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":"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":"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":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"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":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"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":"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":"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":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DelegatorAlreadyInitialized","inputs":[]},{"type":"error","name":"DepositLimitReached","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":"InsufficientClaim","inputs":[]},{"type":"error","name":"InsufficientDeposit","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":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","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"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]}],"bytecode":{"object":"0x60e03461013c57601f61569238819003918201601f1916830192916001600160401b03918285118486101761014057816060928592604097885283398101031261013c5761004c82610154565b916100648461005d60208401610154565b9201610154565b9260805260a0527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82861c1661012b5780808316036100e7575b50505060c05251615529908161016982396080518181816115810152611b26015260a051818181611c8f0152612212015260c051818181610a9c0152610cc20152f35b6001600160401b0319909116811790915582519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a4565b845163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361013c5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104ba57806306fdde03146104b5578063095ea7b3146104b05780631415519b146104ab57806318160ddd146103895780631b66c9e1146104a65780631e9a6950146104a157806323b872dd1461049c578063248a9ca31461049757806327810b6e14610492578063281f57521461048d5780632abe3048146104885780632d73c69c146104835780632dd310001461047e5780632f2ff15d14610479578063313ce5671461047457806336568abe1461046f578063392e53cd1461046a5780634105a7dd14610465578063463616711461046057806347e7ef241461045b57806348d3b775146104565780634ff0876a1461045157806350861adc1461044c57806350f22068146104475780635346e34f1461044257806354fd4d501461043d57806357ec83cc1461043857806359f769a9146104335780635cc070761461042e57806361a8c8c4146104295780636da3e06d146104245780636ec1e3f81461041f57806370a08231146103d4578063715018a61461041a5780637278e31c1461041557806373790ab314610410578063766718081461040b578063794b15b7146104065780637953b33b146104015780637c04c80a146103fc578063810da75d146103f757806383cd9cc3146103f257806387df0788146103ed5780638b0e9f3f146103e85780638da5cb5b146103e357806391d14854146103de57806395d89b41146103d95780639d66201b146103d45780639f86fd85146103cf578063a1b12202146103ca578063a217fddf146103c5578063a21a1df9146103c0578063a2861466146103bb578063a3b54172146103b6578063a5d03223146103b1578063a9059cbb146103ac578063aabc2496146103a7578063aad3ec96146103a2578063afba70ad1461039d578063b134427114610398578063bd49c35f14610393578063bdc8144b1461038e578063bfefcd7b14610389578063c31e8dd714610384578063ce9b79301461037f578063d547741f1461037a578063d8dfeb4514610375578063db38871514610370578063dd62ed3e1461036b578063ecf7085814610366578063efb559d614610361578063f2fde38b1461035c578063f3fef3a3146103575763f5e7ee0f14610352575f80fd5b6128cc565b612826565b6127f9565b6126aa565b61268d565b612656565b61261c565b6125f1565b6125a5565b61257d565b612513565b610749565b612435565b61241b565b6123f3565b6123c9565b612308565b612151565b61211c565b6120d6565b612089565b611f96565b611f5c565b611f42565b611f1e565b611e64565b6115d5565b611db2565b611d54565b611d20565b611cbe565b611c7a565b611ac1565b611aa8565b611a42565b611a1b565b6119db565b611989565b611948565b611676565b61160f565b6115b0565b61156c565b611519565b6114ef565b6114c8565b611390565b61135e565b6112c9565b6112b0565b611253565b611233565b611212565b610f2a565b610f02565b610e67565b610e22565b610dd7565b610d3f565b610cf1565b610cad565b610c41565b610a56565b610988565b610960565b610927565b61088a565b6107a5565b61076b565b61070f565b61064d565b61054c565b346105105760203660031901126105105760043563ffffffff60e01b811680910361051057602090637965db0b60e01b81149081156104ff575b506040519015158152f35b6301ffc9a760e01b1490505f6104f4565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610549928181520190610514565b90565b34610510575f366003190112610510576040515f5f805160206153d483398151915280549061057a826128f6565b8085529160209160019182811690811561060f57506001146105b7575b6105b3866105a781880382610b85565b60405191829182610538565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106105fc575050505081016020016105a7826105b35f610597565b80548686018401529382019381016105df565b90508695506105b3969350602092506105a794915060ff191682840152151560051b82010192935f610597565b6001600160a01b0381160361051057565b346105105760403660031901126105105760043561066a8161063c565b60243533156106f7576001600160a01b0382169182156106df576106a78291610692336119a3565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610510575f3660031901126105105760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610510575f366003190112610510576020610763613feb565b604051908152f35b34610510575f3660031901126105105760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610510576040366003190112610510576004356107c28161063c565b602435906107ce612e0e565b6001600160a01b0381161561087957335f908152600e602052604090206107f9906140d8565b6140d8565b82116108675761081961080a614064565b610812613feb565b908461414c565b918215610852578261082a92612e3d565b9061084160015f805160206154b483398151915255565b604080519182526020820192909252f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b34610510576060366003190112610510576004356108a78161063c565b6024356108b38161063c565b604435906108c433610692856119a3565b5492600184016108e5575b6108d99350612fcd565b60405160018152602090f35b828410610901576108fc836108d995033383614125565b6108cf565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610510576020366003190112610510576004355f525f805160206154948339815191526020526020600160405f200154604051908152f35b34610510575f366003190112610510576001546040516001600160a01b039091168152602090f35b34610510575f366003190112610510576109a0612b62565b8015610a015760015465ffffffffffff8160a01c16915f1981019081116109fc576109ce9160d01c9061295d565b81018091116109fc576109e36105b39161312c565b60405165ffffffffffff90911681529081906020820190565b61292e565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b038216820361051057565b9181601f84011215610510578235916001600160401b038311610510576020838186019501011161051057565b3461051057604036600319011261051057610a6f610a13565b6001600160401b0360243581811161051057610a8f903690600401610a29565b929091610a9a612e0e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610b14575f805160206154d4833981519152549060ff8260401c16928315610b04575b5050501561315e575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f8080610ae9565b604051631966391b60e11b8152600490fd5b65ffffffffffff81160361051057565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b03821117610b6557604052565b610b36565b604081019081106001600160401b03821117610b6557604052565b90601f801991011681019081106001600160401b03821117610b6557604052565b6040519061016082018281106001600160401b03821117610b6557604052565b60405190610bd382610b6a565b565b6001600160401b038111610b6557601f01601f191660200190565b929192610bfc82610bd5565b91610c0a6040519384610b85565b829481845281830111610510578281602093845f960137010152565b9080601f830112156105105781602061054993359101610bf0565b3461051057606036600319011261051057600435610c5e8161063c565b60243590610c6b82610b26565b604435906001600160401b03821161051057602092610c91610763933690600401610c26565b6001600160a01b039092165f908152600e855260409020613330565b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461051057604036600319011261051057610d3d602435600435610d148261063c565b805f525f80516020615494833981519152602052610d38600160405f200154613507565b613807565b005b34610510575f366003190112610510575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610dd2575f90610d94575b60405160ff919091168152602090f35b506020813d602011610dca575b81610dae60209383610b85565b81010312610510575160ff81168103610510576105b390610d84565b3d9150610da1565b6129ac565b3461051057604036600319011261051057602435610df48161063c565b336001600160a01b03821603610e1057610d3d9060043561383d565b60405163334bd91960e11b8152600490fd5b34610510575f3660031901126105105760ff60025460a01c1680610e4e575b6020906040519015158152f35b5060035460a01c60ff16610e41565b8015150361051057565b3461051057602036600319011261051057600435610e8481610e5d565b610e8c612e0e565b610e946133fc565b5f54901515908160ff8216151514610ef05760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f805160206154b483398151915255005b60405163a741a04560e01b8152600490fd5b34610510575f36600319011261051057602065ffffffffffff60015460a01c16604051908152f35b3461051057604080600319360112610510576004803591610f4a8361063c565b610f52612e0e565b6001600160a01b0391838316908115611204575f5460ff8116806111eb575b6111dc5783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dd2575f936111b9575b50610fc6906024359030903390614535565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dd257611005935f9261118c575b5050612950565b93841561117d5760081c60ff1680611168575b61115a5750906105b3916110c961102d614064565b95611076611039613feb565b6110616110478a838b61414c565b9961105b8a6110554261312c565b9261297e565b90613c86565b5050611070896110554261312c565b90613d66565b50506001600160a01b0381165f908152600e60205260409020906110c3886110be6107f46110a34261312c565b6001600160a01b039095165f908152600e6020526040902090565b61297e565b91613e42565b5050815184815260208101869052819033907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a361111760015f805160206154b483398151915255565b81518581525f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a35191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50611175846110be614064565b815410611018565b50825163070f6eed60e11b8152fd5b6111ab9250803d106111b2575b6111a38183610b85565b8101906138cf565b5f80610ffe565b503d611199565b610fc69193506111d590853d87116111b2576111a38183610b85565b9290610fb4565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610f71565b8251630d534ce360e11b8152fd5b34610510575f36600319011261051057602060ff5f54166040519015158152f35b34610510575f36600319011261051057602060015460d01c604051908152f35b34610510575f36600319011261051057602060ff60025460a01c166040519015158152f35b9060406003198301126105105760043561129181610b26565b91602435906001600160401b0382116105105761054991600401610c26565b346105105760206107636112c336611278565b9061319a565b34610510576020366003190112610510576004356112e681610e5d565b6112ee612e0e565b6112f6613459565b5f54901515908160ff8260081c16151514610ef05761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610d3d60015f805160206154b483398151915255565b34610510575f3660031901126105105760206001600160401b035f805160206154d48339815191525416604051908152f35b34610510576060366003190112610510576113a9610a13565b6024356113b58161063c565b6001600160401b0391604435838111610510576113d6903690600401610a29565b5f805160206154d48339815191529491855494838616806114b75760ff8760401c169081156114aa575b50610af2577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966114a59661146d958716906001600160401b0319161790556114685f805160206154d4833981519152600160401b68ff000000000000000019825416179055565b6129b7565b5f805160206154d4833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f611400565b60405162dc149f60e41b8152600490fd5b346105105760203660031901126105105760206107636004356114ea8161063c565b612acb565b34610510576020366003190112610510576004355f526006602052602060405f2054604051908152f35b34610510575f3660031901126105105760015465ffffffffffff61154f818360a01c1692611545612b62565b9060d01c9061295d565b82018092116109fc5761156360209261312c565b60405191168152f35b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610510575f36600319011261051057602060ff60035460a01c166040519015158152f35b34610510576020366003190112610510576004356115f28161063c565b60018060a01b03165f52600e602052602061076360405f206140d8565b34610510575f36600319011261051057611627613abb565b5f8051602061543483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346105105760403660031901126105105760043560243561169681610b26565b61169e612e0e565b6003546116bb906001600160a01b03165b6001600160a01b031690565b3303611936576116c9612b62565b906116d381612b96565b9082151580611925575b801561191c575b61190a576105b3937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611716614064565b9461173161172382612970565b5f52600660205260405f2090565b54908281036118245750611745818761297e565b8381188185100281189687806117dd575b50505050505b836117a9575b6040805191825265ffffffffffff929092166020820152908101839052606090a161179960015f805160206154b483398151915255565b6040519081529081906020820190565b5f546117d89085906117c69060101c6001600160a01b03166116af565b6001546001600160a01b031690613f00565b611762565b61181993610ffe8361105b6118036117fc611723986118139888613afd565b8096612950565b9461180d4261312c565b92612950565b92612970565b555f80808087611756565b9150611838825f52600660205260405f2090565b5490611848816110be848a61297e565b908482188286100282189788611863575b505050505061175c565b6118d8938361188b936118988c6118936118816118c9998884613afd565b9788958584613afd565b948592612950565b612950565b938484106118e3575b610ffe9061105b6118b795969761180d4261312c565b6118c361172387612970565b55612950565b915f52600660205260405f2090565b555f80808080611859565b916118ff610ffe916118f9866118b79798612950565b9061297e565b8594509290506118a1565b604051635e18d2a560e01b8152600490fd5b508282116116e4565b5061192f83612942565b82106116dd565b60405163dabc4ad960e01b8152600490fd5b34610510575f3660031901126105105760015465ffffffffffff808260a01c1691611971612b62565b600181018091116109fc5761154f9160d01c9061295d565b34610510575f366003190112610510576020610763612b62565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610510576020366003190112610510576004356119f88161063c565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610510576020366003190112610510576020610763600435611a3d81610b26565b612b96565b3461051057604036600319011261051057600435611a5f8161063c565b6024356001600160401b038082116105105736602383011215610510578160040135908111610510573660248260051b84010111610510576105b3926024611799930190612bd1565b34610510576020610763611abb36611278565b9061327b565b3461051057602080600319360112610510576004803590611ae18261063c565b611ae9612e0e565b60025460a01c60ff16611c6b576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f91611c3e575b5015611c2e5760405163fbfa77cf60e01b8152838516949082818581895afa928315610dd2575f93611bff575b505030911603611bf05750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610d3d60015f805160206154b483398151915255565b60405163b9f0f17160e01b8152fd5b611c1f929350803d10611c27575b611c178183610b85565b810190612d2a565b905f80611b83565b503d611c0d565b506040516324e5af8d60e21b8152fd5b611c5e9150823d8411611c64575b611c568183610b85565b810190612d0a565b5f611b56565b503d611c4c565b604051631380833b60e01b8152fd5b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610510575f36600319011261051057611cd6612b62565b611cde614064565b90805f52600660205260405f205482018092116109fc57600181018091116109fc575f52600660205260405f205481018091116109fc57602090604051908152f35b34610510575f366003190112610510575f80516020615434833981519152546040516001600160a01b039091168152602090f35b3461051057604036600319011261051057602060ff611da6602435611d788161063c565b6004355f525f80516020615494833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610510575f366003190112610510576040515f5f80516020615414833981519152805490611de0826128f6565b8085529160209160019182811690811561060f5750600114611e0c576105b3866105a781880382610b85565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510611e51575050505081016020016105a7826105b35f610597565b8054868601840152938201938101611e34565b346105105760408060031936011261051057600435611e828161063c565b602435906001600160401b038211610510575f8091611ea8611f0c943690600401610a29565b908187519283928337810184815203915af43d15611f1457611efe3d611ecd81610bd5565b90611eda86519283610b85565b81523d5f602083013e5b845194859315156020850152808401526060830190610514565b03601f198101835282610b85565b805190602001fd5b611efe6060611ee4565b34610510575f36600319011261051057602060ff5f5460081c166040519015158152f35b34610510575f3660031901126105105760206040515f8152f35b34610510575f3660031901126105105760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461051057604036600319011261051057600435611fb38161063c565b602435611fbf81610e5d565b611fc7612e0e565b611fcf6134b0565b6001600160a01b038216918215612077575f8381526005602052604090205460ff16151582151514610ef0576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161205e9161204c908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610d3d60015f805160206154b483398151915255565b604051630da30f6560e31b8152600490fd5b346105105760403660031901126105105760206120cd6024356120ab8161063c565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461051057604036600319011261051057602060ff611da66024356120fa8161063c565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105105760403660031901126105105761214660043561213c8161063c565b6024359033612fcd565b602060405160018152f35b34610510576020806003193601126105105760048035906121718261063c565b612179612e0e565b60035460a01c60ff166122f9576001600160a01b038281169390846121e7575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610d3d60015f805160206154b483398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f916122dc575b50156122cb5760405163fbfa77cf60e01b815282818581895afa928315610dd2575f936122ac575b50503091160361229d5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080612199565b604051633f3e089160e21b8152fd5b6122c3929350803d10611c2757611c178183610b85565b905f8061226a565b60405163dabc4ad960e01b81528390fd5b6122f39150833d8511611c6457611c568183610b85565b5f612242565b60405163703fe2e560e01b8152fd5b34610510576040366003190112610510576004356123258161063c565b60243590612331612e0e565b6001600160a01b03918183169081156123b7576123626105b39461235483613f4f565b9485915f5460101c16613f00565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f805160206154b4833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b34610510576020366003190112610510576004355f526007602052602060405f2054604051908152f35b34610510575f366003190112610510576003546040516001600160a01b039091168152602090f35b34610510575f366003190112610510576020610763614064565b3461051057602036600319011261051057600435612451612e0e565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff16156124f557508060045414610ef0576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f805160206154b483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b34610510576020366003190112610510576004356125308161063c565b612538612b62565b61254182612acb565b9161254c8183612db0565b83018093116109fc57600182018092116109fc5761256991612db0565b81018091116109fc57602090604051908152f35b34610510575f366003190112610510576002546040516001600160a01b039091168152602090f35b3461051057604036600319011261051057610d3d6024356004356125c88261063c565b805f525f805160206154948339815191526020526125ec600160405f200154613507565b61383d565b34610510575f366003190112610510575f5460405160109190911c6001600160a01b03168152602090f35b34610510575f3660031901126105105760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105105760403660031901126105105760206120cd6004356126788161063c565b610692602435916126888361063c565b6119a3565b34610510575f366003190112610510576020600454604051908152f35b34610510576060366003190112610510576004356126c78161063c565b602435906126d482610b26565b6001600160401b0391604435838111610510576126f5903690600401610a29565b9092604093845161270581610b4a565b60608152606060208201526060868201529280612764575b6105b386612755878761274f612736898484519161298b565b928561274660208501518361327b565b9301519061319a565b9161414c565b90519081529081906020820190565b8101939250602081850312610510578035908682116105105701926060848203126105105784519561279587610b4a565b843581811161051057826127aa918701610c26565b8752602085013581811161051057826127c4918701610c26565b602088015285850135908111610510576105b3966127ed61274f93612736936127559801610c26565b8782015293945061271d565b3461051057602036600319011261051057610d3d6004356128198161063c565b612821613abb565b612d3f565b34610510576040366003190112610510576004356128438161063c565b60243561284e612e0e565b6001600160a01b038216156108795780156128ba5761287d61286e613feb565b612876614064565b9083614bfe565b335f908152600e60205260409020909290612897906140d8565b83116128a85761082a918391612e3d565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105105760403660031901126105105760206107636024356128ee8161063c565b600435612db0565b90600182811c92168015612924575b602083101461291057565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612905565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116109fc57565b919082039182116109fc57565b818102929181159184041417156109fc57565b90600182018092116109fc57565b919082018092116109fc57565b6001600160a01b03165f908152600e60205260409020610549929190613330565b6040513d5f823e3d90fd5b916129f4926129c461458d565b6129cc61458d565b60015f805160206154b4833981519152556001600160a01b038116612ab1575b503691610bf0565b80516020908201818101828483031261051057828401516001600160401b039485821161051057019283926101a093849103126105105760405193612a3885610b4a565b612a44838383016138e9565b8552610180810151868111610510578383612a61928401016139b2565b9382860194855281015195861161051057612a89612aa89383610bd398612aa39401016139b2565b94604081019586525191611efe60405193849283016139f8565b6145d0565b5190519061498c565b612ac590612abd61458d565b61282161458d565b5f6129ec565b6001600160a01b03165f908152600e60205260409020612aea906140d8565b612af2614064565b612afa613feb565b90600181018091116109fc57600182018092116109fc5761054992613afd565b65ffffffffffff91821690821603919082116109fc57565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612b5d57160490565b612b32565b612b6b4261312c565b612b92600154612b8865ffffffffffff93848360a01c1690612b1a565b9060d01c90612b46565b1690565b6001549065ffffffffffff91828160a01c16918284821610612bbf57612b9292612b8891612b1a565b60405163b7d0949760e01b8152600490fd5b90612bda612e0e565b5f926001600160a01b0383169283156123b7578115612c92575f5b828110612c7057505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612c45918491612c409060101c6001600160a01b03166116af565b613f00565b612c56604051928392339684612ccd565b0390a390610bd360015f805160206154b483398151915255565b94612c8b6001916118f9612c85898789612cb8565b35613f4f565b9501612bf5565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612cc85760051b0190565b612ca4565b604080825281018390529392916001600160fb1b0381116105105760209160609160051b809183880137850101930152565b5190610bd382610e5d565b90816020910312610510575161054981610e5d565b5190610bd38261063c565b9081602091031261051057516105498161063c565b6001600160a01b03908116908115612d98575f8051602061543483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612dd690825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116109fc57600182018092116109fc5761054992613afd565b5f805160206154b48339815191526002815414612e2b5760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e6020526040812093949390929190612e7c90612e5f4261312c565b335f908152600e602052604090206110c3908990611893906140d8565b5050612e96612e8a4261312c565b61107087611893613feb565b5050612eb0612ea44261312c565b61105b84611893614064565b505081612f4282610692612eca612ec5612b62565b612970565b612f21612edf825f52600660205260405f2090565b54612ef2835f52600760205260405f2090565b54612f09612f0183838b61414c565b9a8b9361297e565b612f1b855f52600660205260405f2090565b5561297e565b612f33825f52600760205260405f2090565b555f52600860205260405f2090565b612f4d84825461297e565b9055604080519182526020820187905281018390526001600160a01b03919091169033907febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f90606090a36040519384529233907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080602081015b0390a3565b916001600160a01b03808416929083156131145781169384156130fc576001600160a01b0381165f908152600e6020526040902061300a906140d8565b908382106130ca57612fc89261306c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95936130596130b89460018060a01b03165f52600e60205260405f2090565b90856130644261312c565b910391613e42565b50506001600160a01b0381165f908152600e6020526040902090836130b16107f46130964261312c565b6001600160a01b039094165f908152600e6020526040902090565b0191613e42565b50506040519081529081906020820190565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161313f571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b610510913691610bf0565b90816020910312610510575163ffffffff811681036105105790565b90600163ffffffff809316019182116109fc57565b9080511561327157806020806131b593518301019101613169565b6131be816143bd565b906131cf825165ffffffffffff1690565b9065ffffffffffff80851692168281146132655782119182613205575b50506131fc57506105499061416d565b60209150015190565b909150613213600a54612942565b63ffffffff83161491821561322c575b50505f806131ec565b61325d91925061324661324161325292613185565b6143bd565b5165ffffffffffff1690565b65ffffffffffff1690565b115f80613223565b50505060209150015190565b506105499061416d565b90805115613326578060208061329693518301019101613169565b61329f81614447565b906132b0825165ffffffffffff1690565b9065ffffffffffff808516921682811461326557821191826132dd575b50506131fc575061054990614234565b9091506132eb600c54612942565b63ffffffff831614918215613304575b50505f806132cd565b61331e91925061324661331961325292613185565b614447565b115f806132fb565b5061054990614234565b918051156133f2578060208061334b93518301019101613169565b9161335683826144c7565b92613367845165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261339d575b50506133945761054992506142f4565b50506020015190565b9091506133aa8354612942565b63ffffffff8316149182156133c3575b50505f80613384565b6133de9192506132466133d861325292613185565b856144c7565b115f806133ba565b50505050506020015190565b50610549916142f4565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156124f55750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff9061344f565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff9061344f565b5f8181525f8051602061549483398151915260209081526040808320338452909152902060ff9061344f565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206154948339815191529060ff166135de575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206154948339815191529060ff905b54166136b3575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206154948339815191529060ff9061364f565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206154948339815191529060ff9061364f565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206154948339815191529060ff9061364f565b5f8181525f80516020615494833981519152602081815260408084206001600160a01b038716855290915290912060ff9061364f565b5f8181525f80516020615494833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156136b3575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b90816020910312610510575190565b5190610bd382610b26565b919082610160910312610510576138fe610ba6565b9161390881612d1f565b835261391660208201612d1f565b6020840152613927604082016138de565b604084015261393860608201612cff565b606084015261394960808201612cff565b608084015260a081015160a084015261396460c08201612d1f565b60c084015261397560e08201612d1f565b60e0840152610100613988818301612d1f565b9084015261012061399a818301612d1f565b908401526139ac610140809201612d1f565b90830152565b81601f82011215610510578051906139c982610bd5565b926139d76040519485610b85565b8284526020838301011161051057815f9260208093018386015e8301015290565b81516001600160a01b0316815261016081019291610bd391906020818101516001600160a01b03169083015260408181015165ffffffffffff169083015260608181015115159083015260808181015115159083015260a0818101519083015260c0808201516001600160a01b03169083015260e0818101516001600160a01b031690830152610100818101516001600160a01b031690830152610120818101516001600160a01b031690830152610140908101516001600160a01b0316910152565b5f80516020615434833981519152546001600160a01b03163303613adb57565b60405163118cdaa760e01b8152336004820152602490fd5b8115612b5d570490565b91818302915f1981850993838086109503948086039514613b7d5784831115613b705790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614ab1565b5050906105499250613af3565b600b54811015612cc857600b5f525f8051602061547483398151915201905f90565b600d54811015612cc857600d5f525f8051602061545483398151915201905f90565b8054821015612cc8575f5260205f2001905f90565b600d54600160401b811015610b65576001810180600d55811015612cc857600d5f525f805160206154548339815191520155565b600b54600160401b811015610b65576001810180600b55811015612cc857600b5f525f805160206154748339815191520155565b90815491600160401b831015610b655782613c6e916001610bd395018155613bce565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613d31575b50613c9e614ac1565b50929091815492613cad614064565b9481613d1c575b5015613cf957505f1982018281116109fc5781541115612cc8575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613d0d926001600160d01b03169150614f2b565b5050613d1883613be3565b9190565b65ffffffffffff83811691161490505f613cb4565b600160401b811015610b655760018101808455811015612cc8575f908382525f8051602061545483398151915201555f613c95565b919091600b9081548015613e0d575b50613d7e614b16565b50929091815492613d8d613feb565b9481613df8575b5015613dd957505f1982018281116109fc5781541115612cc8575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ded926001600160d01b03169150614ffb565b5050613d1883613c17565b65ffffffffffff83811691161490505f613d94565b600160401b811015610b655760018101808455811015612cc8575f908382525f8051602061547483398151915201555f613d75565b90929192600182019081548015613ed0575b5084613e5f84614b6b565b50949092845493613e6f836140d8565b9681613ebb575b5015613e98575050505f1981019081116109fc57613c6e8591613d1893613bce565b613d18949293613eb4926001600160d01b03909116919061509a565b5050613c4b565b65ffffffffffff83811691161490505f613e76565b600160401b811015610b6557806001613eec9201845583613bce565b8154905f199060031b1b191690555f613e54565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610b6557610bd392604052614ba4565b90613f58612b62565b821015613fd9575f82815260096020908152604080832033845290915290205460ff16613fc757613f893383612db0565b918215613fb5575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600a548061402b57505f5b6001600160d01b0381161561402657600b54811015612cc857600b5f525f80516020615474833981519152015490565b505f90565b805f198101116109fc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613ff6565b600c548061409f57505f5b6001600160d01b0381161561402657600d54811015612cc857600d5f525f80516020615454833981519152015490565b805f198101116109fc57600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c61406f565b80548061410757505f5b6001600160d01b038116156135de5760016140fd9201613bce565b90549060031b1c90565b5f199080828101116109fc57825f5260205f2001015460301c6140e2565b906001600160a01b03808316156106f7578116156106df57610692614149926119a3565b55565b9190600181018091116109fc57600182018092116109fc5761054992613afd565b600a54905f8291600584116141db575b614187935061527f565b806141aa57505f5b6001600160d01b03811615614026576140fd61054991613b8a565b6141cf6141b96141d692612942565b600a5f525f805160206153f48339815191520190565b5460301c90565b61418f565b91926141e681615154565b81039081116109fc5761418793600a5f5265ffffffffffff80835f805160206153f4833981519152015416908516105f1461422257509161417d565b92915061422e90612970565b9061417d565b600c54905f82916005841161429b575b61424e93506152e8565b8061427157505f5b6001600160d01b03811615614026576140fd61054991613bac565b6141cf61428061429692612942565b600c5f525f805160206153b48339815191520190565b614256565b91926142a681615154565b81039081116109fc5761424e93600c5f5265ffffffffffff80835f805160206153b4833981519152015416908516105f146142e2575091614244565b9291506142ee90612970565b90614244565b908154905f829160058411614357575b61430f935084615351565b8061433757505f905b6001600160d01b038216156135de576105499160016140fd9201613bce565b6141cf61434661435192612942565b835f5260205f200190565b90614318565b919261436281615154565b81039081116109fc5761430f93855f5265ffffffffffff808360205f20015416908516105f14614393575091614304565b92915061439f90612970565b90614304565b604051906143b282610b6a565b5f6020838281520152565b6143c56143a5565b506143ce6143a5565b50600a54811015612cc857600a5f526020604051916143ec83610b6a565b5f805160206153f483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612cc857600b5f525f8051602061547483398151915201546040519161443d83610b6a565b8252602082015290565b61444f6143a5565b506144586143a5565b50600c54811015612cc857600c5f5260206040519161447683610b6a565b5f805160206153b483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612cc857600d5f525f8051602061545483398151915201546040519161443d83610b6a565b90602060016144eb614517936144db6143a5565b506144e46143a5565b5085613bce565b5093604051946144fa86610b6a565b549465ffffffffffff86169586825260301c938491015201613bce565b9054906040519261452784610b6a565b835260031b1c602082015290565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610b6557610bd392604052614ba4565b60ff5f805160206154d48339815191525460401c16156145a957565b604051631afcd79f60e31b8152600490fd5b906101608282031261051057610549916138e9565b6145e390602080825183010191016145bb565b80516001600160a01b03919082161561497a57604080820165ffffffffffff614612825165ffffffffffff1690565b16156149695760c083018051909290614633906001600160a01b03166116af565b1561481a575b5091614766610140926147056146e06147c49661468761465f875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b039092169190911790556132466146b74261312c565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6147256147156060850151151590565b60ff80195f541691151516175f55565b61474c6147356080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61475960a0840151600455565b516001600160a01b031690565b84811661480a575b5060e08101516001600160a01b03168481166147fa575b506101008101516001600160a01b03168481166147ea575b506101208101516001600160a01b03168481166147da575b5001516001600160a01b031690565b9081166147ce5750565b6147d790613798565b50565b6147e390613729565b505f6147b5565b6147f3906136ba565b505f61479d565b614803906135e4565b505f614785565b61481390613533565b505f61476e565b60e0840151614831906001600160a01b03166116af565b15614906575b61012084015161484f906001600160a01b03166116af565b614639576080840151156148bc5760a0840151158061489d575b61488d575091614766610140926147056146e06147c4965b94965050509250614639565b5163183c854560e21b8152600490fd5b506101408401516148b6906001600160a01b03166116af565b15614869565b60a0840151158015906148e6575b61488d575091614766610140926147056146e06147c496614881565b506101408401516148ff906001600160a01b03166116af565b15156148ca565b60608401511561493c57610100840151614928906001600160a01b03166116af565b614837575163183c854560e21b8152600490fd5b610100840151614954906001600160a01b03166116af565b15614837575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b919061499661458d565b61499e61458d565b82516001600160401b038111610b65575f805160206153d4833981519152906149d0816149cb84546128f6565b614c37565b602080601f8311600114614a1757509080614a0592610bd396975f92614a0c575b50508160011b915f199060031b1c19161790565b9055614d29565b015190505f806149f1565b90601f19831696614a555f805160206153d48339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab090565b925f905b898210614a9957505090839291600194610bd3989910614a81575b505050811b019055614d29565b01515f1960f88460031b161c191690555f8080614a74565b80600185968294968601518155019501930190614a59565b634e487b715f526020526024601cfd5b600c5480614ad257505f905f905f90565b805f198101116109fc57600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a5480614b2757505f905f905f90565b805f198101116109fc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b805480614b7c5750505f905f905f90565b5f199181838101116109fc575f5260205f2001015460019165ffffffffffff82169160301c90565b905f602091828151910182855af1156129ac575f513d614bf557506001600160a01b0381163b155b614bd35750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614bcc565b9190600181018091116109fc57600182018092116109fc57614c21828285613afd565b928215612b5d5709151581018091116109fc5790565b601f8111614c43575050565b5f805160206153d48339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310614ca6575b601f0160051c01905b818110614c9b575050565b5f8155600101614c90565b9091508190614c87565b601f8111614cbc575050565b5f805160206154148339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310614d1f575b601f0160051c01905b818110614d14575050565b5f8155600101614d09565b9091508190614d00565b9081516001600160401b038111610b65575f8051602061541483398151915290614d5c81614d5784546128f6565b614cb0565b602080601f8311600114614d9157508190614d8d9394955f92614a0c5750508160011b915f199060031b1c19161790565b9055565b90601f19831695614dcf5f805160206154148339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b888210614e0a57505083600195969710614df2575b505050811b019055565b01515f1960f88460031b161c191690555f8080614de8565b80600185968294968601518155019501930190614dd3565b600c5490600160401b821015610b65576001820180600c55821015612cc857600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206153b483398151915290910155565b600a5490600160401b821015610b65576001820180600a55821015612cc857600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206153f483398151915290910155565b8054600160401b811015610b6557614eed91600182018155613bce565b614f1857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614fd257614280614f4391612942565b9081549165ffffffffffff90818416918316808311614fc057869203614f8857614f8192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614fbb90614fa7614f99610bc6565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614e22565b614f81565b604051632520601d60e01b8152600490fd5b50614ff690614fe2614f99610bc6565b6001600160d01b0384166020820152614e22565b5f9190565b600a549192918015615076576141b961501391612942565b9081549165ffffffffffff90818416918316808311614fc05786920361505157614f8192509065ffffffffffff82549181199060301b169116179055565b5050614fbb90615062614f99610bc6565b6001600160d01b0385166020820152614e79565b50614ff690615086614f99610bc6565b6001600160d01b0384166020820152614e79565b8054929392801561512f576150b16150bc91612942565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614fc0578793036150fb5750614f8192509065ffffffffffff82549181199060301b169116179055565b915050614fbb9161511b61510d610bc6565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614ed0565b5090614ff69161514061510d610bc6565b6001600160d01b0385166020830152614ed0565b600181111561054957600181600160801b81101561526d575b61521561520b6152016151f76151ed6151e361522197600488600160401b61521c9a1015615260575b640100000000811015615253575b62010000811015615246575b61010081101561523a575b601081101561522e575b1015615226575b60030260011c6151dc818b613af3565b0160011c90565b6151dc818a613af3565b6151dc8189613af3565b6151dc8188613af3565b6151dc8187613af3565b6151dc8186613af3565b8093613af3565b821190565b900390565b60011b6151cc565b811c9160021b916151c5565b60081c91811b916151bb565b60101c9160081b916151b0565b60201c9160101b916151a4565b60401c9160201b91615196565b50600160401b9050608082901c61516d565b905b82811061528d57505090565b9091808216906001818418811c83018093116109fc57600a5f5265ffffffffffff80845f805160206153f4833981519152015416908616105f146152d5575050915b90615281565b9093925081018091116109fc57906152cf565b905b8281106152f657505090565b9091808216906001818418811c83018093116109fc57600c5f5265ffffffffffff80845f805160206153b4833981519152015416908616105f1461533e575050915b906152ea565b9093925081018091116109fc5790615338565b91905b8382106153615750505090565b909192808316906001818518811c83018093116109fc57855f5265ffffffffffff808460205f20015416908516105f146153a0575050925b9190615354565b9094935081018091116109fc579161539956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c752c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a852c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace049016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220b9bc961cf9d9c9c89aa268126ef0b84208d178b706ef9625b4f4a0a71d8201c864736f6c63430008190033","sourceMap":"652:3172:108:-:0;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;3173:36:107;;;3219:32;;8837:64:26;652:3172:108;;;;;;;;;7896:76:26;;652:3172:108;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;652:3172:108;;;;;;;3173:36:107;652:3172:108;;;;;;;;;;3219:32:107;652:3172:108;;;;;;;;;;927:17:82;652:3172:108;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;652:3172:108;;;;;;;;;;;;;8087:29:26;;652:3172:108;;8087:29:26;7981:146;;;;;7896:76;652:3172:108;;-1:-1:-1;;;7938:23:26;;;;;652:3172:108;-1:-1:-1;652:3172:108;;;;;;-1:-1:-1;652:3172:108;;;;;-1:-1:-1;652:3172:108;;;;-1:-1:-1;;;;;652:3172:108;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104ba57806306fdde03146104b5578063095ea7b3146104b05780631415519b146104ab57806318160ddd146103895780631b66c9e1146104a65780631e9a6950146104a157806323b872dd1461049c578063248a9ca31461049757806327810b6e14610492578063281f57521461048d5780632abe3048146104885780632d73c69c146104835780632dd310001461047e5780632f2ff15d14610479578063313ce5671461047457806336568abe1461046f578063392e53cd1461046a5780634105a7dd14610465578063463616711461046057806347e7ef241461045b57806348d3b775146104565780634ff0876a1461045157806350861adc1461044c57806350f22068146104475780635346e34f1461044257806354fd4d501461043d57806357ec83cc1461043857806359f769a9146104335780635cc070761461042e57806361a8c8c4146104295780636da3e06d146104245780636ec1e3f81461041f57806370a08231146103d4578063715018a61461041a5780637278e31c1461041557806373790ab314610410578063766718081461040b578063794b15b7146104065780637953b33b146104015780637c04c80a146103fc578063810da75d146103f757806383cd9cc3146103f257806387df0788146103ed5780638b0e9f3f146103e85780638da5cb5b146103e357806391d14854146103de57806395d89b41146103d95780639d66201b146103d45780639f86fd85146103cf578063a1b12202146103ca578063a217fddf146103c5578063a21a1df9146103c0578063a2861466146103bb578063a3b54172146103b6578063a5d03223146103b1578063a9059cbb146103ac578063aabc2496146103a7578063aad3ec96146103a2578063afba70ad1461039d578063b134427114610398578063bd49c35f14610393578063bdc8144b1461038e578063bfefcd7b14610389578063c31e8dd714610384578063ce9b79301461037f578063d547741f1461037a578063d8dfeb4514610375578063db38871514610370578063dd62ed3e1461036b578063ecf7085814610366578063efb559d614610361578063f2fde38b1461035c578063f3fef3a3146103575763f5e7ee0f14610352575f80fd5b6128cc565b612826565b6127f9565b6126aa565b61268d565b612656565b61261c565b6125f1565b6125a5565b61257d565b612513565b610749565b612435565b61241b565b6123f3565b6123c9565b612308565b612151565b61211c565b6120d6565b612089565b611f96565b611f5c565b611f42565b611f1e565b611e64565b6115d5565b611db2565b611d54565b611d20565b611cbe565b611c7a565b611ac1565b611aa8565b611a42565b611a1b565b6119db565b611989565b611948565b611676565b61160f565b6115b0565b61156c565b611519565b6114ef565b6114c8565b611390565b61135e565b6112c9565b6112b0565b611253565b611233565b611212565b610f2a565b610f02565b610e67565b610e22565b610dd7565b610d3f565b610cf1565b610cad565b610c41565b610a56565b610988565b610960565b610927565b61088a565b6107a5565b61076b565b61070f565b61064d565b61054c565b346105105760203660031901126105105760043563ffffffff60e01b811680910361051057602090637965db0b60e01b81149081156104ff575b506040519015158152f35b6301ffc9a760e01b1490505f6104f4565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610549928181520190610514565b90565b34610510575f366003190112610510576040515f5f805160206153d483398151915280549061057a826128f6565b8085529160209160019182811690811561060f57506001146105b7575b6105b3866105a781880382610b85565b60405191829182610538565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106105fc575050505081016020016105a7826105b35f610597565b80548686018401529382019381016105df565b90508695506105b3969350602092506105a794915060ff191682840152151560051b82010192935f610597565b6001600160a01b0381160361051057565b346105105760403660031901126105105760043561066a8161063c565b60243533156106f7576001600160a01b0382169182156106df576106a78291610692336119a3565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610510575f3660031901126105105760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610510575f366003190112610510576020610763613feb565b604051908152f35b34610510575f3660031901126105105760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610510576040366003190112610510576004356107c28161063c565b602435906107ce612e0e565b6001600160a01b0381161561087957335f908152600e602052604090206107f9906140d8565b6140d8565b82116108675761081961080a614064565b610812613feb565b908461414c565b918215610852578261082a92612e3d565b9061084160015f805160206154b483398151915255565b604080519182526020820192909252f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b34610510576060366003190112610510576004356108a78161063c565b6024356108b38161063c565b604435906108c433610692856119a3565b5492600184016108e5575b6108d99350612fcd565b60405160018152602090f35b828410610901576108fc836108d995033383614125565b6108cf565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610510576020366003190112610510576004355f525f805160206154948339815191526020526020600160405f200154604051908152f35b34610510575f366003190112610510576001546040516001600160a01b039091168152602090f35b34610510575f366003190112610510576109a0612b62565b8015610a015760015465ffffffffffff8160a01c16915f1981019081116109fc576109ce9160d01c9061295d565b81018091116109fc576109e36105b39161312c565b60405165ffffffffffff90911681529081906020820190565b61292e565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b038216820361051057565b9181601f84011215610510578235916001600160401b038311610510576020838186019501011161051057565b3461051057604036600319011261051057610a6f610a13565b6001600160401b0360243581811161051057610a8f903690600401610a29565b929091610a9a612e0e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610b14575f805160206154d4833981519152549060ff8260401c16928315610b04575b5050501561315e575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f8080610ae9565b604051631966391b60e11b8152600490fd5b65ffffffffffff81160361051057565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b03821117610b6557604052565b610b36565b604081019081106001600160401b03821117610b6557604052565b90601f801991011681019081106001600160401b03821117610b6557604052565b6040519061016082018281106001600160401b03821117610b6557604052565b60405190610bd382610b6a565b565b6001600160401b038111610b6557601f01601f191660200190565b929192610bfc82610bd5565b91610c0a6040519384610b85565b829481845281830111610510578281602093845f960137010152565b9080601f830112156105105781602061054993359101610bf0565b3461051057606036600319011261051057600435610c5e8161063c565b60243590610c6b82610b26565b604435906001600160401b03821161051057602092610c91610763933690600401610c26565b6001600160a01b039092165f908152600e855260409020613330565b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461051057604036600319011261051057610d3d602435600435610d148261063c565b805f525f80516020615494833981519152602052610d38600160405f200154613507565b613807565b005b34610510575f366003190112610510575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610dd2575f90610d94575b60405160ff919091168152602090f35b506020813d602011610dca575b81610dae60209383610b85565b81010312610510575160ff81168103610510576105b390610d84565b3d9150610da1565b6129ac565b3461051057604036600319011261051057602435610df48161063c565b336001600160a01b03821603610e1057610d3d9060043561383d565b60405163334bd91960e11b8152600490fd5b34610510575f3660031901126105105760ff60025460a01c1680610e4e575b6020906040519015158152f35b5060035460a01c60ff16610e41565b8015150361051057565b3461051057602036600319011261051057600435610e8481610e5d565b610e8c612e0e565b610e946133fc565b5f54901515908160ff8216151514610ef05760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f805160206154b483398151915255005b60405163a741a04560e01b8152600490fd5b34610510575f36600319011261051057602065ffffffffffff60015460a01c16604051908152f35b3461051057604080600319360112610510576004803591610f4a8361063c565b610f52612e0e565b6001600160a01b0391838316908115611204575f5460ff8116806111eb575b6111dc5783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dd2575f936111b9575b50610fc6906024359030903390614535565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dd257611005935f9261118c575b5050612950565b93841561117d5760081c60ff1680611168575b61115a5750906105b3916110c961102d614064565b95611076611039613feb565b6110616110478a838b61414c565b9961105b8a6110554261312c565b9261297e565b90613c86565b5050611070896110554261312c565b90613d66565b50506001600160a01b0381165f908152600e60205260409020906110c3886110be6107f46110a34261312c565b6001600160a01b039095165f908152600e6020526040902090565b61297e565b91613e42565b5050815184815260208101869052819033907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a361111760015f805160206154b483398151915255565b81518581525f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a35191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50611175846110be614064565b815410611018565b50825163070f6eed60e11b8152fd5b6111ab9250803d106111b2575b6111a38183610b85565b8101906138cf565b5f80610ffe565b503d611199565b610fc69193506111d590853d87116111b2576111a38183610b85565b9290610fb4565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610f71565b8251630d534ce360e11b8152fd5b34610510575f36600319011261051057602060ff5f54166040519015158152f35b34610510575f36600319011261051057602060015460d01c604051908152f35b34610510575f36600319011261051057602060ff60025460a01c166040519015158152f35b9060406003198301126105105760043561129181610b26565b91602435906001600160401b0382116105105761054991600401610c26565b346105105760206107636112c336611278565b9061319a565b34610510576020366003190112610510576004356112e681610e5d565b6112ee612e0e565b6112f6613459565b5f54901515908160ff8260081c16151514610ef05761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610d3d60015f805160206154b483398151915255565b34610510575f3660031901126105105760206001600160401b035f805160206154d48339815191525416604051908152f35b34610510576060366003190112610510576113a9610a13565b6024356113b58161063c565b6001600160401b0391604435838111610510576113d6903690600401610a29565b5f805160206154d48339815191529491855494838616806114b75760ff8760401c169081156114aa575b50610af2577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966114a59661146d958716906001600160401b0319161790556114685f805160206154d4833981519152600160401b68ff000000000000000019825416179055565b6129b7565b5f805160206154d4833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f611400565b60405162dc149f60e41b8152600490fd5b346105105760203660031901126105105760206107636004356114ea8161063c565b612acb565b34610510576020366003190112610510576004355f526006602052602060405f2054604051908152f35b34610510575f3660031901126105105760015465ffffffffffff61154f818360a01c1692611545612b62565b9060d01c9061295d565b82018092116109fc5761156360209261312c565b60405191168152f35b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610510575f36600319011261051057602060ff60035460a01c166040519015158152f35b34610510576020366003190112610510576004356115f28161063c565b60018060a01b03165f52600e602052602061076360405f206140d8565b34610510575f36600319011261051057611627613abb565b5f8051602061543483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346105105760403660031901126105105760043560243561169681610b26565b61169e612e0e565b6003546116bb906001600160a01b03165b6001600160a01b031690565b3303611936576116c9612b62565b906116d381612b96565b9082151580611925575b801561191c575b61190a576105b3937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611716614064565b9461173161172382612970565b5f52600660205260405f2090565b54908281036118245750611745818761297e565b8381188185100281189687806117dd575b50505050505b836117a9575b6040805191825265ffffffffffff929092166020820152908101839052606090a161179960015f805160206154b483398151915255565b6040519081529081906020820190565b5f546117d89085906117c69060101c6001600160a01b03166116af565b6001546001600160a01b031690613f00565b611762565b61181993610ffe8361105b6118036117fc611723986118139888613afd565b8096612950565b9461180d4261312c565b92612950565b92612970565b555f80808087611756565b9150611838825f52600660205260405f2090565b5490611848816110be848a61297e565b908482188286100282189788611863575b505050505061175c565b6118d8938361188b936118988c6118936118816118c9998884613afd565b9788958584613afd565b948592612950565b612950565b938484106118e3575b610ffe9061105b6118b795969761180d4261312c565b6118c361172387612970565b55612950565b915f52600660205260405f2090565b555f80808080611859565b916118ff610ffe916118f9866118b79798612950565b9061297e565b8594509290506118a1565b604051635e18d2a560e01b8152600490fd5b508282116116e4565b5061192f83612942565b82106116dd565b60405163dabc4ad960e01b8152600490fd5b34610510575f3660031901126105105760015465ffffffffffff808260a01c1691611971612b62565b600181018091116109fc5761154f9160d01c9061295d565b34610510575f366003190112610510576020610763612b62565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610510576020366003190112610510576004356119f88161063c565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610510576020366003190112610510576020610763600435611a3d81610b26565b612b96565b3461051057604036600319011261051057600435611a5f8161063c565b6024356001600160401b038082116105105736602383011215610510578160040135908111610510573660248260051b84010111610510576105b3926024611799930190612bd1565b34610510576020610763611abb36611278565b9061327b565b3461051057602080600319360112610510576004803590611ae18261063c565b611ae9612e0e565b60025460a01c60ff16611c6b576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f91611c3e575b5015611c2e5760405163fbfa77cf60e01b8152838516949082818581895afa928315610dd2575f93611bff575b505030911603611bf05750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610d3d60015f805160206154b483398151915255565b60405163b9f0f17160e01b8152fd5b611c1f929350803d10611c27575b611c178183610b85565b810190612d2a565b905f80611b83565b503d611c0d565b506040516324e5af8d60e21b8152fd5b611c5e9150823d8411611c64575b611c568183610b85565b810190612d0a565b5f611b56565b503d611c4c565b604051631380833b60e01b8152fd5b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610510575f36600319011261051057611cd6612b62565b611cde614064565b90805f52600660205260405f205482018092116109fc57600181018091116109fc575f52600660205260405f205481018091116109fc57602090604051908152f35b34610510575f366003190112610510575f80516020615434833981519152546040516001600160a01b039091168152602090f35b3461051057604036600319011261051057602060ff611da6602435611d788161063c565b6004355f525f80516020615494833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610510575f366003190112610510576040515f5f80516020615414833981519152805490611de0826128f6565b8085529160209160019182811690811561060f5750600114611e0c576105b3866105a781880382610b85565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510611e51575050505081016020016105a7826105b35f610597565b8054868601840152938201938101611e34565b346105105760408060031936011261051057600435611e828161063c565b602435906001600160401b038211610510575f8091611ea8611f0c943690600401610a29565b908187519283928337810184815203915af43d15611f1457611efe3d611ecd81610bd5565b90611eda86519283610b85565b81523d5f602083013e5b845194859315156020850152808401526060830190610514565b03601f198101835282610b85565b805190602001fd5b611efe6060611ee4565b34610510575f36600319011261051057602060ff5f5460081c166040519015158152f35b34610510575f3660031901126105105760206040515f8152f35b34610510575f3660031901126105105760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461051057604036600319011261051057600435611fb38161063c565b602435611fbf81610e5d565b611fc7612e0e565b611fcf6134b0565b6001600160a01b038216918215612077575f8381526005602052604090205460ff16151582151514610ef0576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161205e9161204c908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610d3d60015f805160206154b483398151915255565b604051630da30f6560e31b8152600490fd5b346105105760403660031901126105105760206120cd6024356120ab8161063c565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461051057604036600319011261051057602060ff611da66024356120fa8161063c565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105105760403660031901126105105761214660043561213c8161063c565b6024359033612fcd565b602060405160018152f35b34610510576020806003193601126105105760048035906121718261063c565b612179612e0e565b60035460a01c60ff166122f9576001600160a01b038281169390846121e7575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610d3d60015f805160206154b483398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f916122dc575b50156122cb5760405163fbfa77cf60e01b815282818581895afa928315610dd2575f936122ac575b50503091160361229d5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080612199565b604051633f3e089160e21b8152fd5b6122c3929350803d10611c2757611c178183610b85565b905f8061226a565b60405163dabc4ad960e01b81528390fd5b6122f39150833d8511611c6457611c568183610b85565b5f612242565b60405163703fe2e560e01b8152fd5b34610510576040366003190112610510576004356123258161063c565b60243590612331612e0e565b6001600160a01b03918183169081156123b7576123626105b39461235483613f4f565b9485915f5460101c16613f00565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f805160206154b4833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b34610510576020366003190112610510576004355f526007602052602060405f2054604051908152f35b34610510575f366003190112610510576003546040516001600160a01b039091168152602090f35b34610510575f366003190112610510576020610763614064565b3461051057602036600319011261051057600435612451612e0e565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff16156124f557508060045414610ef0576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f805160206154b483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b34610510576020366003190112610510576004356125308161063c565b612538612b62565b61254182612acb565b9161254c8183612db0565b83018093116109fc57600182018092116109fc5761256991612db0565b81018091116109fc57602090604051908152f35b34610510575f366003190112610510576002546040516001600160a01b039091168152602090f35b3461051057604036600319011261051057610d3d6024356004356125c88261063c565b805f525f805160206154948339815191526020526125ec600160405f200154613507565b61383d565b34610510575f366003190112610510575f5460405160109190911c6001600160a01b03168152602090f35b34610510575f3660031901126105105760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105105760403660031901126105105760206120cd6004356126788161063c565b610692602435916126888361063c565b6119a3565b34610510575f366003190112610510576020600454604051908152f35b34610510576060366003190112610510576004356126c78161063c565b602435906126d482610b26565b6001600160401b0391604435838111610510576126f5903690600401610a29565b9092604093845161270581610b4a565b60608152606060208201526060868201529280612764575b6105b386612755878761274f612736898484519161298b565b928561274660208501518361327b565b9301519061319a565b9161414c565b90519081529081906020820190565b8101939250602081850312610510578035908682116105105701926060848203126105105784519561279587610b4a565b843581811161051057826127aa918701610c26565b8752602085013581811161051057826127c4918701610c26565b602088015285850135908111610510576105b3966127ed61274f93612736936127559801610c26565b8782015293945061271d565b3461051057602036600319011261051057610d3d6004356128198161063c565b612821613abb565b612d3f565b34610510576040366003190112610510576004356128438161063c565b60243561284e612e0e565b6001600160a01b038216156108795780156128ba5761287d61286e613feb565b612876614064565b9083614bfe565b335f908152600e60205260409020909290612897906140d8565b83116128a85761082a918391612e3d565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105105760403660031901126105105760206107636024356128ee8161063c565b600435612db0565b90600182811c92168015612924575b602083101461291057565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612905565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116109fc57565b919082039182116109fc57565b818102929181159184041417156109fc57565b90600182018092116109fc57565b919082018092116109fc57565b6001600160a01b03165f908152600e60205260409020610549929190613330565b6040513d5f823e3d90fd5b916129f4926129c461458d565b6129cc61458d565b60015f805160206154b4833981519152556001600160a01b038116612ab1575b503691610bf0565b80516020908201818101828483031261051057828401516001600160401b039485821161051057019283926101a093849103126105105760405193612a3885610b4a565b612a44838383016138e9565b8552610180810151868111610510578383612a61928401016139b2565b9382860194855281015195861161051057612a89612aa89383610bd398612aa39401016139b2565b94604081019586525191611efe60405193849283016139f8565b6145d0565b5190519061498c565b612ac590612abd61458d565b61282161458d565b5f6129ec565b6001600160a01b03165f908152600e60205260409020612aea906140d8565b612af2614064565b612afa613feb565b90600181018091116109fc57600182018092116109fc5761054992613afd565b65ffffffffffff91821690821603919082116109fc57565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612b5d57160490565b612b32565b612b6b4261312c565b612b92600154612b8865ffffffffffff93848360a01c1690612b1a565b9060d01c90612b46565b1690565b6001549065ffffffffffff91828160a01c16918284821610612bbf57612b9292612b8891612b1a565b60405163b7d0949760e01b8152600490fd5b90612bda612e0e565b5f926001600160a01b0383169283156123b7578115612c92575f5b828110612c7057505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612c45918491612c409060101c6001600160a01b03166116af565b613f00565b612c56604051928392339684612ccd565b0390a390610bd360015f805160206154b483398151915255565b94612c8b6001916118f9612c85898789612cb8565b35613f4f565b9501612bf5565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612cc85760051b0190565b612ca4565b604080825281018390529392916001600160fb1b0381116105105760209160609160051b809183880137850101930152565b5190610bd382610e5d565b90816020910312610510575161054981610e5d565b5190610bd38261063c565b9081602091031261051057516105498161063c565b6001600160a01b03908116908115612d98575f8051602061543483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612dd690825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116109fc57600182018092116109fc5761054992613afd565b5f805160206154b48339815191526002815414612e2b5760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e6020526040812093949390929190612e7c90612e5f4261312c565b335f908152600e602052604090206110c3908990611893906140d8565b5050612e96612e8a4261312c565b61107087611893613feb565b5050612eb0612ea44261312c565b61105b84611893614064565b505081612f4282610692612eca612ec5612b62565b612970565b612f21612edf825f52600660205260405f2090565b54612ef2835f52600760205260405f2090565b54612f09612f0183838b61414c565b9a8b9361297e565b612f1b855f52600660205260405f2090565b5561297e565b612f33825f52600760205260405f2090565b555f52600860205260405f2090565b612f4d84825461297e565b9055604080519182526020820187905281018390526001600160a01b03919091169033907febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f90606090a36040519384529233907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080602081015b0390a3565b916001600160a01b03808416929083156131145781169384156130fc576001600160a01b0381165f908152600e6020526040902061300a906140d8565b908382106130ca57612fc89261306c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95936130596130b89460018060a01b03165f52600e60205260405f2090565b90856130644261312c565b910391613e42565b50506001600160a01b0381165f908152600e6020526040902090836130b16107f46130964261312c565b6001600160a01b039094165f908152600e6020526040902090565b0191613e42565b50506040519081529081906020820190565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161313f571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b610510913691610bf0565b90816020910312610510575163ffffffff811681036105105790565b90600163ffffffff809316019182116109fc57565b9080511561327157806020806131b593518301019101613169565b6131be816143bd565b906131cf825165ffffffffffff1690565b9065ffffffffffff80851692168281146132655782119182613205575b50506131fc57506105499061416d565b60209150015190565b909150613213600a54612942565b63ffffffff83161491821561322c575b50505f806131ec565b61325d91925061324661324161325292613185565b6143bd565b5165ffffffffffff1690565b65ffffffffffff1690565b115f80613223565b50505060209150015190565b506105499061416d565b90805115613326578060208061329693518301019101613169565b61329f81614447565b906132b0825165ffffffffffff1690565b9065ffffffffffff808516921682811461326557821191826132dd575b50506131fc575061054990614234565b9091506132eb600c54612942565b63ffffffff831614918215613304575b50505f806132cd565b61331e91925061324661331961325292613185565b614447565b115f806132fb565b5061054990614234565b918051156133f2578060208061334b93518301019101613169565b9161335683826144c7565b92613367845165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261339d575b50506133945761054992506142f4565b50506020015190565b9091506133aa8354612942565b63ffffffff8316149182156133c3575b50505f80613384565b6133de9192506132466133d861325292613185565b856144c7565b115f806133ba565b50505050506020015190565b50610549916142f4565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156124f55750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff9061344f565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff9061344f565b5f8181525f8051602061549483398151915260209081526040808320338452909152902060ff9061344f565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206154948339815191529060ff166135de575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206154948339815191529060ff905b54166136b3575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206154948339815191529060ff9061364f565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206154948339815191529060ff9061364f565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206154948339815191529060ff9061364f565b5f8181525f80516020615494833981519152602081815260408084206001600160a01b038716855290915290912060ff9061364f565b5f8181525f80516020615494833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156136b3575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b90816020910312610510575190565b5190610bd382610b26565b919082610160910312610510576138fe610ba6565b9161390881612d1f565b835261391660208201612d1f565b6020840152613927604082016138de565b604084015261393860608201612cff565b606084015261394960808201612cff565b608084015260a081015160a084015261396460c08201612d1f565b60c084015261397560e08201612d1f565b60e0840152610100613988818301612d1f565b9084015261012061399a818301612d1f565b908401526139ac610140809201612d1f565b90830152565b81601f82011215610510578051906139c982610bd5565b926139d76040519485610b85565b8284526020838301011161051057815f9260208093018386015e8301015290565b81516001600160a01b0316815261016081019291610bd391906020818101516001600160a01b03169083015260408181015165ffffffffffff169083015260608181015115159083015260808181015115159083015260a0818101519083015260c0808201516001600160a01b03169083015260e0818101516001600160a01b031690830152610100818101516001600160a01b031690830152610120818101516001600160a01b031690830152610140908101516001600160a01b0316910152565b5f80516020615434833981519152546001600160a01b03163303613adb57565b60405163118cdaa760e01b8152336004820152602490fd5b8115612b5d570490565b91818302915f1981850993838086109503948086039514613b7d5784831115613b705790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614ab1565b5050906105499250613af3565b600b54811015612cc857600b5f525f8051602061547483398151915201905f90565b600d54811015612cc857600d5f525f8051602061545483398151915201905f90565b8054821015612cc8575f5260205f2001905f90565b600d54600160401b811015610b65576001810180600d55811015612cc857600d5f525f805160206154548339815191520155565b600b54600160401b811015610b65576001810180600b55811015612cc857600b5f525f805160206154748339815191520155565b90815491600160401b831015610b655782613c6e916001610bd395018155613bce565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613d31575b50613c9e614ac1565b50929091815492613cad614064565b9481613d1c575b5015613cf957505f1982018281116109fc5781541115612cc8575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613d0d926001600160d01b03169150614f2b565b5050613d1883613be3565b9190565b65ffffffffffff83811691161490505f613cb4565b600160401b811015610b655760018101808455811015612cc8575f908382525f8051602061545483398151915201555f613c95565b919091600b9081548015613e0d575b50613d7e614b16565b50929091815492613d8d613feb565b9481613df8575b5015613dd957505f1982018281116109fc5781541115612cc8575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ded926001600160d01b03169150614ffb565b5050613d1883613c17565b65ffffffffffff83811691161490505f613d94565b600160401b811015610b655760018101808455811015612cc8575f908382525f8051602061547483398151915201555f613d75565b90929192600182019081548015613ed0575b5084613e5f84614b6b565b50949092845493613e6f836140d8565b9681613ebb575b5015613e98575050505f1981019081116109fc57613c6e8591613d1893613bce565b613d18949293613eb4926001600160d01b03909116919061509a565b5050613c4b565b65ffffffffffff83811691161490505f613e76565b600160401b811015610b6557806001613eec9201845583613bce565b8154905f199060031b1b191690555f613e54565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610b6557610bd392604052614ba4565b90613f58612b62565b821015613fd9575f82815260096020908152604080832033845290915290205460ff16613fc757613f893383612db0565b918215613fb5575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600a548061402b57505f5b6001600160d01b0381161561402657600b54811015612cc857600b5f525f80516020615474833981519152015490565b505f90565b805f198101116109fc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613ff6565b600c548061409f57505f5b6001600160d01b0381161561402657600d54811015612cc857600d5f525f80516020615454833981519152015490565b805f198101116109fc57600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c61406f565b80548061410757505f5b6001600160d01b038116156135de5760016140fd9201613bce565b90549060031b1c90565b5f199080828101116109fc57825f5260205f2001015460301c6140e2565b906001600160a01b03808316156106f7578116156106df57610692614149926119a3565b55565b9190600181018091116109fc57600182018092116109fc5761054992613afd565b600a54905f8291600584116141db575b614187935061527f565b806141aa57505f5b6001600160d01b03811615614026576140fd61054991613b8a565b6141cf6141b96141d692612942565b600a5f525f805160206153f48339815191520190565b5460301c90565b61418f565b91926141e681615154565b81039081116109fc5761418793600a5f5265ffffffffffff80835f805160206153f4833981519152015416908516105f1461422257509161417d565b92915061422e90612970565b9061417d565b600c54905f82916005841161429b575b61424e93506152e8565b8061427157505f5b6001600160d01b03811615614026576140fd61054991613bac565b6141cf61428061429692612942565b600c5f525f805160206153b48339815191520190565b614256565b91926142a681615154565b81039081116109fc5761424e93600c5f5265ffffffffffff80835f805160206153b4833981519152015416908516105f146142e2575091614244565b9291506142ee90612970565b90614244565b908154905f829160058411614357575b61430f935084615351565b8061433757505f905b6001600160d01b038216156135de576105499160016140fd9201613bce565b6141cf61434661435192612942565b835f5260205f200190565b90614318565b919261436281615154565b81039081116109fc5761430f93855f5265ffffffffffff808360205f20015416908516105f14614393575091614304565b92915061439f90612970565b90614304565b604051906143b282610b6a565b5f6020838281520152565b6143c56143a5565b506143ce6143a5565b50600a54811015612cc857600a5f526020604051916143ec83610b6a565b5f805160206153f483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612cc857600b5f525f8051602061547483398151915201546040519161443d83610b6a565b8252602082015290565b61444f6143a5565b506144586143a5565b50600c54811015612cc857600c5f5260206040519161447683610b6a565b5f805160206153b483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612cc857600d5f525f8051602061545483398151915201546040519161443d83610b6a565b90602060016144eb614517936144db6143a5565b506144e46143a5565b5085613bce565b5093604051946144fa86610b6a565b549465ffffffffffff86169586825260301c938491015201613bce565b9054906040519261452784610b6a565b835260031b1c602082015290565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610b6557610bd392604052614ba4565b60ff5f805160206154d48339815191525460401c16156145a957565b604051631afcd79f60e31b8152600490fd5b906101608282031261051057610549916138e9565b6145e390602080825183010191016145bb565b80516001600160a01b03919082161561497a57604080820165ffffffffffff614612825165ffffffffffff1690565b16156149695760c083018051909290614633906001600160a01b03166116af565b1561481a575b5091614766610140926147056146e06147c49661468761465f875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b039092169190911790556132466146b74261312c565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6147256147156060850151151590565b60ff80195f541691151516175f55565b61474c6147356080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61475960a0840151600455565b516001600160a01b031690565b84811661480a575b5060e08101516001600160a01b03168481166147fa575b506101008101516001600160a01b03168481166147ea575b506101208101516001600160a01b03168481166147da575b5001516001600160a01b031690565b9081166147ce5750565b6147d790613798565b50565b6147e390613729565b505f6147b5565b6147f3906136ba565b505f61479d565b614803906135e4565b505f614785565b61481390613533565b505f61476e565b60e0840151614831906001600160a01b03166116af565b15614906575b61012084015161484f906001600160a01b03166116af565b614639576080840151156148bc5760a0840151158061489d575b61488d575091614766610140926147056146e06147c4965b94965050509250614639565b5163183c854560e21b8152600490fd5b506101408401516148b6906001600160a01b03166116af565b15614869565b60a0840151158015906148e6575b61488d575091614766610140926147056146e06147c496614881565b506101408401516148ff906001600160a01b03166116af565b15156148ca565b60608401511561493c57610100840151614928906001600160a01b03166116af565b614837575163183c854560e21b8152600490fd5b610100840151614954906001600160a01b03166116af565b15614837575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b919061499661458d565b61499e61458d565b82516001600160401b038111610b65575f805160206153d4833981519152906149d0816149cb84546128f6565b614c37565b602080601f8311600114614a1757509080614a0592610bd396975f92614a0c575b50508160011b915f199060031b1c19161790565b9055614d29565b015190505f806149f1565b90601f19831696614a555f805160206153d48339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab090565b925f905b898210614a9957505090839291600194610bd3989910614a81575b505050811b019055614d29565b01515f1960f88460031b161c191690555f8080614a74565b80600185968294968601518155019501930190614a59565b634e487b715f526020526024601cfd5b600c5480614ad257505f905f905f90565b805f198101116109fc57600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a5480614b2757505f905f905f90565b805f198101116109fc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b805480614b7c5750505f905f905f90565b5f199181838101116109fc575f5260205f2001015460019165ffffffffffff82169160301c90565b905f602091828151910182855af1156129ac575f513d614bf557506001600160a01b0381163b155b614bd35750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614bcc565b9190600181018091116109fc57600182018092116109fc57614c21828285613afd565b928215612b5d5709151581018091116109fc5790565b601f8111614c43575050565b5f805160206153d48339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310614ca6575b601f0160051c01905b818110614c9b575050565b5f8155600101614c90565b9091508190614c87565b601f8111614cbc575050565b5f805160206154148339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310614d1f575b601f0160051c01905b818110614d14575050565b5f8155600101614d09565b9091508190614d00565b9081516001600160401b038111610b65575f8051602061541483398151915290614d5c81614d5784546128f6565b614cb0565b602080601f8311600114614d9157508190614d8d9394955f92614a0c5750508160011b915f199060031b1c19161790565b9055565b90601f19831695614dcf5f805160206154148339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b888210614e0a57505083600195969710614df2575b505050811b019055565b01515f1960f88460031b161c191690555f8080614de8565b80600185968294968601518155019501930190614dd3565b600c5490600160401b821015610b65576001820180600c55821015612cc857600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206153b483398151915290910155565b600a5490600160401b821015610b65576001820180600a55821015612cc857600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206153f483398151915290910155565b8054600160401b811015610b6557614eed91600182018155613bce565b614f1857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614fd257614280614f4391612942565b9081549165ffffffffffff90818416918316808311614fc057869203614f8857614f8192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614fbb90614fa7614f99610bc6565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614e22565b614f81565b604051632520601d60e01b8152600490fd5b50614ff690614fe2614f99610bc6565b6001600160d01b0384166020820152614e22565b5f9190565b600a549192918015615076576141b961501391612942565b9081549165ffffffffffff90818416918316808311614fc05786920361505157614f8192509065ffffffffffff82549181199060301b169116179055565b5050614fbb90615062614f99610bc6565b6001600160d01b0385166020820152614e79565b50614ff690615086614f99610bc6565b6001600160d01b0384166020820152614e79565b8054929392801561512f576150b16150bc91612942565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614fc0578793036150fb5750614f8192509065ffffffffffff82549181199060301b169116179055565b915050614fbb9161511b61510d610bc6565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614ed0565b5090614ff69161514061510d610bc6565b6001600160d01b0385166020830152614ed0565b600181111561054957600181600160801b81101561526d575b61521561520b6152016151f76151ed6151e361522197600488600160401b61521c9a1015615260575b640100000000811015615253575b62010000811015615246575b61010081101561523a575b601081101561522e575b1015615226575b60030260011c6151dc818b613af3565b0160011c90565b6151dc818a613af3565b6151dc8189613af3565b6151dc8188613af3565b6151dc8187613af3565b6151dc8186613af3565b8093613af3565b821190565b900390565b60011b6151cc565b811c9160021b916151c5565b60081c91811b916151bb565b60101c9160081b916151b0565b60201c9160101b916151a4565b60401c9160201b91615196565b50600160401b9050608082901c61516d565b905b82811061528d57505090565b9091808216906001818418811c83018093116109fc57600a5f5265ffffffffffff80845f805160206153f4833981519152015416908616105f146152d5575050915b90615281565b9093925081018091116109fc57906152cf565b905b8281106152f657505090565b9091808216906001818418811c83018093116109fc57600c5f5265ffffffffffff80845f805160206153b4833981519152015416908616105f1461533e575050915b906152ea565b9093925081018091116109fc5790615338565b91905b8382106153615750505090565b909192808316906001818518811c83018093116109fc57855f5265ffffffffffff808460205f20015416908516105f146153a0575050925b9190615354565b9094935081018091116109fc579161539956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c752c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a852c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace049016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220b9bc961cf9d9c9c89aa268126ef0b84208d178b706ef9625b4f4a0a71d8201c864736f6c63430008190033","sourceMap":"652:3172:108:-: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;:::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;652:3172:108;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;652:3172:108;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:108;;;;;;;;-1:-1:-1;;652:3172:108;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;652:3172:108;;;;;;;-1:-1:-1;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;652:3172:108;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;652:3172:108;;;;;;;;;;;;;;;;11334:29:27;652:3172:108;;;;;;11415:31:27;652:3172:108;966:10:28;11415:31:27;;652:3172:108;;;10117:4:27;652:3172:108;;;11235:90:27;652:3172:108;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;652:3172:108;11283:31:27;;652:3172:108;;;11283:31:27;11137:89;652:3172:108;;-1:-1:-1;;;11183:32:27;;11158:1;652:3172:108;11183:32:27;;652:3172:108;;;11183:32:27;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;;966:38:107;652:3172:108;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;4803:22:107;;:::i;:::-;652:3172:108;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;821:37:107;652:3172:108;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;5525:21:106;5521:75;;5634:10;652:3172:108;;;;5606:15:107;652:3172:108;;;;;5606:33:107;;;:::i;:24::-;:33;:::i;:::-;5610:35:106;;5606:88;;1057:70:98;5173:21:107;;:::i;:::-;4803:22;;:::i;:::-;1057:70:98;;;:::i;:::-;5801:20:106;;;5797:82;;5904:43;;;;:::i;:::-;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;652:3172:108;3860:283:30;3426:1;652:3172:108;;;;;;;;;;;;;;5797:82:106;652:3172:108;;-1:-1:-1;;;;;;5844:24:106;;652:3172:108;;5844:24:106;5606:88;652:3172:108;;-1:-1:-1;;;5668:15:106;;652:3172:108;;5668:15:106;5521:75;652:3172:108;;-1:-1:-1;;;5569:16:106;;652:3172:108;;5569:16:106;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;652:3172:108;;11910:37:27;;;11906:310;;652:3172:108;6198:5:27;;;;:::i;:::-;652:3172:108;;4867:13:27;652:3172:108;;;;;11906:310:27;11967:24;;;11963:130;;12185:5;652:3172:108;6198:5:27;652:3172:108;;966:10:28;12185:5:27;;:::i;:::-;11906:310;;11963:130;652:3172:108;;-1:-1:-1;;;12018:60:27;;966:10:28;652:3172:108;12018:60:27;;652:3172:108;;;;;;;;;;;;;;;12018:60:27;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;;4919:24:23;652:3172:108;-1:-1:-1;652:3172:108;4919:24:23;652:3172:108;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;4084:14:107;;:::i;:::-;4112:10;;4108:65;;4190:17;652:3172:108;;;;;;11930:17:27;;;652:3172:108;;;;;;;4210:27:107;652:3172:108;;;4210:27:107;;:::i;:::-;652:3172:108;;;;;;;4189:60:107;652:3172:108;4189:60:107;;:::i;:::-;652:3172:108;;;;;;;;;;;;;;;;;;:::i;4108:65:107:-;652:3172:108;;-1:-1:-1;;;4145:17:107;;652:3172:108;;4145:17:107;652:3172:108;;;;-1:-1:-1;;;;;652:3172:108;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;1673:7:82;-1:-1:-1;;;;;652:3172:108;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;6431:44:26;;;;;652:3172:108;6427:105:26;;;;1809:204:82;6427:105:26;;652:3172:108;;-1:-1:-1;;;6498:23:26;;652:3172:108;;6498:23:26;6431:44;652:3172:108;;;;6450:25:26;;;-1:-1:-1;6431:44:26;;;;;1655:71:82;652:3172:108;;-1:-1:-1;;;1703:12:82;;652:3172:108;;1703:12:82;652:3172:108;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:108;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;5383:59:107;652:3172:108;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;-1:-1:-1;652:3172:108;;;5383:15:107;652:3172:108;;;;;5383:59:107;:::i;652:3172:108:-;;;;;;-1:-1:-1;;652:3172:108;;;;;;655:32:82;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;5350:25:23;652:3172:108;;;;;;;:::i;:::-;;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;3202:4:23;4919:24;652:3172:108;-1:-1:-1;652:3172:108;4919:24:23;652:3172:108;3202:4:23;:::i;:::-;5350:25;:::i;:::-;652:3172:108;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;-1:-1:-1;;;1109:37:108;;652:3172;1109:37;;652:3172;;;;;;;;-1:-1:-1;;;;;652:3172:108;1109:37;;;;;;652:3172;1109:37;;;652:3172;;;;;;;;;;;;;1109:37;;;;;;;;;;;;;;;;:::i;:::-;;;652:3172;;;;;;;;;;;;;1109:37;;;;;;-1:-1:-1;1109:37:108;;;;:::i;652:3172::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;652:3172:108;;6441:34:23;6437:102;;6549:37;652:3172:108;;;6549:37:23;:::i;6437:102::-;652:3172:108;;-1:-1:-1;;;6498:30:23;;652:3172:108;;6498:30:23;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;1524:22:106;652:3172:108;;;;1524:46:106;;;652:3172:108;;;;;;;;;;;1524:46:106;-1:-1:-1;1550:20:106;652:3172:108;;;;;1524:46:106;;652:3172:108;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;652:3172:108;;;;;;;;;;;9542:26:106;9538:76;;-1:-1:-1;;652:3172:108;;;;;-1:-1:-1;652:3172:108;;;;;;9665:27:106;;652:3172:108;;9665:27:106;1949:1:30;-1:-1:-1;;;;;;;;;;;652:3172:108;;9538:76:106;652:3172:108;;-1:-1:-1;;;9591:12:106;;652:3172:108;;9591:12:106;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;1718:31:107;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;;;3474:24:106;;3470:81;;-1:-1:-1;652:3172:108;;;;3565:55:106;;;652:3172:108;3561:118:106;;652:3172:108;;-1:-1:-1;;;3713:43:106;;;3750:4;3713:43;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;3713:43:106;;;;;;;;;;-1:-1:-1;3713:43:106;;;652:3172:108;;3829:6:106;652:3172:108;;;3750:4:106;;3802:10;;3829:6;;:::i;:::-;-1:-1:-1;652:3172:108;;;3864:43:106;;;3750:4;3864:43;;;652:3172:108;;;;;;;;;;3864:43:106;652:3172:108;;;;;;3864:43:106;652:3172:108;;;;;3864:43:106;;;;;;;:59;:43;-1:-1:-1;3864:43:106;;;652:3172:108;3864:59:106;;;:::i;:::-;3938:20;;;3934:79;;652:3172:108;;;;;4027:64:106;;652:3172:108;4023:123:106;;5173:21:107;;652:3172:108;5173:21:107;4502:93:106;5173:21:107;;:::i;:::-;4803:22;4426:66:106;4803:22:107;;:::i;:::-;4349:67:106;390:70:98;;;;;:::i;:::-;837:15:73;4385:30:106;837:15:73;819:34;837:15;819:34;:::i;:::-;4385:30:106;;:::i;:::-;4349:67;;:::i;:::-;837:15:73;;4463:28:106;837:15:73;819:34;837:15;819:34;:::i;4463:28:106:-;4426:66;;:::i;:::-;-1:-1:-1;;;;;;;652:3172:108;;;;;;5606:15:107;652:3172:108;;;;;837:15:73;4553:41:106;837:15:73;5606:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;;;;;5606:15:107;652:3172:108;;;;;;;5606:33:107;4553:41:106;:::i;:::-;4502:93;;:::i;:::-;-1:-1:-1;;652:3172:108;;;;;;;;;;;;;3802:10:106;;4611:62;;652:3172:108;;4611:62:106;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:108;3860:283:30;3426:1;652:3172:108;;;;;-1:-1:-1;;1808:46:108;;652:3172;;1808:46;652:3172;;;;;;;;;;;;;;;;;;;4023:123:106;652:3172:108;;-1:-1:-1;;;4114:21:106;;;4027:64;5173:21:107;4045:31:106;5173:21:107;;;:::i;4045:31:106:-;652:3172:108;;-1:-1:-1;4027:64:106;;3934:79;-1:-1:-1;652:3172:108;;-1:-1:-1;;;3981:21:106;;;3864:43;;;;;;-1:-1:-1;3864:43:106;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3713;3829:6;3713:43;;;;;;;;;;;;;;;:::i;:::-;;;;;3561:118;-1:-1:-1;652:3172:108;;-1:-1:-1;;;3643:25:106;;;3565:55;-1:-1:-1;3609:10:106;652:3172:108;;;;3586:22:106;652:3172:108;;;;;;;;3585:35:106;3565:55;;3470:81;652:3172:108;;-1:-1:-1;;;3521:19:106;;;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;1805:27:107;652:3172:108;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;1968:34:107;652:3172:108;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;:::i;:::-;;;;;4622:48:107;652:3172:108;;;:::i;:::-;4622:48:107;;:::i;652:3172:108:-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;652:3172:108;;;;;;;;;;;;;10370:24:106;10366:74;;-1:-1:-1;;652:3172:108;;;;;;;;-1:-1:-1;652:3172:108;;;;;;10489:25:106;;652:3172:108;;10489:25:106;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:108;3860:283:30;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;-1:-1:-1;;;;;;;;;;;;;;;;652:3172:108;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;652:3172:108;;;;;;734:29:82;730:87;;652:3172:108;;;;;6431:44:26;;;;;652:3172:108;6427:105:26;;;6656:20;652:3172:108;6656:20:26;652:3172:108;1167:340:82;652:3172:108;;;;-1:-1:-1;;;;;652:3172:108;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;652:3172:108;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;652:3172:108;;-1:-1:-1;;652:3172:108;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;6656:20:26;;;;652:3172:108;6431:44:26;652:3172:108;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;652:3172:108;;-1:-1:-1;;;786:20:82;;652:3172:108;;786:20:82;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;-1:-1:-1;652:3172:108;2431:59:107;652:3172:108;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;3875:17:107;652:3172:108;;3895:30:107;652:3172:108;;;;;3895:14:107;;;:::i;:::-;652:3172:108;;;3895:30:107;;:::i;:::-;652:3172:108;;;;;;;3874:63:107;652:3172:108;3874:63:107;;:::i;:::-;652:3172:108;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;1200:42:107;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;2136:32:107;652:3172:108;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;652:3172:108;5606:15:107;652:3172:108;;;5606:33:107;652:3172:108;-1:-1:-1;652:3172:108;5606:33:107;:::i;652:3172:108:-;;;;;;-1:-1:-1;;652:3172:108;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;652:3172:108;;-1:-1:-1;;;;;;652:3172:108;;;;;;;-1:-1:-1;;;;;652:3172:108;3975:40:24;652:3172:108;;3975:40:24;652:3172:108;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;7131:7:106;652:3172:108;7117:21:106;;-1:-1:-1;;;;;652:3172:108;;-1:-1:-1;;;;;652:3172:108;;;7117:21:106;:10;:21;7113:71;;7218:14;;:::i;:::-;7265:25;;;;:::i;:::-;7305:17;;;;:53;;;652:3172:108;7304:87:106;;;;652:3172:108;7300:146:106;;652:3172:108;5173:21:107;9310:48:106;5173:21:107;;;:::i;:::-;7540:17:106;7528:30;7540:17;;;:::i;:::-;652:3172:108;;7528:11:106;652:3172:108;;;;;;;7528:30:106;652:3172:108;;7572:29:106;;;;;7642:30;;;;;:::i;:::-;3066:5:68;;;3463;;;652:3172:108;3060:42:68;;7752:17:106;;;7748:384;;7568:1615;;;;;;;9197:17;9193:102;;7568:1615;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;9310:48:106;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:108;3860:283:30;3426:1;652:3172:108;;;;;;;;;;;;;9193:102:106;-1:-1:-1;652:3172:108;9270:13:106;;652:3172:108;;9230:18:106;;652:3172:108;;-1:-1:-1;;;;;652:3172:108;;;9230:18:106;7556:1;652:3172:108;-1:-1:-1;;;;;652:3172:108;9270:13:106;;:::i;:::-;9193:102;;7748:384;8045:29;7813:50;7962:65;7813:50;7998:28;7914:29;7813:50;8057:16;7813:50;8077:40;7813:50;;;:::i;:::-;7914:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;7998:28:106;;:::i;8077:40::-;8057:16;;:::i;8045:29::-;652:3172:108;7748:384:106;;;;;;;7568:1615;8185:26;;;;652:3172:108;;7528:11:106;652:3172:108;;;;;;;8185:26:106;652:3172:108;8250:27:106;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;652:3172:108;3060:42:68;;8375:17:106;;8371:802;;7568:1615;;;;;;;;8371:802;9096:26;8436:50;;8537:53;8436:50;8637:54;8436:50;8637:29;8436:50;9125:33;8436:50;;;;:::i;:::-;8537:53;;;;;;:::i;:::-;8637:29;;;;:::i;:::-;:54;:::i;:::-;8714:33;;;;8710:194;;8371:802;8922:65;837:15:73;8958:28:106;9038:40;837:15:73;;;819:34;837:15;819:34;:::i;9038:40:106:-;9005:30;9017:17;;;:::i;9005:30::-;652:3172:108;9125:33:106;:::i;:::-;9096:26;652:3172:108;;7528:11:106;652:3172:108;;;;;;;9096:26:106;652:3172:108;8371:802:106;;;;;;;8710:194;8797:33;8771:59;8922:65;8797:33;;;9038:40;8797:33;;;:::i;:::-;8771:59;;:::i;:::-;8852:33;;-1:-1:-1;8852:33:106;;-1:-1:-1;8710:194:106;;7300:146;652:3172:108;;-1:-1:-1;;;7414:21:106;;652:3172:108;;7414:21:106;7304:87;7363:28;;;;7304:87;;7305:53;7341:17;;;;:::i;:::-;7326:32;;7305:53;;7113:71;652:3172:108;;-1:-1:-1;;;7161:12:106;;652:3172:108;;7161:12:106;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;4384:17:107;652:3172:108;;;;;;;4405:14:107;;;:::i;:::-;4384:17;652:3172:108;;;;;;;4404:36:107;652:3172:108;;;4404:36:107;;:::i;652:3172:108:-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;;;4867:13:27;652:3172:108;;;;;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;652:3172:108;2307:68:107;652:3172:108;;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6491:14:106;652:3172:108;;6491:14:106;;:::i;652:3172:108:-;;;;;4994:47:107;652:3172:108;;;:::i;:::-;4994:47:107;;:::i;652:3172:108:-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;10932:22:106;652:3172:108;;;;;10928:89:106;;652:3172:108;;-1:-1:-1;;;11032:49:106;;-1:-1:-1;;;;;652:3172:108;;;11032:49:106;;;652:3172:108;;;;;;;;;;;;;;;11032:49:106;11042:17;;;652:3172:108;11032:49:106;;;;;;;-1:-1:-1;11032:49:106;;;652:3172:108;11031:50:106;;11027:102;;652:3172:108;;-1:-1:-1;;;11143:34:106;;652:3172:108;;;;;11143:34:106;652:3172:108;11143:34:106;652:3172:108;;11143:34:106;;;;;;;-1:-1:-1;11143:34:106;;;652:3172:108;11189:4:106;;;652:3172:108;;11143:51:106;11139:107;;-1:-1:-1;10932:22:106;652:3172:108;;-1:-1:-1;;;;;652:3172:108;;;;-1:-1:-1;;;;;;652:3172:108;;;;;;;-1:-1:-1;;;652:3172:108;;;11334:24:106;-1:-1:-1;;11334:24:106;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:108;3860:283:30;11139:107:106;652:3172:108;;-1:-1:-1;;;11217:18:106;;;11143:34;;;;;;;-1:-1:-1;11143:34:106;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;11027:102;-1:-1:-1;652:3172:108;;-1:-1:-1;;;11104:14:106;;;11032:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;10928:89;652:3172:108;;-1:-1:-1;;;10977:29:106;;;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;1298:40:107;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;1703:14:106;;:::i;:::-;5173:21:107;;:::i;:::-;652:3172:108;;;;1750:11:106;652:3172:108;;;;;;;;;;;;;1791:1:106;652:3172:108;;;;;;;;;1750:11:106;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;3901:31:23;652:3172:108;;;;;:::i;:::-;;;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;;;;3901:31:23;652:3172:108;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;652:3172:108;;;;;;;-1:-1:-1;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;652:3172:108;;;;-1:-1:-1;652:3172:108;;;477:31:86;652:3172:108;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;652:3172:108;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;477:31:86;;652:3172:108;;;;;;;;;;:::i;:::-;477:31:86;652:3172:108;;477:31:86;;;;;;:::i;:::-;518:79;;;652:3172:108;518:79:86;;652:3172:108;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;1109:35:107;652:3172:108;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;9907:21:106;;9903:75;;-1:-1:-1;652:3172:108;;;9992:22:106;652:3172:108;;;;;;;;;;;;;9992:41:106;9988:91;;-1:-1:-1;;;;;652:3172:108;;;;;3586:22:106;652:3172:108;;;;;10145:44:106;;;;10089:40;;:31;652:3172:108;;;;;;;;;;;;;;10089:40:106;652:3172:108;;;;;;;;;;;;;;;10145:44:106;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:108;3860:283:30;9903:75:106;652:3172:108;;-1:-1:-1;;;9951:16:106;;652:3172:108;;9951:16:106;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;2666:94:107;652:3172:108;;;;;:::i;:::-;;;-1:-1:-1;652:3172:108;2666:94:107;652:3172:108;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;;;;2666:94:107;652:3172:108;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;2816:92:107;652:3172:108;;;;;:::i;:::-;;;-1:-1:-1;652:3172:108;2816:92:107;652:3172:108;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;4616:5:27;652:3172:108;;;;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;652:3172:108;;;4639:4:27;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;11459:20:106;652:3172:108;;;;;11455:85:106;;-1:-1:-1;;;;;652:3172:108;;;;;;11550:312:106;;652:3172:108;11459:20:106;652:3172:108;;-1:-1:-1;;;;652:3172:108;-1:-1:-1;;;652:3172:108;;;11872:27:106;11915:20;-1:-1:-1;11915:20:106;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:108;3860:283:30;11550:312:106;652:3172:108;;-1:-1:-1;;;11597:45:106;;-1:-1:-1;;;;;652:3172:108;;11597:45:106;;;652:3172:108;;;11597:45:106;;652:3172:108;;;;;;11597:45:106;11607:15;;;652:3172:108;11597:45:106;;;;;;;-1:-1:-1;11597:45:106;;;11550:312;11596:46;;11592:104;;652:3172:108;;-1:-1:-1;;;11714:30:106;;;652:3172:108;11714:30:106;652:3172:108;11714:30:106;;;;;;;;-1:-1:-1;11714:30:106;;;11550:312;11756:4;;;652:3172:108;;11714:47:106;11710:109;;-1:-1:-1;11459:20:106;652:3172:108;;-1:-1:-1;;;;;;652:3172:108;-1:-1:-1;;;;;652:3172:108;;;;;;;;;11550:312:106;;;;;;11710:109;652:3172:108;;-1:-1:-1;;;11788:16:106;;;11714:30;;;;;;;-1:-1:-1;11714:30:106;;;;;;:::i;:::-;;;;;;11592:104;652:3172:108;;-1:-1:-1;;;11669:12:106;;652:3172:108;;11669:12:106;11597:45;;;;;;;;;;;;;;:::i;:::-;;;;11455:85;652:3172:108;;-1:-1:-1;;;11502:27:106;;;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;;;6112:23:106;;6108:79;;6273:6;652:3172:108;6206:13:106;;;;:::i;:::-;652:3172:108;;;-1:-1:-1;652:3172:108;;;;6273:6:106;:::i;:::-;652:3172:108;;;;;;;;;;;;6302:10:106;;6296:43;;652:3172:108;6296:43:106;1949:1:30;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;;;;;;;6108:79:106;652:3172:108;;-1:-1:-1;;;6158:18:106;;652:3172:108;;6158:18:106;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;-1:-1:-1;652:3172:108;2546:64:107;652:3172:108;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;2058:22:107;652:3172:108;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;5173:21:107;;:::i;652:3172:108:-;;;;;;-1:-1:-1;;652:3172:108;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;652:3172:108;;;;;;;;;;1109:35:107;;652:3172:108;;4468:23:23;4464:108;;652:3172:108;;;;10692:21:106;10688:71;;652:3172:108;;10805:22:106;652:3172:108;;;;;;;;10805:22:106;1949:1:30;-1:-1:-1;;;;;;;;;;;652:3172:108;;4464:108:23;652:3172:108;;;;4514:47:23;;;;;;966:10:28;652:3172:108;4514:47:23;;652:3172:108;;;;;4514:47:23;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;3123:14:106;;:::i;:::-;3154:24;;;:::i;:::-;3181:29;;;;;:::i;:::-;652:3172:108;;;;;;;3235:1:106;652:3172:108;;;;;;;3213:33:106;;;:::i;:::-;652:3172:108;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;1888:24:107;652:3172:108;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;5767:26:23;652:3172:108;;;;;;;:::i;:::-;;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;3202:4:23;4919:24;652:3172:108;-1:-1:-1;652:3172:108;4919:24:23;652:3172:108;3202:4:23;:::i;:::-;5767:26;:::i;652:3172:108:-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;675:39:107;652:3172:108;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;4867:29:27;652:3172:108;;;;;:::i;:::-;4867:20:27;652:3172:108;;;;;;:::i;:::-;4867:20:27;:::i;652:3172:108:-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;:::i;:::-;1972:48:106;;652:3172:108;;;;;;;:::i;:::-;;;;;;;;;;;;;;2034:16:106;;2030:111;;652:3172:108;;2233:39:106;1057:70:98;2233:39:106;;4622:48:107;2196:77:106;2233:39;;;;2196:77;;:::i;:::-;2312:36;;4994:47:107;652:3172:108;2312:36:106;;;4994:47:107;;:::i;:::-;2389:37:106;;;4622:48:107;;:::i;:::-;1057:70:98;;:::i;:::-;652:3172:108;;;;;;;;;;;;;2030:111:106;2089:41;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;4622:48:107;652:3172:108;2196:77:106;652:3172:108;1057:70:98;652:3172:108;;;:::i;:::-;;;;;2030:111:106;;;;;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;2357:1:24;652:3172:108;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;652:3172:108:-;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;4890:21:106;4886:75;;4975:11;;4971:73;;845:69:98;4803:22:107;;:::i;:::-;5173:21;;:::i;:::-;845:69:98;;;:::i;:::-;5180:10:106;652:3172:108;;;;5606:15:107;652:3172:108;;;;;5180:10:106;;;5606:33:107;;;:::i;:::-;5150:41:106;;5146:96;;5267:40;;;;;:::i;5146:96::-;652:3172:108;;-1:-1:-1;;;5214:17:106;;652:3172:108;;5214:17:106;4971:73;652:3172:108;;-1:-1:-1;;;5009:24:106;;652:3172:108;;5009:24:106;652:3172:108;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;7556:1:106;652:3172:108;;;;;;;:::o;:::-;;;;;;;;;;:::o;5256:193:107:-;-1:-1:-1;;;;;652:3172:108;-1:-1:-1;652:3172:108;;;5383:15:107;652:3172:108;;;;;5383:59:107;;5256:193;;5383:59;:::i;652:3172:108:-;;;;;;;;;;1167:340:82;;652:3172:108;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;652:3172:108;-1:-1:-1;;;;;652:3172:108;;1376:73:82;;1167:340;652:3172:108;;;;:::i;:::-;;;3642:39;;;;;;;652:3172;;;;;;;3642:39;;;652:3172;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3734:29;652:3172;;2282:147:27;652:3172:108;3734:29;652:3172;;;;:::i;:::-;;;;;;;;3745:17;652:3172;3734:29;652:3172;;3734:29;;;;;;:::i;:::-;;:::i;:::-;3788:11;3801:13;;2282:147:27;;:::i;1376:73:82:-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;2492:191:106;-1:-1:-1;;;;;652:3172:108;-1:-1:-1;652:3172:108;;;5606:15:107;652:3172:108;;;;;5606:33:107;;;:::i;:::-;5173:21;;:::i;:::-;4803:22;;:::i;:::-;652:3172:108;1884:1:98;652:3172:108;;;;;;;1884:1:98;652:3172:108;;;;;;;9478:25:68;;;:::i;652:3172:108:-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;3612:132:107:-;819:34:73;837:15;819:34;:::i;:::-;3683:54:107;3703:17;652:3172:108;3684:36:107;652:3172:108;;;;;;;3684:36:107;;:::i;:::-;652:3172:108;;;3683:54:107;;:::i;:::-;652:3172:108;3612:132:107;:::o;3313:244::-;3418:17;652:3172:108;;;;;;;;;;;;;;3406:29:107;3402:85;;3503:47;3504:29;;;;:::i;3402:85::-;652:3172:108;;-1:-1:-1;;;3458:18:107;;;;;3361:103:30;;;;:::i;:::-;652:3172:108;;-1:-1:-1;;;;;652:3172:108;;;6521:23:106;;6517:79;;6650:11;;6646:70;;652:3172:108;6742:10:106;;;;;;-1:-1:-1;652:3172:108;;6887:49:106;;652:3172:108;;;;6864:6:106;;652:3172:108;;6821:18:106;;652:3172:108;;-1:-1:-1;;;;;652:3172:108;;;6821:18:106;6864:6;:::i;:::-;6887:49;652:3172:108;;6898:10:106;;;;6887:49;;;:::i;:::-;;;;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;652:3172:108;3860:283:30;6754:3:106;6790:9;6773:27;652:3172:108;6790:9:106;6783:17;6790:9;;;;;:::i;:::-;652:3172:108;6783:17:106;:::i;6773:27::-;6754:3;652:3172:108;6731:9:106;;6646:70;652:3172:108;;-1:-1:-1;;;6684:21:106;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;3405:215:24:-;-1:-1:-1;;;;;652:3172:108;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;652:3172:108;;-1:-1:-1;;;;;;652:3172:108;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;652:3172:108;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;652:3172:108;;;3534:31:24;2731:227:106;;2871:34;2731:227;652:3172:108;-1:-1:-1;652:3172:108;2871:18:106;652:3172:108;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;;;;2871:34:106;652:3172:108;;-1:-1:-1;652:3172:108;2907:11:106;652:3172:108;;;-1:-1:-1;652:3172:108;;2927:16:106;652:3172:108;;;-1:-1:-1;652:3172:108;;;1884:1:98;652:3172:108;;;;;;;1884:1:98;652:3172:108;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;652:3172:108;;3670:20:30;3666:88;;1991:1;652:3172:108;;3470:384:30:o;3666:88::-;652:3172:108;;-1:-1:-1;;;3713:30:30;;;;;1867:311:108;12135:10:106;-1:-1:-1;652:3172:108;;;5606:15:107;652:3172:108;;;;;1867:311;;;-1:-1:-1;;1867:311:108;;12119:93:106;;819:34:73;837:15;819:34;:::i;:::-;12135:10:106;652:3172:108;;;;5606:15:107;652:3172:108;;;;;12170:41:106;;12135:10;;5606:33:107;;;:::i;12119:93:106:-;837:15:73;;12222:67:106;819:34:73;837:15;819:34;:::i;:::-;12259:29:106;4803:22:107;;;:::i;12222:67:106:-;837:15:73;;12299:68:106;819:34:73;837:15;819:34;:::i;:::-;12335:31:106;5173:21:107;;;:::i;12299:68:106:-;12394:14;;;12769:34;12394:14;12769:25;12394:18;:14;;:::i;:::-;:18;:::i;:::-;12726:33;12445:18;;652:3172:108;;7528:11:106;652:3172:108;;;;;;;12445:18:106;652:3172:108;12502:23:106;;652:3172:108;;12502:16:106;652:3172:108;;;;;;;12502:23:106;652:3172:108;12660:30:106;390:70:98;;;;;:::i;:::-;12660:30:106;;;;:::i;:::-;12639:18;;652:3172:108;;7528:11:106;652:3172:108;;;;;;;12639:18:106;652:3172:108;12726:33:106;:::i;:::-;12700:23;;652:3172:108;;12502:16:106;652:3172:108;;;;;;;12700:23:106;652:3172:108;;;12769:18:106;652:3172:108;;;;;;;12769:34:106;:50;652:3172:108;;;12769:50:106;:::i;:::-;652:3172:108;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;12135:10:106;;12835:74;;652:3172:108;;12835:74:106;652:3172:108;;;;;;12135:10:106;;2125:46:108;;652:3172;;;;2125:46;;;;1867:311::o;6605:300:27:-;;-1:-1:-1;;;;;652:3172:108;;;;;6688:18:27;;6684:86;;652:3172:108;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;652:3172:108;;;;;;5606:15:107;652:3172:108;;;;;5606:33:107;;;:::i;:::-;2607:19:108;;;;2603:115;;3459:25;2838:21;:65;3459:25;2838:21;;;3354:65;2838:21;652:3172;;;;;;;;5606:15:107;652:3172:108;;;;;;;2838:21;837:15:73;;819:34;837:15;819:34;:::i;:::-;652:3172:108;;2838:65;;:::i;:::-;-1:-1:-1;;;;;;;652:3172:108;;;;;;5606:15:107;652:3172:108;;;;;837:15:73;;5606:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;652:3172:108;;;;;;;5606:15:107;652:3172:108;;;;;;;5606:33:107;652:3172:108;3354:65;;:::i;:::-;-1:-1:-1;;652:3172:108;;;;;;;;;;;;;2603:115;652:3172;;-1:-1:-1;;;2653:50:108;;-1:-1:-1;;;;;652:3172:108;;;;2653:50;;;652:3172;;;;;;;;;;;;;;;;12018:60:27;6779:86;652:3172:108;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;652:3172:108;;;6822:32:27;6684:86;652:3172:108;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;652:3172:108;;;6729:30:27;14296:213:69;652:3172:108;14374:24:69;;;;14370:103;;652:3172:108;14296:213:69;:::o;14370:103::-;652:3172:108;;;;14421:41:69;;;;;;14452:2;14421:41;;;652:3172:108;;;;;14421:41:69;1809:204:82;652:3172:108;1809:204:82;652:3172:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:97:-;;652:3172:108;;7686:17:97;7682:83;;652:3172:108;7789:27:97;652:3172:108;7789:27:97;652:3172:108;;7789:27:97;;;;;;:::i;:::-;7860:14;;;:::i;:::-;652:3172:108;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;652:3172:108;8075:24:97;:::o;7975:84::-;652:3172:108;;;8009:16:97;4622:13:107;652:3172:108;8009:16:97;:::i;:::-;652:3172:108;;;8001:24:97;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;652:3172:108;;;;;8029:23:97;652:3172:108;;;;8029:29:97;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;652:3172:108;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;652:3172:108;;7686:17:97;7682:83;;652:3172:108;7789:27:97;652:3172:108;7789:27:97;652:3172:108;;7789:27:97;;;;;;:::i;:::-;7860:14;;;:::i;:::-;652:3172:108;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;652:3172:108;;;8009:16:97;4994:12:107;652:3172:108;8009:16:97;:::i;:::-;652:3172:108;;;8001:24:97;: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::-;;652:3172:108;;7686:17:97;7682:83;;652:3172:108;7789:27:97;652:3172:108;7789:27:97;652:3172:108;;7789:27:97;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;652:3172:108;;;;;;;;;;;;;;;;7888:22:97;;;7884:77;;7975:21;-1:-1:-1;7975:84:97;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;652:3172:108;8075:24:97;:::o;7975:84::-;652:3172:108;;;8009:16:97;652:3172:108;;8009:16:97;:::i;:::-;652:3172:108;;;8001:24:97;: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;652:3172:108;7926:24:97;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;652:3172:108;;;;;;;;;675:39:107;;652:3172:108;;3901:31:23;652:3172:108;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;652:3172:108;;;;;;;;;966:38:107;;652:3172:108;;3901:31:23;652:3172:108;4148:103:23;966:10:28;-1:-1:-1;652:3172:108;;;;;;;;;821:37:107;;652:3172:108;;3901:31:23;652:3172:108;4148:103:23;-1:-1:-1;652:3172:108;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;966:10:28;652:3172:108;;;;;;;;;3901:31:23;652:3172:108;7270:387:23;-1:-1:-1;;;;;652:3172:108;;13555:17:106;652:3172:108;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:108;;;;13555:17:106;652:3172:108;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;-1:-1:-1;;652:3172:108;7509:4:23;652:3172:108;;;966:10:28;;-1:-1:-1;;;;;652:3172:108;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;13555:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;652:3172:108;;-1:-1:-1;652:3172:108;;;;;;;;;675:39:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:108;;3901:31:23;652:3172:108;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;-1:-1:-1;;652:3172:108;7509:4:23;652:3172:108;;;966:10:28;;-1:-1:-1;;;;;652:3172:108;;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;;;;;652:3172:108;;-1:-1:-1;652:3172:108;;;;;;;;;821:37:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:108;;3901:31:23;652:3172:108;7270:387:23;-1:-1:-1;;;;;652:3172:108;;-1:-1:-1;652:3172:108;;;;;;;;;966:38:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:108;;3901:31:23;652:3172:108;7270:387:23;-1:-1:-1;;;;;652:3172:108;;-1:-1:-1;652:3172:108;;;;;;;;;1109:35:107;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:108;;3901:31:23;652:3172:108;7270:387:23;-1:-1:-1;652:3172:108;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;3901:31:23;652:3172:108;7892:388:23;-1:-1:-1;652:3172:108;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;-1:-1:-1;;652:3172:108;;;966:10:28;;-1:-1:-1;;;;;652:3172:108;;8155:40:23;-1:-1:-1;;8155:40:23;652:3172:108;8209:11:23;:::o;652:3172:108:-;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;2658:162:24;-1:-1:-1;;;;;;;;;;;652:3172:108;-1:-1:-1;;;;;652:3172:108;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;652:3172:108;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;652:3172:108;;;2763:40:24;652:3172:108;;;;;;;:::o;4996:4226:68:-;;652:3172:108;;;;-1:-1:-1;;652:3172:108;4996:4226:68;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;652:3172:108;-1:-1:-1;652:3172:108;7214:31:68;;7259:375;;;8094:1;652:3172:108;;8075:1:68;652:3172:108;8074:21:68;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;652:3172:108;6695:300:68;;7259:375;7700:21;652:3172:108;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;652:3172:108;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;652:3172:108:-;7178:12:97;652:3172:108;;;;;;7178:12:97;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;-1:-1:-1;652:3172:108;:::o;:::-;7178:12:97;652:3172:108;;;;;;7178:12:97;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;-1:-1:-1;652:3172:108;:::o;:::-;;;;;;;;-1:-1:-1;652:3172:108;;-1:-1:-1;652:3172:108;;;-1:-1:-1;652:3172:108;:::o;:::-;6360:12:97;652:3172:108;-1:-1:-1;;;652:3172:108;;;;;;;;;6360:12:97;652:3172:108;;;;;;6360:12:97;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;:::o;:::-;6360:12:97;652:3172:108;-1:-1:-1;;;652:3172:108;;;;;;;;;6360:12:97;652:3172:108;;;;;;6360:12:97;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;:::o;:::-;;;;;-1:-1:-1;;;652:3172:108;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;11930:17:27;;;652:3172:108;;;;;;;;6246:584:97;;;;6360:12;652:3172:108;;;6360:24:97;;6356:75;;6246:584;6474:30;;;:::i;:::-;652:3172:108;;;;;;6578:12:97;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;652:3172:108;;;;;;;;;-1:-1:-1;652:3172:108;;;-1:-1:-1;652:3172:108;;;;;;6798:25:97;652:3172:108;6246:584:97:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;652:3172:108;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:97;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;652:3172:108;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;652:3172:108;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:108;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;6356:75:97;;;6246:584;;;;6360:12;652:3172:108;;;6360:24:97;;6356:75;;6246:584;6474:30;;;:::i;:::-;652:3172:108;;;;;;6578:12:97;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;652:3172:108;;;;;;;;;-1:-1:-1;652:3172:108;;;-1:-1:-1;652:3172:108;;;;;;6798:25:97;652:3172:108;6246:584:97:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;652:3172:108;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:97;;;;;:::i;6604:::-;652:3172:108;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;652:3172:108;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:108;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;6356:75:97;;;6246:584;;;;;6360:12;;;652:3172:108;;;6360:24:97;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;652:3172:108;;;;;;6578:12:97;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:97;;;-1:-1:-1;;;;;652:3172:108;;;;;;;6644:21:97;;;:29;:21;;:::i;6600:188::-;6753:24;;652:3172:108;;8310:38:71;;-1:-1:-1;;;;;652:3172:108;;;;;8310:38:71;:::i;:::-;6753:24:97;;;:::i;6604:::-;652:3172:108;;;;;;6614:14:97;;-1:-1:-1;6604:24:97;;;6356:75;-1:-1:-1;;;652:3172:108;;;;;;6360:12:97;652:3172:108;;;;;;;:::i;:::-;;;11930:17:27;;;652:3172:108;;;;;;;;6356:75:97;;;1271:160:55;652:3172:108;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;652:3172:108;;;1380:43:55;;;652:3172:108;;;;;;;;;1380:43:55;;;652:3172:108;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;1380:43:55;652:3172:108;;;1380:43:55;:::i;12922:460:106:-;;13024:14;;:::i;:::-;13015:23;;;13011:75;;-1:-1:-1;652:3172:108;;;13100:20:106;652:3172:108;;;;;;;;13128:10:106;652:3172:108;;;;;;;;;;13096:93:106;;13208:32;13128:10;13208:32;;:::i;:::-;13255:11;;;13251:68;;-1:-1:-1;652:3172:108;;;13100:20:106;652:3172:108;;;;;;;;13128:10:106;652:3172:108;;;;;;;;;-1:-1:-1;;652:3172:108;13371:4:106;652:3172:108;;;12922:460:106:o;13251:68::-;652:3172:108;;-1:-1:-1;;;13289:19:106;;;;;13096:93;652:3172:108;;-1:-1:-1;;;13162:16:106;;;;;13011:75;652:3172:108;;-1:-1:-1;;;13061:14:106;;;;;10580:184:97;4803:13:107;652:3172:108;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;652:3172:108;;10726:7:97;652:3172:108;;10736:12:97;652:3172:108;;;;;;10736:12:97;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;10580:184:97;:::o;10726:31::-;;-1:-1:-1;10580:184:97;:::o;10446:63:71:-;11930:17:27;;;652:3172:108;;;;;4803:13:107;-1:-1:-1;14439:109:71;;;652:3172:108;;;10446:63:71;;10580:184:97;5173:12:107;652:3172:108;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;652:3172:108;;10726:7:97;652:3172:108;;10736:12:97;652:3172:108;;;;;;10736:12:97;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;10580:184:97;:::o;10446:63:71:-;11930:17:27;;;652:3172:108;;;;;5173:12:107;-1:-1:-1;14439:109:71;;;652:3172:108;;;10446:63:71;;10580:184:97;652:3172:108;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;652:3172:108;;10726:7:97;652:3172:108;;10736:12:97;:17;:12;;:17;:::i;:::-;652:3172:108;;;;;;10580:184:97;:::o;10446:63:71:-;11930:17:27;;652:3172:108;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;652:3172:108;;;10446:63:71;;10976:487:27;;-1:-1:-1;;;;;652:3172:108;;;11141:19:27;11137:89;;652:3172:108;;11239:21:27;11235:90;;11334:20;:29;:20;;:::i;:29::-;652:3172:108;10976:487:27:o;1662:280:98:-;;;1884:1;652:3172:108;;;;;;;1884:1:98;652:3172:108;;;;;;;9478:25:68;;;:::i;6999:207:97:-;4622:13:107;652:3172:108;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;652:3172:108;;7168:7:97;652:3172:108;;7178:17:97;652:3172:108;7178:17:97;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;4622:13:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;652:3172:108;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;652:3172:108;;;;;;;10049:53:71;14439:109;4622:13:107;-1:-1:-1;14439:109:71;652:3172:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;652:3172:108;;;;;9870:48:71;9866:149;652:3172:108;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:97;4994:12:107;652:3172:108;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;652:3172:108;;7168:7:97;652:3172:108;;7178:17:97;652:3172:108;7178:17:97;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;4994:12:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;652:3172:108;;;;;;;10049:53:71;14439:109;4994:12:107;-1:-1:-1;14439:109:71;652:3172:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;652:3172:108;;;;;9870:48:71;9866:149;652:3172:108;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:97;;652:3172:108;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:97;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;652:3172:108;;7168:7:97;652:3172:108;;;7178:12:97;;: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;:::-;652:3172:108;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;652:3172:108;14439:109:71;;;-1:-1:-1;14439:109:71;;652:3172:108;;;;;9870:48:71;9866:149;652:3172:108;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;652:3172:108;;;;;;;:::i;:::-;-1:-1:-1;652:3172:108;;;;;;;:::o;11486:272:97:-;652:3172:108;;:::i;:::-;;;;:::i;:::-;;4622:13:107;652:3172:108;;;;;;4622:13:107;-1:-1:-1;652:3172:108;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;;;;;;;;;;11718:12:97;652:3172:108;;;;;;11718:12:97;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;:::i;:::-;;;;11672:79:97;;652:3172:108;11486:272:97;:::o;:::-;652:3172:108;;:::i;:::-;;;;:::i;:::-;;4994:12:107;652:3172:108;;;;;;4994:12:107;-1:-1:-1;652:3172:108;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;;;;;;;;;;11718:12:97;652:3172:108;;;;;;11718:12:97;-1:-1:-1;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;:::i;11486:272:97:-;;652:3172:108;11718:12:97;11452:22:71;11718:31:97;11486:272;652:3172:108;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;652:3172:108;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:97;:31;:::i;:::-;652:3172:108;;;;;;;;;:::i;:::-;;;;;;;11672:79:97;;652:3172:108;11486:272:97;:::o;1670:188:55:-;652:3172:108;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;652:3172:108;;;1797:53:55;;;652:3172:108;;;;;;;;;;;;;;;;;1797:53:55;;;652:3172:108;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;1797:53:55;652:3172:108;;;1797:53:55;:::i;7084:141:26:-;652:3172:108;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;652:3172:108;;-1:-1:-1;;;7191:17:26;;;;;652:3172:108;;;;;;;;;;;;:::i;13388:2406:106:-;13510:30;13388:2406;13510:30;652:3172:108;;;13510:30:106;;;;;;:::i;:::-;652:3172:108;;-1:-1:-1;;;;;652:3172:108;;;;13555:31:106;13551:88;;13653:20;;;;652:3172:108;;;;;;;;;;13653:25:106;13649:85;;13748:29;;;652:3172:108;;13748:29:106;;652:3172:108;13748:43:106;;-1:-1:-1;;;;;652:3172:108;;;13748:43:106;;13744:943;;13388:2406;652:3172:108;;;15647:32:106;652:3172:108;14817:36:106;652:3172:108;;;14697:30:106;652:3172:108;;;;;;;;;;;;13555:17:106;652:3172:108;;-1:-1:-1;;;;;;652:3172:108;;;;;;-1:-1:-1;;;;;652:3172:108;;;;;;;;14697:30:106;13510;14747:13;;652:3172:108;;;;-1:-1:-1;;;;;;652:3172:108;-1:-1:-1;;;;;652:3172:108;;;;;;;;;14771:36:106;819:34:73;837:15;819:34;:::i;:::-;14738:22:106;652:3172:108;;-1:-1:-1;;;;652:3172:108;;;;;;-1:-1:-1;;;652:3172:108;;;;;;;;;14738:22:106;652:3172:108;;-1:-1:-1;;;;;652:3172:108;;;;;;-1:-1:-1;;;;;;652:3172:108;;;;;;;;14817:36:106;14864:42;652:3172:108;14883:23:106;;;652:3172:108;;;;;;;;;13555:17:106;652:3172:108;;;;;;;13555:17:106;652:3172:108;;14864:42:106;14917:38;652:3172:108;14934:21:106;;;652:3172:108;;;;;;;13555:17:106;652:3172:108;;;;;;;;;;;;13555:17:106;652:3172:108;;14917:38:106;14965:34;14980:19;;;652:3172:108;14965:34:106;652:3172:108;;14965:34:106;652:3172:108;-1:-1:-1;;;;;652:3172:108;;;;;;;15010:135:106;;13388:2406;-1:-1:-1;15158:36:106;;;652:3172:108;-1:-1:-1;;;;;652:3172:108;;;;15154:157:106;;13388:2406;-1:-1:-1;15324:35:106;;;652:3172:108;-1:-1:-1;;;;;652:3172:108;;;;15320:153:106;;13388:2406;-1:-1:-1;15486:34:106;;;652:3172:108;-1:-1:-1;;;;;652:3172:108;;;;15482:152:106;;13388:2406;-1:-1:-1;15647:32:106;652:3172:108;-1:-1:-1;;;;;652:3172:108;;;;;;;15643:145:106;;13388:2406;:::o;15643:145::-;15709:68;;;:::i;:::-;;13388:2406::o;15482:152::-;15550:73;;;:::i;:::-;;15482:152;;;15320:153;15389:73;;;:::i;:::-;;15320:153;;;15154:157;15224:76;;;:::i;:::-;;15154:157;;;15010:135;15073:61;;;:::i;:::-;;15010:135;;;13744:943;13811:36;;;652:3172:108;13811:50:106;;-1:-1:-1;;;;;652:3172:108;;;13811:50:106;;13807:405;;13744:943;14230:34;;;652:3172:108;14230:48:106;;-1:-1:-1;;;;;652:3172:108;;;14230:48:106;13744:943;14226:451;14302:21;;;652:3172:108;;14302:21:106;;14351:19;;;652:3172:108;14351:24:106;:74;;;14298:365;14347:150;;14298:365;;652:3172:108;15647:32:106;14298:365;14817:36;652:3172:108;;14298:365:106;;14226:451;;;;;;;13744:943;;14347:150;652:3172:108;-1:-1:-1;;;14460:14:106;;;;;14351:74;-1:-1:-1;14379:32:106;;;652:3172:108;14379:46:106;;-1:-1:-1;;;;;652:3172:108;;;14379:46:106;;14351:74;;14298:365;14525:19;;;652:3172:108;14525:24:106;;;:74;;;14298:365;14521:142;;14298:365;;652:3172:108;15647:32:106;14298:365;14817:36;652:3172:108;;14298:365:106;;;14525:74;-1:-1:-1;14553:32:106;;;652:3172:108;14553:46:106;;-1:-1:-1;;;;;652:3172:108;;;14553:46:106;;;14525:74;;13807:405;13885:23;;;652:3172:108;;13885:23:106;;13936:35;;;652:3172:108;13936:49:106;;-1:-1:-1;;;;;652:3172:108;;;13936:49:106;13807:405;13932:125;652:3172:108;-1:-1:-1;;;14020:14:106;;;;;13881:317;14085:35;;;652:3172:108;14085:49:106;;-1:-1:-1;;;;;652:3172:108;;;14085:49:106;14081:117;13807:405;14081:117;652:3172:108;-1:-1:-1;;;14165:14:106;;;;;13649:85;652:3172:108;;-1:-1:-1;;;13701:22:106;;;;;13551:88;652:3172:108;;-1:-1:-1;;;13609:19:106;;;;;6893:76:26;;;;;:::i;:::-;;;:::i;:::-;652:3172:108;;-1:-1:-1;;;;;652:3172:108;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;11930:17:27;;;652:3172:108;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;11930:17:27;;652:3172:108;;2600:7:27;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1776:194:59;1829:135;;;;;;;;10695:389:71;5173:12:107;652:3172:108;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;11930:17:27;;;652:3172:108;;;;;5173:12:107;10833:17:71;14439:109;;;652:3172:108;11014:1:71;;652:3172:108;;;;;;;11030:37:71:o;10695:389::-;4803:13:107;652:3172:108;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;11930:17:27;;;652:3172:108;;;;;4803:13:107;10833:17:71;14439:109;;;652:3172:108;11014:1:71;;652:3172:108;;;;;;;11030:37:71:o;10695:389::-;652:3172:108;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;11930:17:27;;652:3172:108;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;652:3172:108;11014:1:71;652:3172:108;;;;;;;11030:37:71;:::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;;;;;;652:3172:108;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;652:3172:108;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;652:3172:108;;;8401:40:55;;;652:3172:108;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:98;;;652:3172:108;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;652:3172:108;;;;;;;1258:280:98;:::o;652:3172:108:-;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;652:3172:108;;;;;;;;;-1:-1:-1;652:3172:108;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;652:3172:108;;;;;;;;;-1:-1:-1;652:3172:108;;;;;;;;-1:-1:-1;;;;;652:3172:108;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;11930:17:27;;;652:3172:108;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;11930:17:27;;652:3172:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5173:12:107;652:3172:108;;-1:-1:-1;;;652:3172:108;;;;;;;;;5173:12:107;652:3172:108;;;;;;5173:12:107;-1:-1:-1;652:3172:108;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;:::o;:::-;4803:13:107;652:3172:108;;-1:-1:-1;;;652:3172:108;;;;;;;;;4803:13:107;652:3172:108;;;;;;4803:13:107;-1:-1:-1;652:3172:108;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:108;;;;:::o;:::-;;;-1:-1:-1;;;652:3172:108;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;652:3172:108;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5173:12:107;652:3172:108;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;652:3172:108;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;652:3172:108;;;;;;;;;;;;;;;;;12285:19:71;652:3172:108;;12423:25:71;;:::o;12247:163::-;652:3172:108;;12343:52:71;652:3172:108;12353:41:71;652:3172:108;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;652:3172:108;;12353:41:71;;;652:3172:108;12343:52:71;:::i;:::-;12247:163;;12099:89;652:3172:108;;-1:-1:-1;;;12143:30:71;;;;;11860:713;652:3172:108;12479:52:71;652:3172:108;12489:41:71;652:3172:108;;:::i;12489:41:71:-;-1:-1:-1;;;;;652:3172:108;;12489:41:71;;;652:3172:108;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;4803:13:107;652:3172:108;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;652:3172:108;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;652:3172:108;;;;;;;;;;;;;;;;;12247:163:71;652:3172:108;;12343:52:71;652:3172:108;12353:41:71;652:3172:108;;:::i;12353:41:71:-;-1:-1:-1;;;;;652:3172:108;;12353:41:71;;;652:3172:108;12343:52:71;:::i;11860:713::-;652:3172:108;12479:52:71;652:3172:108;12489:41:71;652:3172:108;;:::i;12489:41:71:-;-1:-1:-1;;;;;652:3172:108;;12489:41:71;;;652:3172:108;12343:52:71;:::i;11657:922::-;652:3172:108;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;652:3172:108;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;652:3172:108;;;;;;;;;;;;;;;;;12247:163:71;652:3172:108;;;12343:52:71;652:3172:108;12353:41:71;652:3172:108;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;652:3172:108;;12353:41:71;;;652:3172:108;12343:52:71;:::i;11860:713::-;652:3172:108;;12479:52:71;652:3172:108;12489:41:71;652:3172:108;;:::i;12489:41:71:-;-1:-1:-1;;;;;652:3172:108;;12489:41:71;;;652:3172:108;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;652:3172:108;18246:1:68;652:3172:108;22284:6:68;;;;:::i;:::-;652:3172:108;;;;;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;;;652:3172:108;23216:28:68;652:3172:108;;18080:5181:68;:::o;19887:61::-;18246:1;652:3172:108;19887:61:68;;19787:87;652:3172:108;;;;;19787:87:68;;;19687;652:3172:108;;;;;19687:87:68;;;19585:89;652:3172:108;;;;;19585:89:68;;;19482:90;652:3172:108;;;;;19482:90:68;;;19379;652:3172:108;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;652:3172:108;-1:-1:-1;652:3172:108;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;652:3172:108;;3731:5:68;;;652:3172:108;;;;;;;;;4622:13:107;-1:-1:-1;14439:109:71;652:3172:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;652:3172:108;;;;;-1:-1:-1;13189:136:71;652:3172:108;;;13248:10:71;;13189:136;;13105:230;;;13189:136;652:3172:108;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;652:3172:108;;3731:5:68;;;652:3172:108;;;;;;;;;4994:12:107;-1:-1:-1;14439:109:71;652:3172:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;652:3172:108;;;;;-1:-1:-1;13189:136:71;652:3172:108;;;13248:10:71;;13189:136;;13105:230;;;13189:136;652:3172:108;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;652:3172:108;;3731:5:68;;;652:3172:108;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;652:3172:108;14439:109:71;;;-1:-1:-1;14439:109:71;;652:3172:108;;;;;-1:-1:-1;13189:136:71;652:3172:108;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;652:3172:108;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"60067":[{"start":2716,"length":32},{"start":3266,"length":32}],"70707":[{"start":5505,"length":32},{"start":6950,"length":32}],"70710":[{"start":7311,"length":32},{"start":8722,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","FACTORY()":"2dd31000","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","SLASHER_FACTORY()":"87df0788","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","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burner()":"27810b6e","claim(address,uint256)":"aad3ec96","claimBatch(address,uint256[])":"7c04c80a","collateral()":"d8dfeb45","currentEpoch()":"76671808","currentEpochStart()":"61a8c8c4","decimals()":"313ce567","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochAt(uint48)":"7953b33b","epochDuration()":"4ff0876a","epochDurationInit()":"46361671","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","name()":"06fdde03","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","owner()":"8da5cb5b","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","totalStake()":"8b0e9f3f","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","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\"},{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"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\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegatorAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositLimitReached\",\"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\":\"InsufficientClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientDeposit\",\"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\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"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\":\"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\":\"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\"},{\"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\":\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"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\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"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\":[{\"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\":[{\"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\":[{\"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\":\"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\":[{\"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\":[{\"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\":\"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\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":[],\"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\":[{\"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\":\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"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\":\"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.\"}],\"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.\"}}],\"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.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"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.\"},\"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\"}},\"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\"}},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"},\"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\"}},\"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\":\"See {IERC20-balanceOf}.\"},\"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\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"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\"}},\"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\"}},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"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\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"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\"}},\"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.\"},\"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\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"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}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalStake()\":{\"returns\":{\"_0\":\"total amount of the slashable collateral\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"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`.\"},\"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\"}},\"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\":{\"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.\"},\"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.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"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.\"},\"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.\"},\"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.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"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).\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"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.\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"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/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/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"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/libraries/ERC4626Math.sol\":{\"keccak256\":\"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653\",\"dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/contracts/vault/VaultTokenized.sol\":{\"keccak256\":\"0xa9475a46a3e32b35e48bc37fdaf08e1a586fb7c9667ac5e014b716a08873c46d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0a292a4f35bc43ce7174b36e2d016bc44d6737e94b41e48cb5dd1bb1e4821e48\",\"dweb:/ipfs/QmduHZe2REPnygiWvQRV82yD4tYHdwX33FkYRFm1UZoXBA\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]},\"src/interfaces/vault/IVaultTokenized.sol\":{\"keccak256\":\"0xb723560b49c30b38130634388a0550c9e07596f92a58edbfa2415e690024e0c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc9dde973a0bbf0adbc305462a796fa3b2e5be9daa1984e4f3e4f48e3c254f39\",\"dweb:/ipfs/QmQydZsr7ESw7ZSe9mqaxZ3dycvru8ZFVwrL9pmVnpyd7c\"]}},\"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"},{"internalType":"address","name":"vaultFactory","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":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DelegatorAlreadyInitialized"},{"inputs":[],"type":"error","name":"DepositLimitReached"},{"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":"InsufficientClaim"},{"inputs":[],"type":"error","name":"InsufficientDeposit"},{"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":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"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":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"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":"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":"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":[{"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":"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":"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":[{"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":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[{"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":[{"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":"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":[{"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":[{"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":"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":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[],"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":[{"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":"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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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"}},"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":"See {IERC20-balanceOf}."},"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"}},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"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"}},"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"}},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"name()":{"details":"Returns the name of the token."},"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"}},"owner()":{"details":"Returns the address of the current owner."},"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"}},"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."},"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"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"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}."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalStake()":{"returns":{"_0":"total amount of the slashable collateral"}},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"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`."},"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"}},"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."},"FACTORY()":{"notice":"Get the factory's address."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"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."},"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."},"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."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"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)."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"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."},"version()":{"notice":"Get the entity's version."},"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/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/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"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/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/contracts/vault/VaultTokenized.sol":{"keccak256":"0xa9475a46a3e32b35e48bc37fdaf08e1a586fb7c9667ac5e014b716a08873c46d","urls":["bzz-raw://0a292a4f35bc43ce7174b36e2d016bc44d6737e94b41e48cb5dd1bb1e4821e48","dweb:/ipfs/QmduHZe2REPnygiWvQRV82yD4tYHdwX33FkYRFm1UZoXBA"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"},"src/interfaces/vault/IVaultTokenized.sol":{"keccak256":"0xb723560b49c30b38130634388a0550c9e07596f92a58edbfa2415e690024e0c4","urls":["bzz-raw://dc9dde973a0bbf0adbc305462a796fa3b2e5be9daa1984e4f3e4f48e3c254f39","dweb:/ipfs/QmQydZsr7ESw7ZSe9mqaxZ3dycvru8ZFVwrL9pmVnpyd7c"],"license":"MIT"}},"version":1},"id":108} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"},{"name":"vaultFactory","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":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","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":"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":"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":"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":"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":"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":"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":"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":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"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":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"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":"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":"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":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DelegatorAlreadyInitialized","inputs":[]},{"type":"error","name":"DepositLimitReached","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":"InsufficientClaim","inputs":[]},{"type":"error","name":"InsufficientDeposit","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":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","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"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]}],"bytecode":{"object":"0x60e03461013c57601f61569238819003918201601f1916830192916001600160401b03918285118486101761014057816060928592604097885283398101031261013c5761004c82610154565b916100648461005d60208401610154565b9201610154565b9260805260a0527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82861c1661012b5780808316036100e7575b50505060c05251615529908161016982396080518181816115810152611b26015260a051818181611c8f0152612212015260c051818181610a9c0152610cc20152f35b6001600160401b0319909116811790915582519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806100a4565b845163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361013c5756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104ba57806306fdde03146104b5578063095ea7b3146104b05780631415519b146104ab57806318160ddd146103895780631b66c9e1146104a65780631e9a6950146104a157806323b872dd1461049c578063248a9ca31461049757806327810b6e14610492578063281f57521461048d5780632abe3048146104885780632d73c69c146104835780632dd310001461047e5780632f2ff15d14610479578063313ce5671461047457806336568abe1461046f578063392e53cd1461046a5780634105a7dd14610465578063463616711461046057806347e7ef241461045b57806348d3b775146104565780634ff0876a1461045157806350861adc1461044c57806350f22068146104475780635346e34f1461044257806354fd4d501461043d57806357ec83cc1461043857806359f769a9146104335780635cc070761461042e57806361a8c8c4146104295780636da3e06d146104245780636ec1e3f81461041f57806370a08231146103d4578063715018a61461041a5780637278e31c1461041557806373790ab314610410578063766718081461040b578063794b15b7146104065780637953b33b146104015780637c04c80a146103fc578063810da75d146103f757806383cd9cc3146103f257806387df0788146103ed5780638b0e9f3f146103e85780638da5cb5b146103e357806391d14854146103de57806395d89b41146103d95780639d66201b146103d45780639f86fd85146103cf578063a1b12202146103ca578063a217fddf146103c5578063a21a1df9146103c0578063a2861466146103bb578063a3b54172146103b6578063a5d03223146103b1578063a9059cbb146103ac578063aabc2496146103a7578063aad3ec96146103a2578063afba70ad1461039d578063b134427114610398578063bd49c35f14610393578063bdc8144b1461038e578063bfefcd7b14610389578063c31e8dd714610384578063ce9b79301461037f578063d547741f1461037a578063d8dfeb4514610375578063db38871514610370578063dd62ed3e1461036b578063ecf7085814610366578063efb559d614610361578063f2fde38b1461035c578063f3fef3a3146103575763f5e7ee0f14610352575f80fd5b6128cc565b612826565b6127f9565b6126aa565b61268d565b612656565b61261c565b6125f1565b6125a5565b61257d565b612513565b610749565b612435565b61241b565b6123f3565b6123c9565b612308565b612151565b61211c565b6120d6565b612089565b611f96565b611f5c565b611f42565b611f1e565b611e64565b6115d5565b611db2565b611d54565b611d20565b611cbe565b611c7a565b611ac1565b611aa8565b611a42565b611a1b565b6119db565b611989565b611948565b611676565b61160f565b6115b0565b61156c565b611519565b6114ef565b6114c8565b611390565b61135e565b6112c9565b6112b0565b611253565b611233565b611212565b610f2a565b610f02565b610e67565b610e22565b610dd7565b610d3f565b610cf1565b610cad565b610c41565b610a56565b610988565b610960565b610927565b61088a565b6107a5565b61076b565b61070f565b61064d565b61054c565b346105105760203660031901126105105760043563ffffffff60e01b811680910361051057602090637965db0b60e01b81149081156104ff575b506040519015158152f35b6301ffc9a760e01b1490505f6104f4565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610549928181520190610514565b90565b34610510575f366003190112610510576040515f5f805160206153d483398151915280549061057a826128f6565b8085529160209160019182811690811561060f57506001146105b7575b6105b3866105a781880382610b85565b60405191829182610538565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106105fc575050505081016020016105a7826105b35f610597565b80548686018401529382019381016105df565b90508695506105b3969350602092506105a794915060ff191682840152151560051b82010192935f610597565b6001600160a01b0381160361051057565b346105105760403660031901126105105760043561066a8161063c565b60243533156106f7576001600160a01b0382169182156106df576106a78291610692336119a3565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610510575f3660031901126105105760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610510575f366003190112610510576020610763613feb565b604051908152f35b34610510575f3660031901126105105760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610510576040366003190112610510576004356107c28161063c565b602435906107ce612e0e565b6001600160a01b0381161561087957335f908152600e602052604090206107f9906140d8565b6140d8565b82116108675761081961080a614064565b610812613feb565b908461414c565b918215610852578261082a92612e3d565b9061084160015f805160206154b483398151915255565b604080519182526020820192909252f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b34610510576060366003190112610510576004356108a78161063c565b6024356108b38161063c565b604435906108c433610692856119a3565b5492600184016108e5575b6108d99350612fcd565b60405160018152602090f35b828410610901576108fc836108d995033383614125565b6108cf565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610510576020366003190112610510576004355f525f805160206154948339815191526020526020600160405f200154604051908152f35b34610510575f366003190112610510576001546040516001600160a01b039091168152602090f35b34610510575f366003190112610510576109a0612b62565b8015610a015760015465ffffffffffff8160a01c16915f1981019081116109fc576109ce9160d01c9061295d565b81018091116109fc576109e36105b39161312c565b60405165ffffffffffff90911681529081906020820190565b61292e565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b038216820361051057565b9181601f84011215610510578235916001600160401b038311610510576020838186019501011161051057565b3461051057604036600319011261051057610a6f610a13565b6001600160401b0360243581811161051057610a8f903690600401610a29565b929091610a9a612e0e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610b14575f805160206154d4833981519152549060ff8260401c16928315610b04575b5050501561315e575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f8080610ae9565b604051631966391b60e11b8152600490fd5b65ffffffffffff81160361051057565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b03821117610b6557604052565b610b36565b604081019081106001600160401b03821117610b6557604052565b90601f801991011681019081106001600160401b03821117610b6557604052565b6040519061016082018281106001600160401b03821117610b6557604052565b60405190610bd382610b6a565b565b6001600160401b038111610b6557601f01601f191660200190565b929192610bfc82610bd5565b91610c0a6040519384610b85565b829481845281830111610510578281602093845f960137010152565b9080601f830112156105105781602061054993359101610bf0565b3461051057606036600319011261051057600435610c5e8161063c565b60243590610c6b82610b26565b604435906001600160401b03821161051057602092610c91610763933690600401610c26565b6001600160a01b039092165f908152600e855260409020613330565b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461051057604036600319011261051057610d3d602435600435610d148261063c565b805f525f80516020615494833981519152602052610d38600160405f200154613507565b613807565b005b34610510575f366003190112610510575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610dd2575f90610d94575b60405160ff919091168152602090f35b506020813d602011610dca575b81610dae60209383610b85565b81010312610510575160ff81168103610510576105b390610d84565b3d9150610da1565b6129ac565b3461051057604036600319011261051057602435610df48161063c565b336001600160a01b03821603610e1057610d3d9060043561383d565b60405163334bd91960e11b8152600490fd5b34610510575f3660031901126105105760ff60025460a01c1680610e4e575b6020906040519015158152f35b5060035460a01c60ff16610e41565b8015150361051057565b3461051057602036600319011261051057600435610e8481610e5d565b610e8c612e0e565b610e946133fc565b5f54901515908160ff8216151514610ef05760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f805160206154b483398151915255005b60405163a741a04560e01b8152600490fd5b34610510575f36600319011261051057602065ffffffffffff60015460a01c16604051908152f35b3461051057604080600319360112610510576004803591610f4a8361063c565b610f52612e0e565b6001600160a01b0391838316908115611204575f5460ff8116806111eb575b6111dc5783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dd2575f936111b9575b50610fc6906024359030903390614535565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dd257611005935f9261118c575b5050612950565b93841561117d5760081c60ff1680611168575b61115a5750906105b3916110c961102d614064565b95611076611039613feb565b6110616110478a838b61414c565b9961105b8a6110554261312c565b9261297e565b90613c86565b5050611070896110554261312c565b90613d66565b50506001600160a01b0381165f908152600e60205260409020906110c3886110be6107f46110a34261312c565b6001600160a01b039095165f908152600e6020526040902090565b61297e565b91613e42565b5050815184815260208101869052819033907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a361111760015f805160206154b483398151915255565b81518581525f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a35191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50611175846110be614064565b815410611018565b50825163070f6eed60e11b8152fd5b6111ab9250803d106111b2575b6111a38183610b85565b8101906138cf565b5f80610ffe565b503d611199565b610fc69193506111d590853d87116111b2576111a38183610b85565b9290610fb4565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610f71565b8251630d534ce360e11b8152fd5b34610510575f36600319011261051057602060ff5f54166040519015158152f35b34610510575f36600319011261051057602060015460d01c604051908152f35b34610510575f36600319011261051057602060ff60025460a01c166040519015158152f35b9060406003198301126105105760043561129181610b26565b91602435906001600160401b0382116105105761054991600401610c26565b346105105760206107636112c336611278565b9061319a565b34610510576020366003190112610510576004356112e681610e5d565b6112ee612e0e565b6112f6613459565b5f54901515908160ff8260081c16151514610ef05761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610d3d60015f805160206154b483398151915255565b34610510575f3660031901126105105760206001600160401b035f805160206154d48339815191525416604051908152f35b34610510576060366003190112610510576113a9610a13565b6024356113b58161063c565b6001600160401b0391604435838111610510576113d6903690600401610a29565b5f805160206154d48339815191529491855494838616806114b75760ff8760401c169081156114aa575b50610af2577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966114a59661146d958716906001600160401b0319161790556114685f805160206154d4833981519152600160401b68ff000000000000000019825416179055565b6129b7565b5f805160206154d4833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f611400565b60405162dc149f60e41b8152600490fd5b346105105760203660031901126105105760206107636004356114ea8161063c565b612acb565b34610510576020366003190112610510576004355f526006602052602060405f2054604051908152f35b34610510575f3660031901126105105760015465ffffffffffff61154f818360a01c1692611545612b62565b9060d01c9061295d565b82018092116109fc5761156360209261312c565b60405191168152f35b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610510575f36600319011261051057602060ff60035460a01c166040519015158152f35b34610510576020366003190112610510576004356115f28161063c565b60018060a01b03165f52600e602052602061076360405f206140d8565b34610510575f36600319011261051057611627613abb565b5f8051602061543483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346105105760403660031901126105105760043560243561169681610b26565b61169e612e0e565b6003546116bb906001600160a01b03165b6001600160a01b031690565b3303611936576116c9612b62565b906116d381612b96565b9082151580611925575b801561191c575b61190a576105b3937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611716614064565b9461173161172382612970565b5f52600660205260405f2090565b54908281036118245750611745818761297e565b8381188185100281189687806117dd575b50505050505b836117a9575b6040805191825265ffffffffffff929092166020820152908101839052606090a161179960015f805160206154b483398151915255565b6040519081529081906020820190565b5f546117d89085906117c69060101c6001600160a01b03166116af565b6001546001600160a01b031690613f00565b611762565b61181993610ffe8361105b6118036117fc611723986118139888613afd565b8096612950565b9461180d4261312c565b92612950565b92612970565b555f80808087611756565b9150611838825f52600660205260405f2090565b5490611848816110be848a61297e565b908482188286100282189788611863575b505050505061175c565b6118d8938361188b936118988c6118936118816118c9998884613afd565b9788958584613afd565b948592612950565b612950565b938484106118e3575b610ffe9061105b6118b795969761180d4261312c565b6118c361172387612970565b55612950565b915f52600660205260405f2090565b555f80808080611859565b916118ff610ffe916118f9866118b79798612950565b9061297e565b8594509290506118a1565b604051635e18d2a560e01b8152600490fd5b508282116116e4565b5061192f83612942565b82106116dd565b60405163dabc4ad960e01b8152600490fd5b34610510575f3660031901126105105760015465ffffffffffff808260a01c1691611971612b62565b600181018091116109fc5761154f9160d01c9061295d565b34610510575f366003190112610510576020610763612b62565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610510576020366003190112610510576004356119f88161063c565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610510576020366003190112610510576020610763600435611a3d81610b26565b612b96565b3461051057604036600319011261051057600435611a5f8161063c565b6024356001600160401b038082116105105736602383011215610510578160040135908111610510573660248260051b84010111610510576105b3926024611799930190612bd1565b34610510576020610763611abb36611278565b9061327b565b3461051057602080600319360112610510576004803590611ae18261063c565b611ae9612e0e565b60025460a01c60ff16611c6b576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f91611c3e575b5015611c2e5760405163fbfa77cf60e01b8152838516949082818581895afa928315610dd2575f93611bff575b505030911603611bf05750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610d3d60015f805160206154b483398151915255565b60405163b9f0f17160e01b8152fd5b611c1f929350803d10611c27575b611c178183610b85565b810190612d2a565b905f80611b83565b503d611c0d565b506040516324e5af8d60e21b8152fd5b611c5e9150823d8411611c64575b611c568183610b85565b810190612d0a565b5f611b56565b503d611c4c565b604051631380833b60e01b8152fd5b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610510575f36600319011261051057611cd6612b62565b611cde614064565b90805f52600660205260405f205482018092116109fc57600181018091116109fc575f52600660205260405f205481018091116109fc57602090604051908152f35b34610510575f366003190112610510575f80516020615434833981519152546040516001600160a01b039091168152602090f35b3461051057604036600319011261051057602060ff611da6602435611d788161063c565b6004355f525f80516020615494833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610510575f366003190112610510576040515f5f80516020615414833981519152805490611de0826128f6565b8085529160209160019182811690811561060f5750600114611e0c576105b3866105a781880382610b85565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510611e51575050505081016020016105a7826105b35f610597565b8054868601840152938201938101611e34565b346105105760408060031936011261051057600435611e828161063c565b602435906001600160401b038211610510575f8091611ea8611f0c943690600401610a29565b908187519283928337810184815203915af43d15611f1457611efe3d611ecd81610bd5565b90611eda86519283610b85565b81523d5f602083013e5b845194859315156020850152808401526060830190610514565b03601f198101835282610b85565b805190602001fd5b611efe6060611ee4565b34610510575f36600319011261051057602060ff5f5460081c166040519015158152f35b34610510575f3660031901126105105760206040515f8152f35b34610510575f3660031901126105105760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461051057604036600319011261051057600435611fb38161063c565b602435611fbf81610e5d565b611fc7612e0e565b611fcf6134b0565b6001600160a01b038216918215612077575f8381526005602052604090205460ff16151582151514610ef0576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161205e9161204c908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610d3d60015f805160206154b483398151915255565b604051630da30f6560e31b8152600490fd5b346105105760403660031901126105105760206120cd6024356120ab8161063c565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461051057604036600319011261051057602060ff611da66024356120fa8161063c565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105105760403660031901126105105761214660043561213c8161063c565b6024359033612fcd565b602060405160018152f35b34610510576020806003193601126105105760048035906121718261063c565b612179612e0e565b60035460a01c60ff166122f9576001600160a01b038281169390846121e7575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610d3d60015f805160206154b483398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f916122dc575b50156122cb5760405163fbfa77cf60e01b815282818581895afa928315610dd2575f936122ac575b50503091160361229d5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080612199565b604051633f3e089160e21b8152fd5b6122c3929350803d10611c2757611c178183610b85565b905f8061226a565b60405163dabc4ad960e01b81528390fd5b6122f39150833d8511611c6457611c568183610b85565b5f612242565b60405163703fe2e560e01b8152fd5b34610510576040366003190112610510576004356123258161063c565b60243590612331612e0e565b6001600160a01b03918183169081156123b7576123626105b39461235483613f4f565b9485915f5460101c16613f00565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f805160206154b4833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b34610510576020366003190112610510576004355f526007602052602060405f2054604051908152f35b34610510575f366003190112610510576003546040516001600160a01b039091168152602090f35b34610510575f366003190112610510576020610763614064565b3461051057602036600319011261051057600435612451612e0e565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff16156124f557508060045414610ef0576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f805160206154b483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b34610510576020366003190112610510576004356125308161063c565b612538612b62565b61254182612acb565b9161254c8183612db0565b83018093116109fc57600182018092116109fc5761256991612db0565b81018091116109fc57602090604051908152f35b34610510575f366003190112610510576002546040516001600160a01b039091168152602090f35b3461051057604036600319011261051057610d3d6024356004356125c88261063c565b805f525f805160206154948339815191526020526125ec600160405f200154613507565b61383d565b34610510575f366003190112610510575f5460405160109190911c6001600160a01b03168152602090f35b34610510575f3660031901126105105760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105105760403660031901126105105760206120cd6004356126788161063c565b610692602435916126888361063c565b6119a3565b34610510575f366003190112610510576020600454604051908152f35b34610510576060366003190112610510576004356126c78161063c565b602435906126d482610b26565b6001600160401b0391604435838111610510576126f5903690600401610a29565b9092604093845161270581610b4a565b60608152606060208201526060868201529280612764575b6105b386612755878761274f612736898484519161298b565b928561274660208501518361327b565b9301519061319a565b9161414c565b90519081529081906020820190565b8101939250602081850312610510578035908682116105105701926060848203126105105784519561279587610b4a565b843581811161051057826127aa918701610c26565b8752602085013581811161051057826127c4918701610c26565b602088015285850135908111610510576105b3966127ed61274f93612736936127559801610c26565b8782015293945061271d565b3461051057602036600319011261051057610d3d6004356128198161063c565b612821613abb565b612d3f565b34610510576040366003190112610510576004356128438161063c565b60243561284e612e0e565b6001600160a01b038216156108795780156128ba5761287d61286e613feb565b612876614064565b9083614bfe565b335f908152600e60205260409020909290612897906140d8565b83116128a85761082a918391612e3d565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105105760403660031901126105105760206107636024356128ee8161063c565b600435612db0565b90600182811c92168015612924575b602083101461291057565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612905565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116109fc57565b919082039182116109fc57565b818102929181159184041417156109fc57565b90600182018092116109fc57565b919082018092116109fc57565b6001600160a01b03165f908152600e60205260409020610549929190613330565b6040513d5f823e3d90fd5b916129f4926129c461458d565b6129cc61458d565b60015f805160206154b4833981519152556001600160a01b038116612ab1575b503691610bf0565b80516020908201818101828483031261051057828401516001600160401b039485821161051057019283926101a093849103126105105760405193612a3885610b4a565b612a44838383016138e9565b8552610180810151868111610510578383612a61928401016139b2565b9382860194855281015195861161051057612a89612aa89383610bd398612aa39401016139b2565b94604081019586525191611efe60405193849283016139f8565b6145d0565b5190519061498c565b612ac590612abd61458d565b61282161458d565b5f6129ec565b6001600160a01b03165f908152600e60205260409020612aea906140d8565b612af2614064565b612afa613feb565b90600181018091116109fc57600182018092116109fc5761054992613afd565b65ffffffffffff91821690821603919082116109fc57565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612b5d57160490565b612b32565b612b6b4261312c565b612b92600154612b8865ffffffffffff93848360a01c1690612b1a565b9060d01c90612b46565b1690565b6001549065ffffffffffff91828160a01c16918284821610612bbf57612b9292612b8891612b1a565b60405163b7d0949760e01b8152600490fd5b90612bda612e0e565b5f926001600160a01b0383169283156123b7578115612c92575f5b828110612c7057505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612c45918491612c409060101c6001600160a01b03166116af565b613f00565b612c56604051928392339684612ccd565b0390a390610bd360015f805160206154b483398151915255565b94612c8b6001916118f9612c85898789612cb8565b35613f4f565b9501612bf5565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612cc85760051b0190565b612ca4565b604080825281018390529392916001600160fb1b0381116105105760209160609160051b809183880137850101930152565b5190610bd382610e5d565b90816020910312610510575161054981610e5d565b5190610bd38261063c565b9081602091031261051057516105498161063c565b6001600160a01b03908116908115612d98575f8051602061543483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612dd690825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116109fc57600182018092116109fc5761054992613afd565b5f805160206154b48339815191526002815414612e2b5760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e6020526040812093949390929190612e7c90612e5f4261312c565b335f908152600e602052604090206110c3908990611893906140d8565b5050612e96612e8a4261312c565b61107087611893613feb565b5050612eb0612ea44261312c565b61105b84611893614064565b505081612f4282610692612eca612ec5612b62565b612970565b612f21612edf825f52600660205260405f2090565b54612ef2835f52600760205260405f2090565b54612f09612f0183838b61414c565b9a8b9361297e565b612f1b855f52600660205260405f2090565b5561297e565b612f33825f52600760205260405f2090565b555f52600860205260405f2090565b612f4d84825461297e565b9055604080519182526020820187905281018390526001600160a01b03919091169033907febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f90606090a36040519384529233907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080602081015b0390a3565b916001600160a01b03808416929083156131145781169384156130fc576001600160a01b0381165f908152600e6020526040902061300a906140d8565b908382106130ca57612fc89261306c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95936130596130b89460018060a01b03165f52600e60205260405f2090565b90856130644261312c565b910391613e42565b50506001600160a01b0381165f908152600e6020526040902090836130b16107f46130964261312c565b6001600160a01b039094165f908152600e6020526040902090565b0191613e42565b50506040519081529081906020820190565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161313f571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b610510913691610bf0565b90816020910312610510575163ffffffff811681036105105790565b90600163ffffffff809316019182116109fc57565b9080511561327157806020806131b593518301019101613169565b6131be816143bd565b906131cf825165ffffffffffff1690565b9065ffffffffffff80851692168281146132655782119182613205575b50506131fc57506105499061416d565b60209150015190565b909150613213600a54612942565b63ffffffff83161491821561322c575b50505f806131ec565b61325d91925061324661324161325292613185565b6143bd565b5165ffffffffffff1690565b65ffffffffffff1690565b115f80613223565b50505060209150015190565b506105499061416d565b90805115613326578060208061329693518301019101613169565b61329f81614447565b906132b0825165ffffffffffff1690565b9065ffffffffffff808516921682811461326557821191826132dd575b50506131fc575061054990614234565b9091506132eb600c54612942565b63ffffffff831614918215613304575b50505f806132cd565b61331e91925061324661331961325292613185565b614447565b115f806132fb565b5061054990614234565b918051156133f2578060208061334b93518301019101613169565b9161335683826144c7565b92613367845165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261339d575b50506133945761054992506142f4565b50506020015190565b9091506133aa8354612942565b63ffffffff8316149182156133c3575b50505f80613384565b6133de9192506132466133d861325292613185565b856144c7565b115f806133ba565b50505050506020015190565b50610549916142f4565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156124f55750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff9061344f565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff9061344f565b5f8181525f8051602061549483398151915260209081526040808320338452909152902060ff9061344f565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206154948339815191529060ff166135de575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206154948339815191529060ff905b54166136b3575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206154948339815191529060ff9061364f565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206154948339815191529060ff9061364f565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206154948339815191529060ff9061364f565b5f8181525f80516020615494833981519152602081815260408084206001600160a01b038716855290915290912060ff9061364f565b5f8181525f80516020615494833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156136b3575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b90816020910312610510575190565b5190610bd382610b26565b919082610160910312610510576138fe610ba6565b9161390881612d1f565b835261391660208201612d1f565b6020840152613927604082016138de565b604084015261393860608201612cff565b606084015261394960808201612cff565b608084015260a081015160a084015261396460c08201612d1f565b60c084015261397560e08201612d1f565b60e0840152610100613988818301612d1f565b9084015261012061399a818301612d1f565b908401526139ac610140809201612d1f565b90830152565b81601f82011215610510578051906139c982610bd5565b926139d76040519485610b85565b8284526020838301011161051057815f9260208093018386015e8301015290565b81516001600160a01b0316815261016081019291610bd391906020818101516001600160a01b03169083015260408181015165ffffffffffff169083015260608181015115159083015260808181015115159083015260a0818101519083015260c0808201516001600160a01b03169083015260e0818101516001600160a01b031690830152610100818101516001600160a01b031690830152610120818101516001600160a01b031690830152610140908101516001600160a01b0316910152565b5f80516020615434833981519152546001600160a01b03163303613adb57565b60405163118cdaa760e01b8152336004820152602490fd5b8115612b5d570490565b91818302915f1981850993838086109503948086039514613b7d5784831115613b705790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614ab1565b5050906105499250613af3565b600b54811015612cc857600b5f525f8051602061547483398151915201905f90565b600d54811015612cc857600d5f525f8051602061545483398151915201905f90565b8054821015612cc8575f5260205f2001905f90565b600d54600160401b811015610b65576001810180600d55811015612cc857600d5f525f805160206154548339815191520155565b600b54600160401b811015610b65576001810180600b55811015612cc857600b5f525f805160206154748339815191520155565b90815491600160401b831015610b655782613c6e916001610bd395018155613bce565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613d31575b50613c9e614ac1565b50929091815492613cad614064565b9481613d1c575b5015613cf957505f1982018281116109fc5781541115612cc8575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613d0d926001600160d01b03169150614f2b565b5050613d1883613be3565b9190565b65ffffffffffff83811691161490505f613cb4565b600160401b811015610b655760018101808455811015612cc8575f908382525f8051602061545483398151915201555f613c95565b919091600b9081548015613e0d575b50613d7e614b16565b50929091815492613d8d613feb565b9481613df8575b5015613dd957505f1982018281116109fc5781541115612cc8575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ded926001600160d01b03169150614ffb565b5050613d1883613c17565b65ffffffffffff83811691161490505f613d94565b600160401b811015610b655760018101808455811015612cc8575f908382525f8051602061547483398151915201555f613d75565b90929192600182019081548015613ed0575b5084613e5f84614b6b565b50949092845493613e6f836140d8565b9681613ebb575b5015613e98575050505f1981019081116109fc57613c6e8591613d1893613bce565b613d18949293613eb4926001600160d01b03909116919061509a565b5050613c4b565b65ffffffffffff83811691161490505f613e76565b600160401b811015610b6557806001613eec9201845583613bce565b8154905f199060031b1b191690555f613e54565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610b6557610bd392604052614ba4565b90613f58612b62565b821015613fd9575f82815260096020908152604080832033845290915290205460ff16613fc757613f893383612db0565b918215613fb5575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600a548061402b57505f5b6001600160d01b0381161561402657600b54811015612cc857600b5f525f80516020615474833981519152015490565b505f90565b805f198101116109fc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613ff6565b600c548061409f57505f5b6001600160d01b0381161561402657600d54811015612cc857600d5f525f80516020615454833981519152015490565b805f198101116109fc57600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c61406f565b80548061410757505f5b6001600160d01b038116156135de5760016140fd9201613bce565b90549060031b1c90565b5f199080828101116109fc57825f5260205f2001015460301c6140e2565b906001600160a01b03808316156106f7578116156106df57610692614149926119a3565b55565b9190600181018091116109fc57600182018092116109fc5761054992613afd565b600a54905f8291600584116141db575b614187935061527f565b806141aa57505f5b6001600160d01b03811615614026576140fd61054991613b8a565b6141cf6141b96141d692612942565b600a5f525f805160206153f48339815191520190565b5460301c90565b61418f565b91926141e681615154565b81039081116109fc5761418793600a5f5265ffffffffffff80835f805160206153f4833981519152015416908516105f1461422257509161417d565b92915061422e90612970565b9061417d565b600c54905f82916005841161429b575b61424e93506152e8565b8061427157505f5b6001600160d01b03811615614026576140fd61054991613bac565b6141cf61428061429692612942565b600c5f525f805160206153b48339815191520190565b614256565b91926142a681615154565b81039081116109fc5761424e93600c5f5265ffffffffffff80835f805160206153b4833981519152015416908516105f146142e2575091614244565b9291506142ee90612970565b90614244565b908154905f829160058411614357575b61430f935084615351565b8061433757505f905b6001600160d01b038216156135de576105499160016140fd9201613bce565b6141cf61434661435192612942565b835f5260205f200190565b90614318565b919261436281615154565b81039081116109fc5761430f93855f5265ffffffffffff808360205f20015416908516105f14614393575091614304565b92915061439f90612970565b90614304565b604051906143b282610b6a565b5f6020838281520152565b6143c56143a5565b506143ce6143a5565b50600a54811015612cc857600a5f526020604051916143ec83610b6a565b5f805160206153f483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612cc857600b5f525f8051602061547483398151915201546040519161443d83610b6a565b8252602082015290565b61444f6143a5565b506144586143a5565b50600c54811015612cc857600c5f5260206040519161447683610b6a565b5f805160206153b483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612cc857600d5f525f8051602061545483398151915201546040519161443d83610b6a565b90602060016144eb614517936144db6143a5565b506144e46143a5565b5085613bce565b5093604051946144fa86610b6a565b549465ffffffffffff86169586825260301c938491015201613bce565b9054906040519261452784610b6a565b835260031b1c602082015290565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610b6557610bd392604052614ba4565b60ff5f805160206154d48339815191525460401c16156145a957565b604051631afcd79f60e31b8152600490fd5b906101608282031261051057610549916138e9565b6145e390602080825183010191016145bb565b80516001600160a01b03919082161561497a57604080820165ffffffffffff614612825165ffffffffffff1690565b16156149695760c083018051909290614633906001600160a01b03166116af565b1561481a575b5091614766610140926147056146e06147c49661468761465f875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b039092169190911790556132466146b74261312c565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6147256147156060850151151590565b60ff80195f541691151516175f55565b61474c6147356080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61475960a0840151600455565b516001600160a01b031690565b84811661480a575b5060e08101516001600160a01b03168481166147fa575b506101008101516001600160a01b03168481166147ea575b506101208101516001600160a01b03168481166147da575b5001516001600160a01b031690565b9081166147ce5750565b6147d790613798565b50565b6147e390613729565b505f6147b5565b6147f3906136ba565b505f61479d565b614803906135e4565b505f614785565b61481390613533565b505f61476e565b60e0840151614831906001600160a01b03166116af565b15614906575b61012084015161484f906001600160a01b03166116af565b614639576080840151156148bc5760a0840151158061489d575b61488d575091614766610140926147056146e06147c4965b94965050509250614639565b5163183c854560e21b8152600490fd5b506101408401516148b6906001600160a01b03166116af565b15614869565b60a0840151158015906148e6575b61488d575091614766610140926147056146e06147c496614881565b506101408401516148ff906001600160a01b03166116af565b15156148ca565b60608401511561493c57610100840151614928906001600160a01b03166116af565b614837575163183c854560e21b8152600490fd5b610100840151614954906001600160a01b03166116af565b15614837575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b919061499661458d565b61499e61458d565b82516001600160401b038111610b65575f805160206153d4833981519152906149d0816149cb84546128f6565b614c37565b602080601f8311600114614a1757509080614a0592610bd396975f92614a0c575b50508160011b915f199060031b1c19161790565b9055614d29565b015190505f806149f1565b90601f19831696614a555f805160206153d48339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab090565b925f905b898210614a9957505090839291600194610bd3989910614a81575b505050811b019055614d29565b01515f1960f88460031b161c191690555f8080614a74565b80600185968294968601518155019501930190614a59565b634e487b715f526020526024601cfd5b600c5480614ad257505f905f905f90565b805f198101116109fc57600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a5480614b2757505f905f905f90565b805f198101116109fc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b805480614b7c5750505f905f905f90565b5f199181838101116109fc575f5260205f2001015460019165ffffffffffff82169160301c90565b905f602091828151910182855af1156129ac575f513d614bf557506001600160a01b0381163b155b614bd35750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614bcc565b9190600181018091116109fc57600182018092116109fc57614c21828285613afd565b928215612b5d5709151581018091116109fc5790565b601f8111614c43575050565b5f805160206153d48339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310614ca6575b601f0160051c01905b818110614c9b575050565b5f8155600101614c90565b9091508190614c87565b601f8111614cbc575050565b5f805160206154148339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310614d1f575b601f0160051c01905b818110614d14575050565b5f8155600101614d09565b9091508190614d00565b9081516001600160401b038111610b65575f8051602061541483398151915290614d5c81614d5784546128f6565b614cb0565b602080601f8311600114614d9157508190614d8d9394955f92614a0c5750508160011b915f199060031b1c19161790565b9055565b90601f19831695614dcf5f805160206154148339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b888210614e0a57505083600195969710614df2575b505050811b019055565b01515f1960f88460031b161c191690555f8080614de8565b80600185968294968601518155019501930190614dd3565b600c5490600160401b821015610b65576001820180600c55821015612cc857600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206153b483398151915290910155565b600a5490600160401b821015610b65576001820180600a55821015612cc857600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206153f483398151915290910155565b8054600160401b811015610b6557614eed91600182018155613bce565b614f1857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614fd257614280614f4391612942565b9081549165ffffffffffff90818416918316808311614fc057869203614f8857614f8192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614fbb90614fa7614f99610bc6565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614e22565b614f81565b604051632520601d60e01b8152600490fd5b50614ff690614fe2614f99610bc6565b6001600160d01b0384166020820152614e22565b5f9190565b600a549192918015615076576141b961501391612942565b9081549165ffffffffffff90818416918316808311614fc05786920361505157614f8192509065ffffffffffff82549181199060301b169116179055565b5050614fbb90615062614f99610bc6565b6001600160d01b0385166020820152614e79565b50614ff690615086614f99610bc6565b6001600160d01b0384166020820152614e79565b8054929392801561512f576150b16150bc91612942565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614fc0578793036150fb5750614f8192509065ffffffffffff82549181199060301b169116179055565b915050614fbb9161511b61510d610bc6565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614ed0565b5090614ff69161514061510d610bc6565b6001600160d01b0385166020830152614ed0565b600181111561054957600181600160801b81101561526d575b61521561520b6152016151f76151ed6151e361522197600488600160401b61521c9a1015615260575b640100000000811015615253575b62010000811015615246575b61010081101561523a575b601081101561522e575b1015615226575b60030260011c6151dc818b613af3565b0160011c90565b6151dc818a613af3565b6151dc8189613af3565b6151dc8188613af3565b6151dc8187613af3565b6151dc8186613af3565b8093613af3565b821190565b900390565b60011b6151cc565b811c9160021b916151c5565b60081c91811b916151bb565b60101c9160081b916151b0565b60201c9160101b916151a4565b60401c9160201b91615196565b50600160401b9050608082901c61516d565b905b82811061528d57505090565b9091808216906001818418811c83018093116109fc57600a5f5265ffffffffffff80845f805160206153f4833981519152015416908616105f146152d5575050915b90615281565b9093925081018091116109fc57906152cf565b905b8281106152f657505090565b9091808216906001818418811c83018093116109fc57600c5f5265ffffffffffff80845f805160206153b4833981519152015416908616105f1461533e575050915b906152ea565b9093925081018091116109fc5790615338565b91905b8382106153615750505090565b909192808316906001818518811c83018093116109fc57855f5265ffffffffffff808460205f20015416908516105f146153a0575050925b9190615354565b9094935081018091116109fc579161539956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c752c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a852c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace049016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220b9bc961cf9d9c9c89aa268126ef0b84208d178b706ef9625b4f4a0a71d8201c864736f6c63430008190033","sourceMap":"652:3172:110:-:0;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;3173:36:109;;;3219:32;;8837:64:26;652:3172:110;;;;;;;;;7896:76:26;;652:3172:110;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:84;;;;;652:3172:110;;;;;;;3173:36:109;652:3172:110;;;;;;;;;;3219:32:109;652:3172:110;;;;;;;;;;927:17:84;652:3172:110;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;652:3172:110;;;;;;;;;;;;;8087:29:26;;652:3172:110;;8087:29:26;7981:146;;;;;7896:76;652:3172:110;;-1:-1:-1;;;7938:23:26;;;;;652:3172:110;-1:-1:-1;652:3172:110;;;;;;-1:-1:-1;652:3172:110;;;;;-1:-1:-1;652:3172:110;;;;-1:-1:-1;;;;;652:3172:110;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104ba57806306fdde03146104b5578063095ea7b3146104b05780631415519b146104ab57806318160ddd146103895780631b66c9e1146104a65780631e9a6950146104a157806323b872dd1461049c578063248a9ca31461049757806327810b6e14610492578063281f57521461048d5780632abe3048146104885780632d73c69c146104835780632dd310001461047e5780632f2ff15d14610479578063313ce5671461047457806336568abe1461046f578063392e53cd1461046a5780634105a7dd14610465578063463616711461046057806347e7ef241461045b57806348d3b775146104565780634ff0876a1461045157806350861adc1461044c57806350f22068146104475780635346e34f1461044257806354fd4d501461043d57806357ec83cc1461043857806359f769a9146104335780635cc070761461042e57806361a8c8c4146104295780636da3e06d146104245780636ec1e3f81461041f57806370a08231146103d4578063715018a61461041a5780637278e31c1461041557806373790ab314610410578063766718081461040b578063794b15b7146104065780637953b33b146104015780637c04c80a146103fc578063810da75d146103f757806383cd9cc3146103f257806387df0788146103ed5780638b0e9f3f146103e85780638da5cb5b146103e357806391d14854146103de57806395d89b41146103d95780639d66201b146103d45780639f86fd85146103cf578063a1b12202146103ca578063a217fddf146103c5578063a21a1df9146103c0578063a2861466146103bb578063a3b54172146103b6578063a5d03223146103b1578063a9059cbb146103ac578063aabc2496146103a7578063aad3ec96146103a2578063afba70ad1461039d578063b134427114610398578063bd49c35f14610393578063bdc8144b1461038e578063bfefcd7b14610389578063c31e8dd714610384578063ce9b79301461037f578063d547741f1461037a578063d8dfeb4514610375578063db38871514610370578063dd62ed3e1461036b578063ecf7085814610366578063efb559d614610361578063f2fde38b1461035c578063f3fef3a3146103575763f5e7ee0f14610352575f80fd5b6128cc565b612826565b6127f9565b6126aa565b61268d565b612656565b61261c565b6125f1565b6125a5565b61257d565b612513565b610749565b612435565b61241b565b6123f3565b6123c9565b612308565b612151565b61211c565b6120d6565b612089565b611f96565b611f5c565b611f42565b611f1e565b611e64565b6115d5565b611db2565b611d54565b611d20565b611cbe565b611c7a565b611ac1565b611aa8565b611a42565b611a1b565b6119db565b611989565b611948565b611676565b61160f565b6115b0565b61156c565b611519565b6114ef565b6114c8565b611390565b61135e565b6112c9565b6112b0565b611253565b611233565b611212565b610f2a565b610f02565b610e67565b610e22565b610dd7565b610d3f565b610cf1565b610cad565b610c41565b610a56565b610988565b610960565b610927565b61088a565b6107a5565b61076b565b61070f565b61064d565b61054c565b346105105760203660031901126105105760043563ffffffff60e01b811680910361051057602090637965db0b60e01b81149081156104ff575b506040519015158152f35b6301ffc9a760e01b1490505f6104f4565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610549928181520190610514565b90565b34610510575f366003190112610510576040515f5f805160206153d483398151915280549061057a826128f6565b8085529160209160019182811690811561060f57506001146105b7575b6105b3866105a781880382610b85565b60405191829182610538565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106105fc575050505081016020016105a7826105b35f610597565b80548686018401529382019381016105df565b90508695506105b3969350602092506105a794915060ff191682840152151560051b82010192935f610597565b6001600160a01b0381160361051057565b346105105760403660031901126105105760043561066a8161063c565b60243533156106f7576001600160a01b0382169182156106df576106a78291610692336119a3565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610510575f3660031901126105105760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610510575f366003190112610510576020610763613feb565b604051908152f35b34610510575f3660031901126105105760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610510576040366003190112610510576004356107c28161063c565b602435906107ce612e0e565b6001600160a01b0381161561087957335f908152600e602052604090206107f9906140d8565b6140d8565b82116108675761081961080a614064565b610812613feb565b908461414c565b918215610852578261082a92612e3d565b9061084160015f805160206154b483398151915255565b604080519182526020820192909252f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b34610510576060366003190112610510576004356108a78161063c565b6024356108b38161063c565b604435906108c433610692856119a3565b5492600184016108e5575b6108d99350612fcd565b60405160018152602090f35b828410610901576108fc836108d995033383614125565b6108cf565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610510576020366003190112610510576004355f525f805160206154948339815191526020526020600160405f200154604051908152f35b34610510575f366003190112610510576001546040516001600160a01b039091168152602090f35b34610510575f366003190112610510576109a0612b62565b8015610a015760015465ffffffffffff8160a01c16915f1981019081116109fc576109ce9160d01c9061295d565b81018091116109fc576109e36105b39161312c565b60405165ffffffffffff90911681529081906020820190565b61292e565b604051639fa56a5b60e01b8152600490fd5b600435906001600160401b038216820361051057565b9181601f84011215610510578235916001600160401b038311610510576020838186019501011161051057565b3461051057604036600319011261051057610a6f610a13565b6001600160401b0360243581811161051057610a8f903690600401610a29565b929091610a9a612e0e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610b14575f805160206154d4833981519152549060ff8260401c16928315610b04575b5050501561315e575b60405163f92ee8a960e01b8152600490fd5b81169116101590505f8080610ae9565b604051631966391b60e11b8152600490fd5b65ffffffffffff81160361051057565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b03821117610b6557604052565b610b36565b604081019081106001600160401b03821117610b6557604052565b90601f801991011681019081106001600160401b03821117610b6557604052565b6040519061016082018281106001600160401b03821117610b6557604052565b60405190610bd382610b6a565b565b6001600160401b038111610b6557601f01601f191660200190565b929192610bfc82610bd5565b91610c0a6040519384610b85565b829481845281830111610510578281602093845f960137010152565b9080601f830112156105105781602061054993359101610bf0565b3461051057606036600319011261051057600435610c5e8161063c565b60243590610c6b82610b26565b604435906001600160401b03821161051057602092610c91610763933690600401610c26565b6001600160a01b039092165f908152600e855260409020613330565b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461051057604036600319011261051057610d3d602435600435610d148261063c565b805f525f80516020615494833981519152602052610d38600160405f200154613507565b613807565b005b34610510575f366003190112610510575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610dd2575f90610d94575b60405160ff919091168152602090f35b506020813d602011610dca575b81610dae60209383610b85565b81010312610510575160ff81168103610510576105b390610d84565b3d9150610da1565b6129ac565b3461051057604036600319011261051057602435610df48161063c565b336001600160a01b03821603610e1057610d3d9060043561383d565b60405163334bd91960e11b8152600490fd5b34610510575f3660031901126105105760ff60025460a01c1680610e4e575b6020906040519015158152f35b5060035460a01c60ff16610e41565b8015150361051057565b3461051057602036600319011261051057600435610e8481610e5d565b610e8c612e0e565b610e946133fc565b5f54901515908160ff8216151514610ef05760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f805160206154b483398151915255005b60405163a741a04560e01b8152600490fd5b34610510575f36600319011261051057602065ffffffffffff60015460a01c16604051908152f35b3461051057604080600319360112610510576004803591610f4a8361063c565b610f52612e0e565b6001600160a01b0391838316908115611204575f5460ff8116806111eb575b6111dc5783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dd2575f936111b9575b50610fc6906024359030903390614535565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dd257611005935f9261118c575b5050612950565b93841561117d5760081c60ff1680611168575b61115a5750906105b3916110c961102d614064565b95611076611039613feb565b6110616110478a838b61414c565b9961105b8a6110554261312c565b9261297e565b90613c86565b5050611070896110554261312c565b90613d66565b50506001600160a01b0381165f908152600e60205260409020906110c3886110be6107f46110a34261312c565b6001600160a01b039095165f908152600e6020526040902090565b61297e565b91613e42565b5050815184815260208101869052819033907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a361111760015f805160206154b483398151915255565b81518581525f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a35191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50611175846110be614064565b815410611018565b50825163070f6eed60e11b8152fd5b6111ab9250803d106111b2575b6111a38183610b85565b8101906138cf565b5f80610ffe565b503d611199565b610fc69193506111d590853d87116111b2576111a38183610b85565b9290610fb4565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610f71565b8251630d534ce360e11b8152fd5b34610510575f36600319011261051057602060ff5f54166040519015158152f35b34610510575f36600319011261051057602060015460d01c604051908152f35b34610510575f36600319011261051057602060ff60025460a01c166040519015158152f35b9060406003198301126105105760043561129181610b26565b91602435906001600160401b0382116105105761054991600401610c26565b346105105760206107636112c336611278565b9061319a565b34610510576020366003190112610510576004356112e681610e5d565b6112ee612e0e565b6112f6613459565b5f54901515908160ff8260081c16151514610ef05761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610d3d60015f805160206154b483398151915255565b34610510575f3660031901126105105760206001600160401b035f805160206154d48339815191525416604051908152f35b34610510576060366003190112610510576113a9610a13565b6024356113b58161063c565b6001600160401b0391604435838111610510576113d6903690600401610a29565b5f805160206154d48339815191529491855494838616806114b75760ff8760401c169081156114aa575b50610af2577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966114a59661146d958716906001600160401b0319161790556114685f805160206154d4833981519152600160401b68ff000000000000000019825416179055565b6129b7565b5f805160206154d4833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b905084861611155f611400565b60405162dc149f60e41b8152600490fd5b346105105760203660031901126105105760206107636004356114ea8161063c565b612acb565b34610510576020366003190112610510576004355f526006602052602060405f2054604051908152f35b34610510575f3660031901126105105760015465ffffffffffff61154f818360a01c1692611545612b62565b9060d01c9061295d565b82018092116109fc5761156360209261312c565b60405191168152f35b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610510575f36600319011261051057602060ff60035460a01c166040519015158152f35b34610510576020366003190112610510576004356115f28161063c565b60018060a01b03165f52600e602052602061076360405f206140d8565b34610510575f36600319011261051057611627613abb565b5f8051602061543483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346105105760403660031901126105105760043560243561169681610b26565b61169e612e0e565b6003546116bb906001600160a01b03165b6001600160a01b031690565b3303611936576116c9612b62565b906116d381612b96565b9082151580611925575b801561191c575b61190a576105b3937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611716614064565b9461173161172382612970565b5f52600660205260405f2090565b54908281036118245750611745818761297e565b8381188185100281189687806117dd575b50505050505b836117a9575b6040805191825265ffffffffffff929092166020820152908101839052606090a161179960015f805160206154b483398151915255565b6040519081529081906020820190565b5f546117d89085906117c69060101c6001600160a01b03166116af565b6001546001600160a01b031690613f00565b611762565b61181993610ffe8361105b6118036117fc611723986118139888613afd565b8096612950565b9461180d4261312c565b92612950565b92612970565b555f80808087611756565b9150611838825f52600660205260405f2090565b5490611848816110be848a61297e565b908482188286100282189788611863575b505050505061175c565b6118d8938361188b936118988c6118936118816118c9998884613afd565b9788958584613afd565b948592612950565b612950565b938484106118e3575b610ffe9061105b6118b795969761180d4261312c565b6118c361172387612970565b55612950565b915f52600660205260405f2090565b555f80808080611859565b916118ff610ffe916118f9866118b79798612950565b9061297e565b8594509290506118a1565b604051635e18d2a560e01b8152600490fd5b508282116116e4565b5061192f83612942565b82106116dd565b60405163dabc4ad960e01b8152600490fd5b34610510575f3660031901126105105760015465ffffffffffff808260a01c1691611971612b62565b600181018091116109fc5761154f9160d01c9061295d565b34610510575f366003190112610510576020610763612b62565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610510576020366003190112610510576004356119f88161063c565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610510576020366003190112610510576020610763600435611a3d81610b26565b612b96565b3461051057604036600319011261051057600435611a5f8161063c565b6024356001600160401b038082116105105736602383011215610510578160040135908111610510573660248260051b84010111610510576105b3926024611799930190612bd1565b34610510576020610763611abb36611278565b9061327b565b3461051057602080600319360112610510576004803590611ae18261063c565b611ae9612e0e565b60025460a01c60ff16611c6b576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f91611c3e575b5015611c2e5760405163fbfa77cf60e01b8152838516949082818581895afa928315610dd2575f93611bff575b505030911603611bf05750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610d3d60015f805160206154b483398151915255565b60405163b9f0f17160e01b8152fd5b611c1f929350803d10611c27575b611c178183610b85565b810190612d2a565b905f80611b83565b503d611c0d565b506040516324e5af8d60e21b8152fd5b611c5e9150823d8411611c64575b611c568183610b85565b810190612d0a565b5f611b56565b503d611c4c565b604051631380833b60e01b8152fd5b34610510575f366003190112610510576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610510575f36600319011261051057611cd6612b62565b611cde614064565b90805f52600660205260405f205482018092116109fc57600181018091116109fc575f52600660205260405f205481018091116109fc57602090604051908152f35b34610510575f366003190112610510575f80516020615434833981519152546040516001600160a01b039091168152602090f35b3461051057604036600319011261051057602060ff611da6602435611d788161063c565b6004355f525f80516020615494833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610510575f366003190112610510576040515f5f80516020615414833981519152805490611de0826128f6565b8085529160209160019182811690811561060f5750600114611e0c576105b3866105a781880382610b85565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510611e51575050505081016020016105a7826105b35f610597565b8054868601840152938201938101611e34565b346105105760408060031936011261051057600435611e828161063c565b602435906001600160401b038211610510575f8091611ea8611f0c943690600401610a29565b908187519283928337810184815203915af43d15611f1457611efe3d611ecd81610bd5565b90611eda86519283610b85565b81523d5f602083013e5b845194859315156020850152808401526060830190610514565b03601f198101835282610b85565b805190602001fd5b611efe6060611ee4565b34610510575f36600319011261051057602060ff5f5460081c166040519015158152f35b34610510575f3660031901126105105760206040515f8152f35b34610510575f3660031901126105105760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461051057604036600319011261051057600435611fb38161063c565b602435611fbf81610e5d565b611fc7612e0e565b611fcf6134b0565b6001600160a01b038216918215612077575f8381526005602052604090205460ff16151582151514610ef0576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161205e9161204c908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610d3d60015f805160206154b483398151915255565b604051630da30f6560e31b8152600490fd5b346105105760403660031901126105105760206120cd6024356120ab8161063c565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461051057604036600319011261051057602060ff611da66024356120fa8161063c565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105105760403660031901126105105761214660043561213c8161063c565b6024359033612fcd565b602060405160018152f35b34610510576020806003193601126105105760048035906121718261063c565b612179612e0e565b60035460a01c60ff166122f9576001600160a01b038281169390846121e7575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610d3d60015f805160206154b483398151915255565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dd2575f916122dc575b50156122cb5760405163fbfa77cf60e01b815282818581895afa928315610dd2575f936122ac575b50503091160361229d5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080612199565b604051633f3e089160e21b8152fd5b6122c3929350803d10611c2757611c178183610b85565b905f8061226a565b60405163dabc4ad960e01b81528390fd5b6122f39150833d8511611c6457611c568183610b85565b5f612242565b60405163703fe2e560e01b8152fd5b34610510576040366003190112610510576004356123258161063c565b60243590612331612e0e565b6001600160a01b03918183169081156123b7576123626105b39461235483613f4f565b9485915f5460101c16613f00565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f805160206154b4833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b34610510576020366003190112610510576004355f526007602052602060405f2054604051908152f35b34610510575f366003190112610510576003546040516001600160a01b039091168152602090f35b34610510575f366003190112610510576020610763614064565b3461051057602036600319011261051057600435612451612e0e565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff16156124f557508060045414610ef0576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f805160206154b483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b34610510576020366003190112610510576004356125308161063c565b612538612b62565b61254182612acb565b9161254c8183612db0565b83018093116109fc57600182018092116109fc5761256991612db0565b81018091116109fc57602090604051908152f35b34610510575f366003190112610510576002546040516001600160a01b039091168152602090f35b3461051057604036600319011261051057610d3d6024356004356125c88261063c565b805f525f805160206154948339815191526020526125ec600160405f200154613507565b61383d565b34610510575f366003190112610510575f5460405160109190911c6001600160a01b03168152602090f35b34610510575f3660031901126105105760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105105760403660031901126105105760206120cd6004356126788161063c565b610692602435916126888361063c565b6119a3565b34610510575f366003190112610510576020600454604051908152f35b34610510576060366003190112610510576004356126c78161063c565b602435906126d482610b26565b6001600160401b0391604435838111610510576126f5903690600401610a29565b9092604093845161270581610b4a565b60608152606060208201526060868201529280612764575b6105b386612755878761274f612736898484519161298b565b928561274660208501518361327b565b9301519061319a565b9161414c565b90519081529081906020820190565b8101939250602081850312610510578035908682116105105701926060848203126105105784519561279587610b4a565b843581811161051057826127aa918701610c26565b8752602085013581811161051057826127c4918701610c26565b602088015285850135908111610510576105b3966127ed61274f93612736936127559801610c26565b8782015293945061271d565b3461051057602036600319011261051057610d3d6004356128198161063c565b612821613abb565b612d3f565b34610510576040366003190112610510576004356128438161063c565b60243561284e612e0e565b6001600160a01b038216156108795780156128ba5761287d61286e613feb565b612876614064565b9083614bfe565b335f908152600e60205260409020909290612897906140d8565b83116128a85761082a918391612e3d565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105105760403660031901126105105760206107636024356128ee8161063c565b600435612db0565b90600182811c92168015612924575b602083101461291057565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612905565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116109fc57565b919082039182116109fc57565b818102929181159184041417156109fc57565b90600182018092116109fc57565b919082018092116109fc57565b6001600160a01b03165f908152600e60205260409020610549929190613330565b6040513d5f823e3d90fd5b916129f4926129c461458d565b6129cc61458d565b60015f805160206154b4833981519152556001600160a01b038116612ab1575b503691610bf0565b80516020908201818101828483031261051057828401516001600160401b039485821161051057019283926101a093849103126105105760405193612a3885610b4a565b612a44838383016138e9565b8552610180810151868111610510578383612a61928401016139b2565b9382860194855281015195861161051057612a89612aa89383610bd398612aa39401016139b2565b94604081019586525191611efe60405193849283016139f8565b6145d0565b5190519061498c565b612ac590612abd61458d565b61282161458d565b5f6129ec565b6001600160a01b03165f908152600e60205260409020612aea906140d8565b612af2614064565b612afa613feb565b90600181018091116109fc57600182018092116109fc5761054992613afd565b65ffffffffffff91821690821603919082116109fc57565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612b5d57160490565b612b32565b612b6b4261312c565b612b92600154612b8865ffffffffffff93848360a01c1690612b1a565b9060d01c90612b46565b1690565b6001549065ffffffffffff91828160a01c16918284821610612bbf57612b9292612b8891612b1a565b60405163b7d0949760e01b8152600490fd5b90612bda612e0e565b5f926001600160a01b0383169283156123b7578115612c92575f5b828110612c7057505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612c45918491612c409060101c6001600160a01b03166116af565b613f00565b612c56604051928392339684612ccd565b0390a390610bd360015f805160206154b483398151915255565b94612c8b6001916118f9612c85898789612cb8565b35613f4f565b9501612bf5565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612cc85760051b0190565b612ca4565b604080825281018390529392916001600160fb1b0381116105105760209160609160051b809183880137850101930152565b5190610bd382610e5d565b90816020910312610510575161054981610e5d565b5190610bd38261063c565b9081602091031261051057516105498161063c565b6001600160a01b03908116908115612d98575f8051602061543483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b90612dd690825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116109fc57600182018092116109fc5761054992613afd565b5f805160206154b48339815191526002815414612e2b5760029055565b604051633ee5aeb560e01b8152600490fd5b335f908152600e6020526040812093949390929190612e7c90612e5f4261312c565b335f908152600e602052604090206110c3908990611893906140d8565b5050612e96612e8a4261312c565b61107087611893613feb565b5050612eb0612ea44261312c565b61105b84611893614064565b505081612f4282610692612eca612ec5612b62565b612970565b612f21612edf825f52600660205260405f2090565b54612ef2835f52600760205260405f2090565b54612f09612f0183838b61414c565b9a8b9361297e565b612f1b855f52600660205260405f2090565b5561297e565b612f33825f52600760205260405f2090565b555f52600860205260405f2090565b612f4d84825461297e565b9055604080519182526020820187905281018390526001600160a01b03919091169033907febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f90606090a36040519384529233907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080602081015b0390a3565b916001600160a01b03808416929083156131145781169384156130fc576001600160a01b0381165f908152600e6020526040902061300a906140d8565b908382106130ca57612fc89261306c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95936130596130b89460018060a01b03165f52600e60205260405f2090565b90856130644261312c565b910391613e42565b50506001600160a01b0381165f908152600e6020526040902090836130b16107f46130964261312c565b6001600160a01b039094165f908152600e6020526040902090565b0191613e42565b50506040519081529081906020820190565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161313f571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b610510913691610bf0565b90816020910312610510575163ffffffff811681036105105790565b90600163ffffffff809316019182116109fc57565b9080511561327157806020806131b593518301019101613169565b6131be816143bd565b906131cf825165ffffffffffff1690565b9065ffffffffffff80851692168281146132655782119182613205575b50506131fc57506105499061416d565b60209150015190565b909150613213600a54612942565b63ffffffff83161491821561322c575b50505f806131ec565b61325d91925061324661324161325292613185565b6143bd565b5165ffffffffffff1690565b65ffffffffffff1690565b115f80613223565b50505060209150015190565b506105499061416d565b90805115613326578060208061329693518301019101613169565b61329f81614447565b906132b0825165ffffffffffff1690565b9065ffffffffffff808516921682811461326557821191826132dd575b50506131fc575061054990614234565b9091506132eb600c54612942565b63ffffffff831614918215613304575b50505f806132cd565b61331e91925061324661331961325292613185565b614447565b115f806132fb565b5061054990614234565b918051156133f2578060208061334b93518301019101613169565b9161335683826144c7565b92613367845165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261339d575b50506133945761054992506142f4565b50506020015190565b9091506133aa8354612942565b63ffffffff8316149182156133c3575b50505f80613384565b6133de9192506132466133d861325292613185565b856144c7565b115f806133ba565b50505050506020015190565b50610549916142f4565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b5416156124f55750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff9061344f565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff9061344f565b5f8181525f8051602061549483398151915260209081526040808320338452909152902060ff9061344f565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206154948339815191529060ff166135de575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206154948339815191529060ff905b54166136b3575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206154948339815191529060ff9061364f565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206154948339815191529060ff9061364f565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206154948339815191529060ff9061364f565b5f8181525f80516020615494833981519152602081815260408084206001600160a01b038716855290915290912060ff9061364f565b5f8181525f80516020615494833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156136b3575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b90816020910312610510575190565b5190610bd382610b26565b919082610160910312610510576138fe610ba6565b9161390881612d1f565b835261391660208201612d1f565b6020840152613927604082016138de565b604084015261393860608201612cff565b606084015261394960808201612cff565b608084015260a081015160a084015261396460c08201612d1f565b60c084015261397560e08201612d1f565b60e0840152610100613988818301612d1f565b9084015261012061399a818301612d1f565b908401526139ac610140809201612d1f565b90830152565b81601f82011215610510578051906139c982610bd5565b926139d76040519485610b85565b8284526020838301011161051057815f9260208093018386015e8301015290565b81516001600160a01b0316815261016081019291610bd391906020818101516001600160a01b03169083015260408181015165ffffffffffff169083015260608181015115159083015260808181015115159083015260a0818101519083015260c0808201516001600160a01b03169083015260e0818101516001600160a01b031690830152610100818101516001600160a01b031690830152610120818101516001600160a01b031690830152610140908101516001600160a01b0316910152565b5f80516020615434833981519152546001600160a01b03163303613adb57565b60405163118cdaa760e01b8152336004820152602490fd5b8115612b5d570490565b91818302915f1981850993838086109503948086039514613b7d5784831115613b705790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614ab1565b5050906105499250613af3565b600b54811015612cc857600b5f525f8051602061547483398151915201905f90565b600d54811015612cc857600d5f525f8051602061545483398151915201905f90565b8054821015612cc8575f5260205f2001905f90565b600d54600160401b811015610b65576001810180600d55811015612cc857600d5f525f805160206154548339815191520155565b600b54600160401b811015610b65576001810180600b55811015612cc857600b5f525f805160206154748339815191520155565b90815491600160401b831015610b655782613c6e916001610bd395018155613bce565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613d31575b50613c9e614ac1565b50929091815492613cad614064565b9481613d1c575b5015613cf957505f1982018281116109fc5781541115612cc8575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613d0d926001600160d01b03169150614f2b565b5050613d1883613be3565b9190565b65ffffffffffff83811691161490505f613cb4565b600160401b811015610b655760018101808455811015612cc8575f908382525f8051602061545483398151915201555f613c95565b919091600b9081548015613e0d575b50613d7e614b16565b50929091815492613d8d613feb565b9481613df8575b5015613dd957505f1982018281116109fc5781541115612cc8575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ded926001600160d01b03169150614ffb565b5050613d1883613c17565b65ffffffffffff83811691161490505f613d94565b600160401b811015610b655760018101808455811015612cc8575f908382525f8051602061547483398151915201555f613d75565b90929192600182019081548015613ed0575b5084613e5f84614b6b565b50949092845493613e6f836140d8565b9681613ebb575b5015613e98575050505f1981019081116109fc57613c6e8591613d1893613bce565b613d18949293613eb4926001600160d01b03909116919061509a565b5050613c4b565b65ffffffffffff83811691161490505f613e76565b600160401b811015610b6557806001613eec9201845583613bce565b8154905f199060031b1b191690555f613e54565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610b6557610bd392604052614ba4565b90613f58612b62565b821015613fd9575f82815260096020908152604080832033845290915290205460ff16613fc757613f893383612db0565b918215613fb5575f9081526009602090815260408083203384529091529020805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b600a548061402b57505f5b6001600160d01b0381161561402657600b54811015612cc857600b5f525f80516020615474833981519152015490565b505f90565b805f198101116109fc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613ff6565b600c548061409f57505f5b6001600160d01b0381161561402657600d54811015612cc857600d5f525f80516020615454833981519152015490565b805f198101116109fc57600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c61406f565b80548061410757505f5b6001600160d01b038116156135de5760016140fd9201613bce565b90549060031b1c90565b5f199080828101116109fc57825f5260205f2001015460301c6140e2565b906001600160a01b03808316156106f7578116156106df57610692614149926119a3565b55565b9190600181018091116109fc57600182018092116109fc5761054992613afd565b600a54905f8291600584116141db575b614187935061527f565b806141aa57505f5b6001600160d01b03811615614026576140fd61054991613b8a565b6141cf6141b96141d692612942565b600a5f525f805160206153f48339815191520190565b5460301c90565b61418f565b91926141e681615154565b81039081116109fc5761418793600a5f5265ffffffffffff80835f805160206153f4833981519152015416908516105f1461422257509161417d565b92915061422e90612970565b9061417d565b600c54905f82916005841161429b575b61424e93506152e8565b8061427157505f5b6001600160d01b03811615614026576140fd61054991613bac565b6141cf61428061429692612942565b600c5f525f805160206153b48339815191520190565b614256565b91926142a681615154565b81039081116109fc5761424e93600c5f5265ffffffffffff80835f805160206153b4833981519152015416908516105f146142e2575091614244565b9291506142ee90612970565b90614244565b908154905f829160058411614357575b61430f935084615351565b8061433757505f905b6001600160d01b038216156135de576105499160016140fd9201613bce565b6141cf61434661435192612942565b835f5260205f200190565b90614318565b919261436281615154565b81039081116109fc5761430f93855f5265ffffffffffff808360205f20015416908516105f14614393575091614304565b92915061439f90612970565b90614304565b604051906143b282610b6a565b5f6020838281520152565b6143c56143a5565b506143ce6143a5565b50600a54811015612cc857600a5f526020604051916143ec83610b6a565b5f805160206153f483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612cc857600b5f525f8051602061547483398151915201546040519161443d83610b6a565b8252602082015290565b61444f6143a5565b506144586143a5565b50600c54811015612cc857600c5f5260206040519161447683610b6a565b5f805160206153b483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612cc857600d5f525f8051602061545483398151915201546040519161443d83610b6a565b90602060016144eb614517936144db6143a5565b506144e46143a5565b5085613bce565b5093604051946144fa86610b6a565b549465ffffffffffff86169586825260301c938491015201613bce565b9054906040519261452784610b6a565b835260031b1c602082015290565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610b6557610bd392604052614ba4565b60ff5f805160206154d48339815191525460401c16156145a957565b604051631afcd79f60e31b8152600490fd5b906101608282031261051057610549916138e9565b6145e390602080825183010191016145bb565b80516001600160a01b03919082161561497a57604080820165ffffffffffff614612825165ffffffffffff1690565b16156149695760c083018051909290614633906001600160a01b03166116af565b1561481a575b5091614766610140926147056146e06147c49661468761465f875160018060a01b031690565b5f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020860151600180546001600160a01b0319166001600160a01b039092169190911790556132466146b74261312c565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6147256147156060850151151590565b60ff80195f541691151516175f55565b61474c6147356080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61475960a0840151600455565b516001600160a01b031690565b84811661480a575b5060e08101516001600160a01b03168481166147fa575b506101008101516001600160a01b03168481166147ea575b506101208101516001600160a01b03168481166147da575b5001516001600160a01b031690565b9081166147ce5750565b6147d790613798565b50565b6147e390613729565b505f6147b5565b6147f3906136ba565b505f61479d565b614803906135e4565b505f614785565b61481390613533565b505f61476e565b60e0840151614831906001600160a01b03166116af565b15614906575b61012084015161484f906001600160a01b03166116af565b614639576080840151156148bc5760a0840151158061489d575b61488d575091614766610140926147056146e06147c4965b94965050509250614639565b5163183c854560e21b8152600490fd5b506101408401516148b6906001600160a01b03166116af565b15614869565b60a0840151158015906148e6575b61488d575091614766610140926147056146e06147c496614881565b506101408401516148ff906001600160a01b03166116af565b15156148ca565b60608401511561493c57610100840151614928906001600160a01b03166116af565b614837575163183c854560e21b8152600490fd5b610100840151614954906001600160a01b03166116af565b15614837575163183c854560e21b8152600490fd5b81516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b919061499661458d565b61499e61458d565b82516001600160401b038111610b65575f805160206153d4833981519152906149d0816149cb84546128f6565b614c37565b602080601f8311600114614a1757509080614a0592610bd396975f92614a0c575b50508160011b915f199060031b1c19161790565b9055614d29565b015190505f806149f1565b90601f19831696614a555f805160206153d48339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab090565b925f905b898210614a9957505090839291600194610bd3989910614a81575b505050811b019055614d29565b01515f1960f88460031b161c191690555f8080614a74565b80600185968294968601518155019501930190614a59565b634e487b715f526020526024601cfd5b600c5480614ad257505f905f905f90565b805f198101116109fc57600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a5480614b2757505f905f905f90565b805f198101116109fc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b805480614b7c5750505f905f905f90565b5f199181838101116109fc575f5260205f2001015460019165ffffffffffff82169160301c90565b905f602091828151910182855af1156129ac575f513d614bf557506001600160a01b0381163b155b614bd35750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614bcc565b9190600181018091116109fc57600182018092116109fc57614c21828285613afd565b928215612b5d5709151581018091116109fc5790565b601f8111614c43575050565b5f805160206153d48339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310614ca6575b601f0160051c01905b818110614c9b575050565b5f8155600101614c90565b9091508190614c87565b601f8111614cbc575050565b5f805160206154148339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310614d1f575b601f0160051c01905b818110614d14575050565b5f8155600101614d09565b9091508190614d00565b9081516001600160401b038111610b65575f8051602061541483398151915290614d5c81614d5784546128f6565b614cb0565b602080601f8311600114614d9157508190614d8d9394955f92614a0c5750508160011b915f199060031b1c19161790565b9055565b90601f19831695614dcf5f805160206154148339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b888210614e0a57505083600195969710614df2575b505050811b019055565b01515f1960f88460031b161c191690555f8080614de8565b80600185968294968601518155019501930190614dd3565b600c5490600160401b821015610b65576001820180600c55821015612cc857600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206153b483398151915290910155565b600a5490600160401b821015610b65576001820180600a55821015612cc857600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f805160206153f483398151915290910155565b8054600160401b811015610b6557614eed91600182018155613bce565b614f1857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614fd257614280614f4391612942565b9081549165ffffffffffff90818416918316808311614fc057869203614f8857614f8192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614fbb90614fa7614f99610bc6565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614e22565b614f81565b604051632520601d60e01b8152600490fd5b50614ff690614fe2614f99610bc6565b6001600160d01b0384166020820152614e22565b5f9190565b600a549192918015615076576141b961501391612942565b9081549165ffffffffffff90818416918316808311614fc05786920361505157614f8192509065ffffffffffff82549181199060301b169116179055565b5050614fbb90615062614f99610bc6565b6001600160d01b0385166020820152614e79565b50614ff690615086614f99610bc6565b6001600160d01b0384166020820152614e79565b8054929392801561512f576150b16150bc91612942565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614fc0578793036150fb5750614f8192509065ffffffffffff82549181199060301b169116179055565b915050614fbb9161511b61510d610bc6565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614ed0565b5090614ff69161514061510d610bc6565b6001600160d01b0385166020830152614ed0565b600181111561054957600181600160801b81101561526d575b61521561520b6152016151f76151ed6151e361522197600488600160401b61521c9a1015615260575b640100000000811015615253575b62010000811015615246575b61010081101561523a575b601081101561522e575b1015615226575b60030260011c6151dc818b613af3565b0160011c90565b6151dc818a613af3565b6151dc8189613af3565b6151dc8188613af3565b6151dc8187613af3565b6151dc8186613af3565b8093613af3565b821190565b900390565b60011b6151cc565b811c9160021b916151c5565b60081c91811b916151bb565b60101c9160081b916151b0565b60201c9160101b916151a4565b60401c9160201b91615196565b50600160401b9050608082901c61516d565b905b82811061528d57505090565b9091808216906001818418811c83018093116109fc57600a5f5265ffffffffffff80845f805160206153f4833981519152015416908616105f146152d5575050915b90615281565b9093925081018091116109fc57906152cf565b905b8281106152f657505090565b9091808216906001818418811c83018093116109fc57600c5f5265ffffffffffff80845f805160206153b4833981519152015416908616105f1461533e575050915b906152ea565b9093925081018091116109fc5790615338565b91905b8382106153615750505090565b909192808316906001818518811c83018093116109fc57855f5265ffffffffffff808460205f20015416908516105f146153a0575050925b9190615354565b9094935081018091116109fc579161539956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c752c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a852c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace049016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220b9bc961cf9d9c9c89aa268126ef0b84208d178b706ef9625b4f4a0a71d8201c864736f6c63430008190033","sourceMap":"652:3172:110:-: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;:::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;652:3172:110;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;652:3172:110;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:110;;;;;;;;-1:-1:-1;;652:3172:110;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;652:3172:110;;;;;;;-1:-1:-1;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;652:3172:110;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;652:3172:110;;;;;;;;;;;;;;;;11334:29:27;652:3172:110;;;;;;11415:31:27;652:3172:110;966:10:28;11415:31:27;;652:3172:110;;;10117:4:27;652:3172:110;;;11235:90:27;652:3172:110;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;652:3172:110;11283:31:27;;652:3172:110;;;11283:31:27;11137:89;652:3172:110;;-1:-1:-1;;;11183:32:27;;11158:1;652:3172:110;11183:32:27;;652:3172:110;;;11183:32:27;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;;966:38:109;652:3172:110;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;4803:22:109;;:::i;:::-;652:3172:110;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;821:37:109;652:3172:110;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;5525:21:108;5521:75;;5634:10;652:3172:110;;;;5606:15:109;652:3172:110;;;;;5606:33:109;;;:::i;:24::-;:33;:::i;:::-;5610:35:108;;5606:88;;1057:70:100;5173:21:109;;:::i;:::-;4803:22;;:::i;:::-;1057:70:100;;;:::i;:::-;5801:20:108;;;5797:82;;5904:43;;;;:::i;:::-;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;652:3172:110;3860:283:30;3426:1;652:3172:110;;;;;;;;;;;;;;5797:82:108;652:3172:110;;-1:-1:-1;;;;;;5844:24:108;;652:3172:110;;5844:24:108;5606:88;652:3172:110;;-1:-1:-1;;;5668:15:108;;652:3172:110;;5668:15:108;5521:75;652:3172:110;;-1:-1:-1;;;5569:16:108;;652:3172:110;;5569:16:108;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;652:3172:110;;11910:37:27;;;11906:310;;652:3172:110;6198:5:27;;;;:::i;:::-;652:3172:110;;4867:13:27;652:3172:110;;;;;11906:310:27;11967:24;;;11963:130;;12185:5;652:3172:110;6198:5:27;652:3172:110;;966:10:28;12185:5:27;;:::i;:::-;11906:310;;11963:130;652:3172:110;;-1:-1:-1;;;12018:60:27;;966:10:28;652:3172:110;12018:60:27;;652:3172:110;;;;;;;;;;;;;;;12018:60:27;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;;4919:24:23;652:3172:110;-1:-1:-1;652:3172:110;4919:24:23;652:3172:110;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;4084:14:109;;:::i;:::-;4112:10;;4108:65;;4190:17;652:3172:110;;;;;;11930:17:27;;;652:3172:110;;;;;;;4210:27:109;652:3172:110;;;4210:27:109;;:::i;:::-;652:3172:110;;;;;;;4189:60:109;652:3172:110;4189:60:109;;:::i;:::-;652:3172:110;;;;;;;;;;;;;;;;;;:::i;4108:65:109:-;652:3172:110;;-1:-1:-1;;;4145:17:109;;652:3172:110;;4145:17:109;652:3172:110;;;;-1:-1:-1;;;;;652:3172:110;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;1673:7:84;-1:-1:-1;;;;;652:3172:110;1659:10:84;:21;1655:71;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;6431:44:26;;;;;652:3172:110;6427:105:26;;;;1809:204:84;6427:105:26;;652:3172:110;;-1:-1:-1;;;6498:23:26;;652:3172:110;;6498:23:26;6431:44;652:3172:110;;;;6450:25:26;;;-1:-1:-1;6431:44:26;;;;;1655:71:84;652:3172:110;;-1:-1:-1;;;1703:12:84;;652:3172:110;;1703:12:84;652:3172:110;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:110;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;5383:59:109;652:3172:110;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;-1:-1:-1;652:3172:110;;;5383:15:109;652:3172:110;;;;;5383:59:109;:::i;652:3172:110:-;;;;;;-1:-1:-1;;652:3172:110;;;;;;655:32:84;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;5350:25:23;652:3172:110;;;;;;;:::i;:::-;;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;3202:4:23;4919:24;652:3172:110;-1:-1:-1;652:3172:110;4919:24:23;652:3172:110;3202:4:23;:::i;:::-;5350:25;:::i;:::-;652:3172:110;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;-1:-1:-1;;;1109:37:110;;652:3172;1109:37;;652:3172;;;;;;;;-1:-1:-1;;;;;652:3172:110;1109:37;;;;;;652:3172;1109:37;;;652:3172;;;;;;;;;;;;;1109:37;;;;;;;;;;;;;;;;:::i;:::-;;;652:3172;;;;;;;;;;;;;1109:37;;;;;;-1:-1:-1;1109:37:110;;;;:::i;652:3172::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;652:3172:110;;6441:34:23;6437:102;;6549:37;652:3172:110;;;6549:37:23;:::i;6437:102::-;652:3172:110;;-1:-1:-1;;;6498:30:23;;652:3172:110;;6498:30:23;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;1524:22:108;652:3172:110;;;;1524:46:108;;;652:3172:110;;;;;;;;;;;1524:46:108;-1:-1:-1;1550:20:108;652:3172:110;;;;;1524:46:108;;652:3172:110;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;652:3172:110;;;;;;;;;;;9542:26:108;9538:76;;-1:-1:-1;;652:3172:110;;;;;-1:-1:-1;652:3172:110;;;;;;9665:27:108;;652:3172:110;;9665:27:108;1949:1:30;-1:-1:-1;;;;;;;;;;;652:3172:110;;9538:76:108;652:3172:110;;-1:-1:-1;;;9591:12:108;;652:3172:110;;9591:12:108;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;1718:31:109;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;;;3474:24:108;;3470:81;;-1:-1:-1;652:3172:110;;;;3565:55:108;;;652:3172:110;3561:118:108;;652:3172:110;;-1:-1:-1;;;3713:43:108;;;3750:4;3713:43;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;3713:43:108;;;;;;;;;;-1:-1:-1;3713:43:108;;;652:3172:110;;3829:6:108;652:3172:110;;;3750:4:108;;3802:10;;3829:6;;:::i;:::-;-1:-1:-1;652:3172:110;;;3864:43:108;;;3750:4;3864:43;;;652:3172:110;;;;;;;;;;3864:43:108;652:3172:110;;;;;;3864:43:108;652:3172:110;;;;;3864:43:108;;;;;;;:59;:43;-1:-1:-1;3864:43:108;;;652:3172:110;3864:59:108;;;:::i;:::-;3938:20;;;3934:79;;652:3172:110;;;;;4027:64:108;;652:3172:110;4023:123:108;;5173:21:109;;652:3172:110;5173:21:109;4502:93:108;5173:21:109;;:::i;:::-;4803:22;4426:66:108;4803:22:109;;:::i;:::-;4349:67:108;390:70:100;;;;;:::i;:::-;837:15:75;4385:30:108;837:15:75;819:34;837:15;819:34;:::i;:::-;4385:30:108;;:::i;:::-;4349:67;;:::i;:::-;837:15:75;;4463:28:108;837:15:75;819:34;837:15;819:34;:::i;4463:28:108:-;4426:66;;:::i;:::-;-1:-1:-1;;;;;;;652:3172:110;;;;;;5606:15:109;652:3172:110;;;;;837:15:75;4553:41:108;837:15:75;5606:33:109;:24;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;;;;;5606:15:109;652:3172:110;;;;;;;5606:33:109;4553:41:108;:::i;:::-;4502:93;;:::i;:::-;-1:-1:-1;;652:3172:110;;;;;;;;;;;;;3802:10:108;;4611:62;;652:3172:110;;4611:62:108;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:110;3860:283:30;3426:1;652:3172:110;;;;;-1:-1:-1;;1808:46:110;;652:3172;;1808:46;652:3172;;;;;;;;;;;;;;;;;;;4023:123:108;652:3172:110;;-1:-1:-1;;;4114:21:108;;;4027:64;5173:21:109;4045:31:108;5173:21:109;;;:::i;4045:31:108:-;652:3172:110;;-1:-1:-1;4027:64:108;;3934:79;-1:-1:-1;652:3172:110;;-1:-1:-1;;;3981:21:108;;;3864:43;;;;;;-1:-1:-1;3864:43:108;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3713;3829:6;3713:43;;;;;;;;;;;;;;;:::i;:::-;;;;;3561:118;-1:-1:-1;652:3172:110;;-1:-1:-1;;;3643:25:108;;;3565:55;-1:-1:-1;3609:10:108;652:3172:110;;;;3586:22:108;652:3172:110;;;;;;;;3585:35:108;3565:55;;3470:81;652:3172:110;;-1:-1:-1;;;3521:19:108;;;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;1805:27:109;652:3172:110;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;1968:34:109;652:3172:110;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;:::i;:::-;;;;;4622:48:109;652:3172:110;;;:::i;:::-;4622:48:109;;:::i;652:3172:110:-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;652:3172:110;;;;;;;;;;;;;10370:24:108;10366:74;;-1:-1:-1;;652:3172:110;;;;;;;;-1:-1:-1;652:3172:110;;;;;;10489:25:108;;652:3172:110;;10489:25:108;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:110;3860:283:30;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;-1:-1:-1;;;;;;;;;;;;;;;;652:3172:110;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;652:3172:110;;;;;;734:29:84;730:87;;652:3172:110;;;;;6431:44:26;;;;;652:3172:110;6427:105:26;;;6656:20;652:3172:110;6656:20:26;652:3172:110;1167:340:84;652:3172:110;;;;-1:-1:-1;;;;;652:3172:110;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;652:3172:110;;;;;;;;;6575:22:26;1167:340:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;652:3172:110;;-1:-1:-1;;652:3172:110;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;6656:20:26;;;;652:3172:110;6431:44:26;652:3172:110;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:84;652:3172:110;;-1:-1:-1;;;786:20:84;;652:3172:110;;786:20:84;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;-1:-1:-1;652:3172:110;2431:59:109;652:3172:110;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;3875:17:109;652:3172:110;;3895:30:109;652:3172:110;;;;;3895:14:109;;;:::i;:::-;652:3172:110;;;3895:30:109;;:::i;:::-;652:3172:110;;;;;;;3874:63:109;652:3172:110;3874:63:109;;:::i;:::-;652:3172:110;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;1200:42:109;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;2136:32:109;652:3172:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;652:3172:110;5606:15:109;652:3172:110;;;5606:33:109;652:3172:110;-1:-1:-1;652:3172:110;5606:33:109;:::i;652:3172:110:-;;;;;;-1:-1:-1;;652:3172:110;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;652:3172:110;;-1:-1:-1;;;;;;652:3172:110;;;;;;;-1:-1:-1;;;;;652:3172:110;3975:40:24;652:3172:110;;3975:40:24;652:3172:110;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;7131:7:108;652:3172:110;7117:21:108;;-1:-1:-1;;;;;652:3172:110;;-1:-1:-1;;;;;652:3172:110;;;7117:21:108;:10;:21;7113:71;;7218:14;;:::i;:::-;7265:25;;;;:::i;:::-;7305:17;;;;:53;;;652:3172:110;7304:87:108;;;;652:3172:110;7300:146:108;;652:3172:110;5173:21:109;9310:48:108;5173:21:109;;;:::i;:::-;7540:17:108;7528:30;7540:17;;;:::i;:::-;652:3172:110;;7528:11:108;652:3172:110;;;;;;;7528:30:108;652:3172:110;;7572:29:108;;;;;7642:30;;;;;:::i;:::-;3066:5:70;;;3463;;;652:3172:110;3060:42:70;;7752:17:108;;;7748:384;;7568:1615;;;;;;;9197:17;9193:102;;7568:1615;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;9310:48:108;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:110;3860:283:30;3426:1;652:3172:110;;;;;;;;;;;;;9193:102:108;-1:-1:-1;652:3172:110;9270:13:108;;652:3172:110;;9230:18:108;;652:3172:110;;-1:-1:-1;;;;;652:3172:110;;;9230:18:108;7556:1;652:3172:110;-1:-1:-1;;;;;652:3172:110;9270:13:108;;:::i;:::-;9193:102;;7748:384;8045:29;7813:50;7962:65;7813:50;7998:28;7914:29;7813:50;8057:16;7813:50;8077:40;7813:50;;;:::i;:::-;7914:29;;;:::i;:::-;837:15:75;819:34;837:15;819:34;:::i;:::-;7998:28:108;;:::i;8077:40::-;8057:16;;:::i;8045:29::-;652:3172:110;7748:384:108;;;;;;;7568:1615;8185:26;;;;652:3172:110;;7528:11:108;652:3172:110;;;;;;;8185:26:108;652:3172:110;8250:27:108;:45;:27;;;;;:::i;:45::-;3463:5:70;3066;;;3463;;;652:3172:110;3060:42:70;;8375:17:108;;8371:802;;7568:1615;;;;;;;;8371:802;9096:26;8436:50;;8537:53;8436:50;8637:54;8436:50;8637:29;8436:50;9125:33;8436:50;;;;:::i;:::-;8537:53;;;;;;:::i;:::-;8637:29;;;;:::i;:::-;:54;:::i;:::-;8714:33;;;;8710:194;;8371:802;8922:65;837:15:75;8958:28:108;9038:40;837:15:75;;;819:34;837:15;819:34;:::i;9038:40:108:-;9005:30;9017:17;;;:::i;9005:30::-;652:3172:110;9125:33:108;:::i;:::-;9096:26;652:3172:110;;7528:11:108;652:3172:110;;;;;;;9096:26:108;652:3172:110;8371:802:108;;;;;;;8710:194;8797:33;8771:59;8922:65;8797:33;;;9038:40;8797:33;;;:::i;:::-;8771:59;;:::i;:::-;8852:33;;-1:-1:-1;8852:33:108;;-1:-1:-1;8710:194:108;;7300:146;652:3172:110;;-1:-1:-1;;;7414:21:108;;652:3172:110;;7414:21:108;7304:87;7363:28;;;;7304:87;;7305:53;7341:17;;;;:::i;:::-;7326:32;;7305:53;;7113:71;652:3172:110;;-1:-1:-1;;;7161:12:108;;652:3172:110;;7161:12:108;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;4384:17:109;652:3172:110;;;;;;;4405:14:109;;;:::i;:::-;4384:17;652:3172:110;;;;;;;4404:36:109;652:3172:110;;;4404:36:109;;:::i;652:3172:110:-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;;;4867:13:27;652:3172:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;652:3172:110;2307:68:109;652:3172:110;;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6491:14:108;652:3172:110;;6491:14:108;;:::i;652:3172:110:-;;;;;4994:47:109;652:3172:110;;;:::i;:::-;4994:47:109;;:::i;652:3172:110:-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;10932:22:108;652:3172:110;;;;;10928:89:108;;652:3172:110;;-1:-1:-1;;;11032:49:108;;-1:-1:-1;;;;;652:3172:110;;;11032:49:108;;;652:3172:110;;;;;;;;;;;;;;;11032:49:108;11042:17;;;652:3172:110;11032:49:108;;;;;;;-1:-1:-1;11032:49:108;;;652:3172:110;11031:50:108;;11027:102;;652:3172:110;;-1:-1:-1;;;11143:34:108;;652:3172:110;;;;;11143:34:108;652:3172:110;11143:34:108;652:3172:110;;11143:34:108;;;;;;;-1:-1:-1;11143:34:108;;;652:3172:110;11189:4:108;;;652:3172:110;;11143:51:108;11139:107;;-1:-1:-1;10932:22:108;652:3172:110;;-1:-1:-1;;;;;652:3172:110;;;;-1:-1:-1;;;;;;652:3172:110;;;;;;;-1:-1:-1;;;652:3172:110;;;11334:24:108;-1:-1:-1;;11334:24:108;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:110;3860:283:30;11139:107:108;652:3172:110;;-1:-1:-1;;;11217:18:108;;;11143:34;;;;;;;-1:-1:-1;11143:34:108;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;11027:102;-1:-1:-1;652:3172:110;;-1:-1:-1;;;11104:14:108;;;11032:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;10928:89;652:3172:110;;-1:-1:-1;;;10977:29:108;;;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;1298:40:109;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;1703:14:108;;:::i;:::-;5173:21:109;;:::i;:::-;652:3172:110;;;;1750:11:108;652:3172:110;;;;;;;;;;;;;1791:1:108;652:3172:110;;;;;;;;;1750:11:108;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;3901:31:23;652:3172:110;;;;;:::i;:::-;;;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;;;;3901:31:23;652:3172:110;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;652:3172:110;;;;;;;-1:-1:-1;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;652:3172:110;;;;-1:-1:-1;652:3172:110;;;477:31:88;652:3172:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;652:3172:110;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;477:31:88;;652:3172:110;;;;;;;;;;:::i;:::-;477:31:88;652:3172:110;;477:31:88;;;;;;:::i;:::-;518:79;;;652:3172:110;518:79:88;;652:3172:110;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;1109:35:109;652:3172:110;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;9907:21:108;;9903:75;;-1:-1:-1;652:3172:110;;;9992:22:108;652:3172:110;;;;;;;;;;;;;9992:41:108;9988:91;;-1:-1:-1;;;;;652:3172:110;;;;;3586:22:108;652:3172:110;;;;;10145:44:108;;;;10089:40;;:31;652:3172:110;;;;;;;;;;;;;;10089:40:108;652:3172:110;;;;;;;;;;;;;;;10145:44:108;;;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:110;3860:283:30;9903:75:108;652:3172:110;;-1:-1:-1;;;9951:16:108;;652:3172:110;;9951:16:108;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;2666:94:109;652:3172:110;;;;;:::i;:::-;;;-1:-1:-1;652:3172:110;2666:94:109;652:3172:110;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;;;;2666:94:109;652:3172:110;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;2816:92:109;652:3172:110;;;;;:::i;:::-;;;-1:-1:-1;652:3172:110;2816:92:109;652:3172:110;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;4616:5:27;652:3172:110;;;;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;652:3172:110;;;4639:4:27;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;11459:20:108;652:3172:110;;;;;11455:85:108;;-1:-1:-1;;;;;652:3172:110;;;;;;11550:312:108;;652:3172:110;11459:20:108;652:3172:110;;-1:-1:-1;;;;652:3172:110;-1:-1:-1;;;652:3172:110;;;11872:27:108;11915:20;-1:-1:-1;11915:20:108;;3426:1:30;1949;-1:-1:-1;;;;;;;;;;;652:3172:110;3860:283:30;11550:312:108;652:3172:110;;-1:-1:-1;;;11597:45:108;;-1:-1:-1;;;;;652:3172:110;;11597:45:108;;;652:3172:110;;;11597:45:108;;652:3172:110;;;;;;11597:45:108;11607:15;;;652:3172:110;11597:45:108;;;;;;;-1:-1:-1;11597:45:108;;;11550:312;11596:46;;11592:104;;652:3172:110;;-1:-1:-1;;;11714:30:108;;;652:3172:110;11714:30:108;652:3172:110;11714:30:108;;;;;;;;-1:-1:-1;11714:30:108;;;11550:312;11756:4;;;652:3172:110;;11714:47:108;11710:109;;-1:-1:-1;11459:20:108;652:3172:110;;-1:-1:-1;;;;;;652:3172:110;-1:-1:-1;;;;;652:3172:110;;;;;;;;;11550:312:108;;;;;;11710:109;652:3172:110;;-1:-1:-1;;;11788:16:108;;;11714:30;;;;;;;-1:-1:-1;11714:30:108;;;;;;:::i;:::-;;;;;;11592:104;652:3172:110;;-1:-1:-1;;;11669:12:108;;652:3172:110;;11669:12:108;11597:45;;;;;;;;;;;;;;:::i;:::-;;;;11455:85;652:3172:110;;-1:-1:-1;;;11502:27:108;;;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;;;6112:23:108;;6108:79;;6273:6;652:3172:110;6206:13:108;;;;:::i;:::-;652:3172:110;;;-1:-1:-1;652:3172:110;;;;6273:6:108;:::i;:::-;652:3172:110;;;;;;;;;;;;6302:10:108;;6296:43;;652:3172:110;6296:43:108;1949:1:30;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;;;;;;;6108:79:108;652:3172:110;;-1:-1:-1;;;6158:18:108;;652:3172:110;;6158:18:108;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;-1:-1:-1;652:3172:110;2546:64:109;652:3172:110;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;2058:22:109;652:3172:110;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;5173:21:109;;:::i;652:3172:110:-;;;;;;-1:-1:-1;;652:3172:110;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;652:3172:110;;;;;;;;;;1109:35:109;;652:3172:110;;4468:23:23;4464:108;;652:3172:110;;;;10692:21:108;10688:71;;652:3172:110;;10805:22:108;652:3172:110;;;;;;;;10805:22:108;1949:1:30;-1:-1:-1;;;;;;;;;;;652:3172:110;;4464:108:23;652:3172:110;;;;4514:47:23;;;;;;966:10:28;652:3172:110;4514:47:23;;652:3172:110;;;;;4514:47:23;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;3123:14:108;;:::i;:::-;3154:24;;;:::i;:::-;3181:29;;;;;:::i;:::-;652:3172:110;;;;;;;3235:1:108;652:3172:110;;;;;;;3213:33:108;;;:::i;:::-;652:3172:110;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;1888:24:109;652:3172:110;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;5767:26:23;652:3172:110;;;;;;;:::i;:::-;;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;3202:4:23;4919:24;652:3172:110;-1:-1:-1;652:3172:110;4919:24:23;652:3172:110;3202:4:23;:::i;:::-;5767:26;:::i;652:3172:110:-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;675:39:109;652:3172:110;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;4867:29:27;652:3172:110;;;;;:::i;:::-;4867:20:27;652:3172:110;;;;;;:::i;:::-;4867:20:27;:::i;652:3172:110:-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;:::i;:::-;1972:48:108;;652:3172:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;2034:16:108;;2030:111;;652:3172:110;;2233:39:108;1057:70:100;2233:39:108;;4622:48:109;2196:77:108;2233:39;;;;2196:77;;:::i;:::-;2312:36;;4994:47:109;652:3172:110;2312:36:108;;;4994:47:109;;:::i;:::-;2389:37:108;;;4622:48:109;;:::i;:::-;1057:70:100;;:::i;:::-;652:3172:110;;;;;;;;;;;;;2030:111:108;2089:41;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;4622:48:109;652:3172:110;2196:77:108;652:3172:110;1057:70:100;652:3172:110;;;:::i;:::-;;;;;2030:111:108;;;;;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;2357:1:24;652:3172:110;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;652:3172:110:-;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;4890:21:108;4886:75;;4975:11;;4971:73;;845:69:100;4803:22:109;;:::i;:::-;5173:21;;:::i;:::-;845:69:100;;;:::i;:::-;5180:10:108;652:3172:110;;;;5606:15:109;652:3172:110;;;;;5180:10:108;;;5606:33:109;;;:::i;:::-;5150:41:108;;5146:96;;5267:40;;;;;:::i;5146:96::-;652:3172:110;;-1:-1:-1;;;5214:17:108;;652:3172:110;;5214:17:108;4971:73;652:3172:110;;-1:-1:-1;;;5009:24:108;;652:3172:110;;5009:24:108;652:3172:110;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;7556:1:108;652:3172:110;;;;;;;:::o;:::-;;;;;;;;;;:::o;5256:193:109:-;-1:-1:-1;;;;;652:3172:110;-1:-1:-1;652:3172:110;;;5383:15:109;652:3172:110;;;;;5383:59:109;;5256:193;;5383:59;:::i;652:3172:110:-;;;;;;;;;;1167:340:84;;652:3172:110;1167:340:84;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;-1:-1:-1;;;;;;;;;;;652:3172:110;-1:-1:-1;;;;;652:3172:110;;1376:73:84;;1167:340;652:3172:110;;;;:::i;:::-;;;3642:39;;;;;;;652:3172;;;;;;;3642:39;;;652:3172;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3734:29;652:3172;;2282:147:27;652:3172:110;3734:29;652:3172;;;;:::i;:::-;;;;;;;;3745:17;652:3172;3734:29;652:3172;;3734:29;;;;;;:::i;:::-;;:::i;:::-;3788:11;3801:13;;2282:147:27;;:::i;1376:73:84:-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:84;;;2492:191:108;-1:-1:-1;;;;;652:3172:110;-1:-1:-1;652:3172:110;;;5606:15:109;652:3172:110;;;;;5606:33:109;;;:::i;:::-;5173:21;;:::i;:::-;4803:22;;:::i;:::-;652:3172:110;1884:1:100;652:3172:110;;;;;;;1884:1:100;652:3172:110;;;;;;;9478:25:70;;;:::i;652:3172:110:-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;3612:132:109:-;819:34:75;837:15;819:34;:::i;:::-;3683:54:109;3703:17;652:3172:110;3684:36:109;652:3172:110;;;;;;;3684:36:109;;:::i;:::-;652:3172:110;;;3683:54:109;;:::i;:::-;652:3172:110;3612:132:109;:::o;3313:244::-;3418:17;652:3172:110;;;;;;;;;;;;;;3406:29:109;3402:85;;3503:47;3504:29;;;;:::i;3402:85::-;652:3172:110;;-1:-1:-1;;;3458:18:109;;;;;3361:103:30;;;;:::i;:::-;652:3172:110;;-1:-1:-1;;;;;652:3172:110;;;6521:23:108;;6517:79;;6650:11;;6646:70;;652:3172:110;6742:10:108;;;;;;-1:-1:-1;652:3172:110;;6887:49:108;;652:3172:110;;;;6864:6:108;;652:3172:110;;6821:18:108;;652:3172:110;;-1:-1:-1;;;;;652:3172:110;;;6821:18:108;6864:6;:::i;:::-;6887:49;652:3172:110;;6898:10:108;;;;6887:49;;;:::i;:::-;;;;3426:1:30;;1949;-1:-1:-1;;;;;;;;;;;652:3172:110;3860:283:30;6754:3:108;6790:9;6773:27;652:3172:110;6790:9:108;6783:17;6790:9;;;;;:::i;:::-;652:3172:110;6783:17:108;:::i;6773:27::-;6754:3;652:3172:110;6731:9:108;;6646:70;652:3172:110;;-1:-1:-1;;;6684:21:108;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;3405:215:24:-;-1:-1:-1;;;;;652:3172:110;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;652:3172:110;;-1:-1:-1;;;;;;652:3172:110;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;652:3172:110;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;652:3172:110;;;3534:31:24;2731:227:108;;2871:34;2731:227;652:3172:110;-1:-1:-1;652:3172:110;2871:18:108;652:3172:110;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;;;;2871:34:108;652:3172:110;;-1:-1:-1;652:3172:110;2907:11:108;652:3172:110;;;-1:-1:-1;652:3172:110;;2927:16:108;652:3172:110;;;-1:-1:-1;652:3172:110;;;1884:1:100;652:3172:110;;;;;;;1884:1:100;652:3172:110;;;;;;;9478:25:70;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;652:3172:110;;3670:20:30;3666:88;;1991:1;652:3172:110;;3470:384:30:o;3666:88::-;652:3172:110;;-1:-1:-1;;;3713:30:30;;;;;1867:311:110;12135:10:108;-1:-1:-1;652:3172:110;;;5606:15:109;652:3172:110;;;;;1867:311;;;-1:-1:-1;;1867:311:110;;12119:93:108;;819:34:75;837:15;819:34;:::i;:::-;12135:10:108;652:3172:110;;;;5606:15:109;652:3172:110;;;;;12170:41:108;;12135:10;;5606:33:109;;;:::i;12119:93:108:-;837:15:75;;12222:67:108;819:34:75;837:15;819:34;:::i;:::-;12259:29:108;4803:22:109;;;:::i;12222:67:108:-;837:15:75;;12299:68:108;819:34:75;837:15;819:34;:::i;:::-;12335:31:108;5173:21:109;;;:::i;12299:68:108:-;12394:14;;;12769:34;12394:14;12769:25;12394:18;:14;;:::i;:::-;:18;:::i;:::-;12726:33;12445:18;;652:3172:110;;7528:11:108;652:3172:110;;;;;;;12445:18:108;652:3172:110;12502:23:108;;652:3172:110;;12502:16:108;652:3172:110;;;;;;;12502:23:108;652:3172:110;12660:30:108;390:70:100;;;;;:::i;:::-;12660:30:108;;;;:::i;:::-;12639:18;;652:3172:110;;7528:11:108;652:3172:110;;;;;;;12639:18:108;652:3172:110;12726:33:108;:::i;:::-;12700:23;;652:3172:110;;12502:16:108;652:3172:110;;;;;;;12700:23:108;652:3172:110;;;12769:18:108;652:3172:110;;;;;;;12769:34:108;:50;652:3172:110;;;12769:50:108;:::i;:::-;652:3172:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;12135:10:108;;12835:74;;652:3172:110;;12835:74:108;652:3172:110;;;;;;12135:10:108;;2125:46:110;;652:3172;;;;2125:46;;;;1867:311::o;6605:300:27:-;;-1:-1:-1;;;;;652:3172:110;;;;;6688:18:27;;6684:86;;652:3172:110;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;652:3172:110;;;;;;5606:15:109;652:3172:110;;;;;5606:33:109;;;:::i;:::-;2607:19:110;;;;2603:115;;3459:25;2838:21;:65;3459:25;2838:21;;;3354:65;2838:21;652:3172;;;;;;;;5606:15:109;652:3172:110;;;;;;;2838:21;837:15:75;;819:34;837:15;819:34;:::i;:::-;652:3172:110;;2838:65;;:::i;:::-;-1:-1:-1;;;;;;;652:3172:110;;;;;;5606:15:109;652:3172:110;;;;;837:15:75;;5606:33:109;:24;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;652:3172:110;;;;;;;5606:15:109;652:3172:110;;;;;;;5606:33:109;652:3172:110;3354:65;;:::i;:::-;-1:-1:-1;;652:3172:110;;;;;;;;;;;;;2603:115;652:3172;;-1:-1:-1;;;2653:50:110;;-1:-1:-1;;;;;652:3172:110;;;;2653:50;;;652:3172;;;;;;;;;;;;;;;;12018:60:27;6779:86;652:3172:110;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;652:3172:110;;;6822:32:27;6684:86;652:3172:110;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;652:3172:110;;;6729:30:27;14296:213:71;652:3172:110;14374:24:71;;;;14370:103;;652:3172:110;14296:213:71;:::o;14370:103::-;652:3172:110;;;;14421:41:71;;;;;;14452:2;14421:41;;;652:3172:110;;;;;14421:41:71;1809:204:84;652:3172:110;1809:204:84;652:3172:110;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;652:3172:110;;7686:17:99;7682:83;;652:3172:110;7789:27:99;652:3172:110;7789:27:99;652:3172:110;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;652:3172:110;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;652:3172:110;8075:24:99;:::o;7975:84::-;652:3172:110;;;8009:16:99;4622:13:109;652:3172:110;8009:16:99;:::i;:::-;652:3172:110;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;652:3172:110;;;;;8029:23:99;652:3172:110;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;652:3172:110;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;652:3172:110;;7686:17:99;7682:83;;652:3172:110;7789:27:99;652:3172:110;7789:27:99;652:3172:110;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;652:3172:110;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;652:3172:110;;;8009:16:99;4994:12:109;652:3172:110;8009:16:99;:::i;:::-;652:3172:110;;;8001:24:99;: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::-;;652:3172:110;;7686:17:99;7682:83;;652:3172:110;7789:27:99;652:3172:110;7789:27:99;652:3172:110;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;652:3172:110;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;652:3172:110;8075:24:99;:::o;7975:84::-;652:3172:110;;;8009:16:99;652:3172:110;;8009:16:99;:::i;:::-;652:3172:110;;;8001:24:99;: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;652:3172:110;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;652:3172:110;;;;;;;;;675:39:109;;652:3172:110;;3901:31:23;652:3172:110;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;652:3172:110;;;;;;;;;966:38:109;;652:3172:110;;3901:31:23;652:3172:110;4148:103:23;966:10:28;-1:-1:-1;652:3172:110;;;;;;;;;821:37:109;;652:3172:110;;3901:31:23;652:3172:110;4148:103:23;-1:-1:-1;652:3172:110;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;966:10:28;652:3172:110;;;;;;;;;3901:31:23;652:3172:110;7270:387:23;-1:-1:-1;;;;;652:3172:110;;13555:17:108;652:3172:110;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:110;;;;13555:17:108;652:3172:110;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;-1:-1:-1;;652:3172:110;7509:4:23;652:3172:110;;;966:10:28;;-1:-1:-1;;;;;652:3172:110;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;13555:17:108;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;652:3172:110;;-1:-1:-1;652:3172:110;;;;;;;;;675:39:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:110;;3901:31:23;652:3172:110;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;-1:-1:-1;;652:3172:110;7509:4:23;652:3172:110;;;966:10:28;;-1:-1:-1;;;;;652:3172:110;;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;;;;;652:3172:110;;-1:-1:-1;652:3172:110;;;;;;;;;821:37:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:110;;3901:31:23;652:3172:110;7270:387:23;-1:-1:-1;;;;;652:3172:110;;-1:-1:-1;652:3172:110;;;;;;;;;966:38:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:110;;3901:31:23;652:3172:110;7270:387:23;-1:-1:-1;;;;;652:3172:110;;-1:-1:-1;652:3172:110;;;;;;;;;1109:35:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;652:3172:110;;3901:31:23;652:3172:110;7270:387:23;-1:-1:-1;652:3172:110;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;3901:31:23;652:3172:110;7892:388:23;-1:-1:-1;652:3172:110;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;-1:-1:-1;;652:3172:110;;;966:10:28;;-1:-1:-1;;;;;652:3172:110;;8155:40:23;-1:-1:-1;;8155:40:23;652:3172:110;8209:11:23;:::o;652:3172:110:-;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;2658:162:24;-1:-1:-1;;;;;;;;;;;652:3172:110;-1:-1:-1;;;;;652:3172:110;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;652:3172:110;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;652:3172:110;;;2763:40:24;652:3172:110;;;;;;;:::o;4996:4226:70:-;;652:3172:110;;;;-1:-1:-1;;652:3172:110;4996:4226:70;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;652:3172:110;-1:-1:-1;652:3172:110;7214:31:70;;7259:375;;;8094:1;652:3172:110;;8075:1:70;652:3172:110;8074:21:70;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7259:375:70;;;;-1:-1:-1;7259:375:70;;;6695:300;;;;;;652:3172:110;6695:300:70;;7259:375;7700:21;652:3172:110;4996:4226:70;:::o;6266:143::-;6330:16;;3066:5;652:3172:110;940:4:60;3060:42:70;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;652:3172:110:-;7178:12:99;652:3172:110;;;;;;7178:12:99;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;-1:-1:-1;652:3172:110;:::o;:::-;7178:12:99;652:3172:110;;;;;;7178:12:99;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;-1:-1:-1;652:3172:110;:::o;:::-;;;;;;;;-1:-1:-1;652:3172:110;;-1:-1:-1;652:3172:110;;;-1:-1:-1;652:3172:110;:::o;:::-;6360:12:99;652:3172:110;-1:-1:-1;;;652:3172:110;;;;;;;;;6360:12:99;652:3172:110;;;;;;6360:12:99;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;:::o;:::-;6360:12:99;652:3172:110;-1:-1:-1;;;652:3172:110;;;;;;;;;6360:12:99;652:3172:110;;;;;;6360:12:99;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;:::o;:::-;;;;;-1:-1:-1;;;652:3172:110;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;11930:17:27;;;652:3172:110;;;;;;;;6246:584:99;;;;6360:12;652:3172:110;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;652:3172:110;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;652:3172:110;;;;;;;;;-1:-1:-1;652:3172:110;;;-1:-1:-1;652:3172:110;;;;;;6798:25:99;652:3172:110;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;652:3172:110;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;652:3172:110;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;652:3172:110;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:110;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;6356:75:99;;;6246:584;;;;6360:12;652:3172:110;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;652:3172:110;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;652:3172:110;;;;;;;;;-1:-1:-1;652:3172:110;;;-1:-1:-1;652:3172:110;;;;;;6798:25:99;652:3172:110;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;652:3172:110;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;6604:::-;652:3172:110;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;652:3172:110;;;;;;;;;;;;;;;;-1:-1:-1;652:3172:110;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;6356:75:99;;;6246:584;;;;;6360:12;;;652:3172:110;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;652:3172:110;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;652:3172:110;;;;;;;6644:21:99;;;:29;:21;;:::i;6600:188::-;6753:24;;652:3172:110;;8310:38:73;;-1:-1:-1;;;;;652:3172:110;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;652:3172:110;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;652:3172:110;;;;;;6360:12:99;652:3172:110;;;;;;;:::i;:::-;;;11930:17:27;;;652:3172:110;;;;;;;;6356:75:99;;;1271:160:56;652:3172:110;;-1:-1:-1;;;1380:43:56;;;;-1:-1:-1;;;;;652:3172:110;;;1380:43:56;;;652:3172:110;;;;;;;;;1380:43:56;;;652:3172:110;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;1380:43:56;652:3172:110;;;1380:43:56;:::i;12922:460:108:-;;13024:14;;:::i;:::-;13015:23;;;13011:75;;-1:-1:-1;652:3172:110;;;13100:20:108;652:3172:110;;;;;;;;13128:10:108;652:3172:110;;;;;;;;;;13096:93:108;;13208:32;13128:10;13208:32;;:::i;:::-;13255:11;;;13251:68;;-1:-1:-1;652:3172:110;;;13100:20:108;652:3172:110;;;;;;;;13128:10:108;652:3172:110;;;;;;;;;-1:-1:-1;;652:3172:110;13371:4:108;652:3172:110;;;12922:460:108:o;13251:68::-;652:3172:110;;-1:-1:-1;;;13289:19:108;;;;;13096:93;652:3172:110;;-1:-1:-1;;;13162:16:108;;;;;13011:75;652:3172:110;;-1:-1:-1;;;13061:14:108;;;;;10580:184:99;4803:13:109;652:3172:110;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;652:3172:110;;10726:7:99;652:3172:110;;10736:12:99;652:3172:110;;;;;;10736:12:99;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;10580:184:99;:::o;10726:31::-;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;11930:17:27;;;652:3172:110;;;;;4803:13:109;-1:-1:-1;14439:109:73;;;652:3172:110;;;10446:63:73;;10580:184:99;5173:12:109;652:3172:110;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;652:3172:110;;10726:7:99;652:3172:110;;10736:12:99;652:3172:110;;;;;;10736:12:99;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;10580:184:99;:::o;10446:63:73:-;11930:17:27;;;652:3172:110;;;;;5173:12:109;-1:-1:-1;14439:109:73;;;652:3172:110;;;10446:63:73;;10580:184:99;652:3172:110;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;652:3172:110;;10726:7:99;652:3172:110;;10736:12:99;:17;:12;;:17;:::i;:::-;652:3172:110;;;;;;10580:184:99;:::o;10446:63:73:-;11930:17:27;;652:3172:110;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;;-1:-1:-1;14439:109:73;;;652:3172:110;;;10446:63:73;;10976:487:27;;-1:-1:-1;;;;;652:3172:110;;;11141:19:27;11137:89;;652:3172:110;;11239:21:27;11235:90;;11334:20;:29;:20;;:::i;:29::-;652:3172:110;10976:487:27:o;1662:280:100:-;;;1884:1;652:3172:110;;;;;;;1884:1:100;652:3172:110;;;;;;;9478:25:70;;;:::i;6999:207:99:-;4622:13:109;652:3172:110;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;652:3172:110;;7168:7:99;652:3172:110;;7178:17:99;652:3172:110;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;4622:13:109;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;14289:265;;10135:41;652:3172:110;;;;;10135:48:73;10120:63;;9791:234;9838:14;;;;;:::i;:::-;652:3172:110;;;;;;;10049:53:73;14439:109;4622:13:109;-1:-1:-1;14439:109:73;652:3172:110;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;652:3172:110;;;;;9870:48:73;9866:149;652:3172:110;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;4994:12:109;652:3172:110;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;652:3172:110;;7168:7:99;652:3172:110;;7178:17:99;652:3172:110;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;4994:12:109;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;652:3172:110;;;;;;;10049:53:73;14439:109;4994:12:109;-1:-1:-1;14439:109:73;652:3172:110;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;652:3172:110;;;;;9870:48:73;9866:149;652:3172:110;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;;652:3172:110;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;652:3172:110;;7168:7:99;652:3172:110;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;14439:109;;;;;;14289:265;;10135:48;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;652:3172:110;;;;;;;10049:53:73;14439:109;;-1:-1:-1;14439:109:73;652:3172:110;14439:109:73;;;-1:-1:-1;14439:109:73;;652:3172:110;;;;;9870:48:73;9866:149;652:3172:110;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;652:3172:110;;;;;;;:::i;:::-;-1:-1:-1;652:3172:110;;;;;;;:::o;11486:272:99:-;652:3172:110;;:::i;:::-;;;;:::i;:::-;;4622:13:109;652:3172:110;;;;;;4622:13:109;-1:-1:-1;652:3172:110;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;;;;;;;;;;11718:12:99;652:3172:110;;;;;;11718:12:99;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;:::i;:::-;;;;11672:79:99;;652:3172:110;11486:272:99;:::o;:::-;652:3172:110;;:::i;:::-;;;;:::i;:::-;;4994:12:109;652:3172:110;;;;;;4994:12:109;-1:-1:-1;652:3172:110;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;;;;;;;;;;11718:12:99;652:3172:110;;;;;;11718:12:99;-1:-1:-1;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;:::i;11486:272:99:-;;652:3172:110;11718:12:99;11452:22:73;11718:31:99;11486:272;652:3172:110;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;652:3172:110;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:99;:31;:::i;:::-;652:3172:110;;;;;;;;;:::i;:::-;;;;;;;11672:79:99;;652:3172:110;11486:272:99;:::o;1670:188:56:-;652:3172:110;;-1:-1:-1;;;1797:53:56;;;;-1:-1:-1;;;;;652:3172:110;;;1797:53:56;;;652:3172:110;;;;;;;;;;;;;;;;;1797:53:56;;;652:3172:110;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;1797:53:56;652:3172:110;;;1797:53:56;:::i;7084:141:26:-;652:3172:110;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;652:3172:110;;-1:-1:-1;;;7191:17:26;;;;;652:3172:110;;;;;;;;;;;;:::i;13388:2406:108:-;13510:30;13388:2406;13510:30;652:3172:110;;;13510:30:108;;;;;;:::i;:::-;652:3172:110;;-1:-1:-1;;;;;652:3172:110;;;;13555:31:108;13551:88;;13653:20;;;;652:3172:110;;;;;;;;;;13653:25:108;13649:85;;13748:29;;;652:3172:110;;13748:29:108;;652:3172:110;13748:43:108;;-1:-1:-1;;;;;652:3172:110;;;13748:43:108;;13744:943;;13388:2406;652:3172:110;;;15647:32:108;652:3172:110;14817:36:108;652:3172:110;;;14697:30:108;652:3172:110;;;;;;;;;;;;13555:17:108;652:3172:110;;-1:-1:-1;;;;;;652:3172:110;;;;;;-1:-1:-1;;;;;652:3172:110;;;;;;;;14697:30:108;13510;14747:13;;652:3172:110;;;;-1:-1:-1;;;;;;652:3172:110;-1:-1:-1;;;;;652:3172:110;;;;;;;;;14771:36:108;819:34:75;837:15;819:34;:::i;:::-;14738:22:108;652:3172:110;;-1:-1:-1;;;;652:3172:110;;;;;;-1:-1:-1;;;652:3172:110;;;;;;;;;14738:22:108;652:3172:110;;-1:-1:-1;;;;;652:3172:110;;;;;;-1:-1:-1;;;;;;652:3172:110;;;;;;;;14817:36:108;14864:42;652:3172:110;14883:23:108;;;652:3172:110;;;;;;;;;13555:17:108;652:3172:110;;;;;;;13555:17:108;652:3172:110;;14864:42:108;14917:38;652:3172:110;14934:21:108;;;652:3172:110;;;;;;;13555:17:108;652:3172:110;;;;;;;;;;;;13555:17:108;652:3172:110;;14917:38:108;14965:34;14980:19;;;652:3172:110;14965:34:108;652:3172:110;;14965:34:108;652:3172:110;-1:-1:-1;;;;;652:3172:110;;;;;;;15010:135:108;;13388:2406;-1:-1:-1;15158:36:108;;;652:3172:110;-1:-1:-1;;;;;652:3172:110;;;;15154:157:108;;13388:2406;-1:-1:-1;15324:35:108;;;652:3172:110;-1:-1:-1;;;;;652:3172:110;;;;15320:153:108;;13388:2406;-1:-1:-1;15486:34:108;;;652:3172:110;-1:-1:-1;;;;;652:3172:110;;;;15482:152:108;;13388:2406;-1:-1:-1;15647:32:108;652:3172:110;-1:-1:-1;;;;;652:3172:110;;;;;;;15643:145:108;;13388:2406;:::o;15643:145::-;15709:68;;;:::i;:::-;;13388:2406::o;15482:152::-;15550:73;;;:::i;:::-;;15482:152;;;15320:153;15389:73;;;:::i;:::-;;15320:153;;;15154:157;15224:76;;;:::i;:::-;;15154:157;;;15010:135;15073:61;;;:::i;:::-;;15010:135;;;13744:943;13811:36;;;652:3172:110;13811:50:108;;-1:-1:-1;;;;;652:3172:110;;;13811:50:108;;13807:405;;13744:943;14230:34;;;652:3172:110;14230:48:108;;-1:-1:-1;;;;;652:3172:110;;;14230:48:108;13744:943;14226:451;14302:21;;;652:3172:110;;14302:21:108;;14351:19;;;652:3172:110;14351:24:108;:74;;;14298:365;14347:150;;14298:365;;652:3172:110;15647:32:108;14298:365;14817:36;652:3172:110;;14298:365:108;;14226:451;;;;;;;13744:943;;14347:150;652:3172:110;-1:-1:-1;;;14460:14:108;;;;;14351:74;-1:-1:-1;14379:32:108;;;652:3172:110;14379:46:108;;-1:-1:-1;;;;;652:3172:110;;;14379:46:108;;14351:74;;14298:365;14525:19;;;652:3172:110;14525:24:108;;;:74;;;14298:365;14521:142;;14298:365;;652:3172:110;15647:32:108;14298:365;14817:36;652:3172:110;;14298:365:108;;;14525:74;-1:-1:-1;14553:32:108;;;652:3172:110;14553:46:108;;-1:-1:-1;;;;;652:3172:110;;;14553:46:108;;;14525:74;;13807:405;13885:23;;;652:3172:110;;13885:23:108;;13936:35;;;652:3172:110;13936:49:108;;-1:-1:-1;;;;;652:3172:110;;;13936:49:108;13807:405;13932:125;652:3172:110;-1:-1:-1;;;14020:14:108;;;;;13881:317;14085:35;;;652:3172:110;14085:49:108;;-1:-1:-1;;;;;652:3172:110;;;14085:49:108;14081:117;13807:405;14081:117;652:3172:110;-1:-1:-1;;;14165:14:108;;;;;13649:85;652:3172:110;;-1:-1:-1;;;13701:22:108;;;;;13551:88;652:3172:110;;-1:-1:-1;;;13609:19:108;;;;;6893:76:26;;;;;:::i;:::-;;;:::i;:::-;652:3172:110;;-1:-1:-1;;;;;652:3172:110;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;11930:17:27;;;652:3172:110;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;11930:17:27;;652:3172:110;;2600:7:27;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1776:194:60;1829:135;;;;;;;;10695:389:73;5173:12:109;652:3172:110;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;11930:17:27;;;652:3172:110;;;;;5173:12:109;10833:17:73;14439:109;;;652:3172:110;11014:1:73;;652:3172:110;;;;;;;11030:37:73:o;10695:389::-;4803:13:109;652:3172:110;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;11930:17:27;;;652:3172:110;;;;;4803:13:109;10833:17:73;14439:109;;;652:3172:110;11014:1:73;;652:3172:110;;;;;;;11030:37:73:o;10695:389::-;652:3172:110;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;11930:17:27;;652:3172:110;;;;;;;;10833:17:73;14439:109;;10833:17;14439:109;;;652:3172:110;11014:1:73;652:3172:110;;;;;;;11030:37:73;:::o;7738:720:56:-;;-1:-1:-1;7875:421:56;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:56;;8310:15;;-1:-1:-1;;;;;;652:3172:110;;8328:26:56;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;652:3172:110;;-1:-1:-1;;;8401:40:56;;-1:-1:-1;;;;;652:3172:110;;;8401:40:56;;;652:3172:110;;;8401:40:56;8310:68;8377:1;8362:16;;8310:68;;1258:280:100;;;652:3172:110;;;;;;;;;;;;;;;;9478:25:70;;;;;:::i;:::-;9552;;;;;;:29;;652:3172:110;;;;;;;1258:280:100;:::o;652:3172:110:-;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;652:3172:110;;;;;;;;;-1:-1:-1;652:3172:110;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;652:3172:110;;;;;;;;;-1:-1:-1;652:3172:110;;;;;;;;-1:-1:-1;;;;;652:3172:110;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;11930:17:27;;;652:3172:110;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;11930:17:27;;652:3172:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5173:12:109;652:3172:110;;-1:-1:-1;;;652:3172:110;;;;;;;;;5173:12:109;652:3172:110;;;;;;5173:12:109;-1:-1:-1;652:3172:110;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;:::o;:::-;4803:13:109;652:3172:110;;-1:-1:-1;;;652:3172:110;;;;;;;;;4803:13:109;652:3172:110;;;;;;4803:13:109;-1:-1:-1;652:3172:110;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;-1:-1:-1;;;;;;;;;;;652:3172:110;;;;:::o;:::-;;;-1:-1:-1;;;652:3172:110;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;652:3172:110;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;5173:12:109;652:3172:110;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;652:3172:110;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;652:3172:110;;;;;;;;;;;;;;;;;12285:19:73;652:3172:110;;12423:25:73;;:::o;12247:163::-;652:3172:110;;12343:52:73;652:3172:110;12353:41:73;652:3172:110;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;652:3172:110;;12353:41:73;;;652:3172:110;12343:52:73;:::i;:::-;12247:163;;12099:89;652:3172:110;;-1:-1:-1;;;12143:30:73;;;;;11860:713;652:3172:110;12479:52:73;652:3172:110;12489:41:73;652:3172:110;;:::i;12489:41:73:-;-1:-1:-1;;;;;652:3172:110;;12489:41:73;;;652:3172:110;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;4803:13:109;652:3172:110;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;652:3172:110;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;652:3172:110;;;;;;;;;;;;;;;;;12247:163:73;652:3172:110;;12343:52:73;652:3172:110;12353:41:73;652:3172:110;;:::i;12353:41:73:-;-1:-1:-1;;;;;652:3172:110;;12353:41:73;;;652:3172:110;12343:52:73;:::i;11860:713::-;652:3172:110;12479:52:73;652:3172:110;12489:41:73;652:3172:110;;:::i;12489:41:73:-;-1:-1:-1;;;;;652:3172:110;;12489:41:73;;;652:3172:110;12343:52:73;:::i;11657:922::-;652:3172:110;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;652:3172:110;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;652:3172:110;;;;;;;;;;;;;;;;;12247:163:73;652:3172:110;;;12343:52:73;652:3172:110;12353:41:73;652:3172:110;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;652:3172:110;;12353:41:73;;;652:3172:110;12343:52:73;:::i;11860:713::-;652:3172:110;;12479:52:73;652:3172:110;12489:41:73;652:3172:110;;:::i;12489:41:73:-;-1:-1:-1;;;;;652:3172:110;;12489:41:73;;;652:3172:110;12343:52:73;:::i;18080:5181:70:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;652:3172:110;18246:1:70;652:3172:110;22284:6:70;;;;:::i;:::-;652:3172:110;;;;;22278:18:70;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;;;652:3172:110;23216:28:70;652:3172:110;;18080:5181:70;:::o;19887:61::-;18246:1;652:3172:110;19887:61:70;;19787:87;652:3172:110;;;;;19787:87:70;;;19687;652:3172:110;;;;;19687:87:70;;;19585:89;652:3172:110;;;;;19585:89:70;;;19482:90;652:3172:110;;;;;19482:90:70;;;19379;652:3172:110;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;652:3172:110;-1:-1:-1;652:3172:110;;;;19274:92:70;;12929:433:73;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:70;;;;;652:3172:110;;3731:5:70;;;652:3172:110;;;;;;;;;4622:13:109;-1:-1:-1;14439:109:73;652:3172:110;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;652:3172:110;;;;;-1:-1:-1;13189:136:73;652:3172:110;;;13248:10:73;;13189:136;;13105:230;;;13189:136;652:3172:110;;;;;;;;;;;13189:136:73;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:70;;;;;652:3172:110;;3731:5:70;;;652:3172:110;;;;;;;;;4994:12:109;-1:-1:-1;14439:109:73;652:3172:110;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;652:3172:110;;;;;-1:-1:-1;13189:136:73;652:3172:110;;;13248:10:73;;13189:136;;13105:230;;;13189:136;652:3172:110;;;;;;;;;;;13189:136:73;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:70;;;;;;652:3172:110;;3731:5:70;;;652:3172:110;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;652:3172:110;14439:109:73;;;-1:-1:-1;14439:109:73;;652:3172:110;;;;;-1:-1:-1;13189:136:73;652:3172:110;;;13248:10:73;;13189:136;;13105:230;;;;13189:136;652:3172:110;;;;;;;;;;;13189:136:73;;","linkReferences":{},"immutableReferences":{"60387":[{"start":2716,"length":32},{"start":3266,"length":32}],"71027":[{"start":5505,"length":32},{"start":6950,"length":32}],"71030":[{"start":7311,"length":32},{"start":8722,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","FACTORY()":"2dd31000","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","SLASHER_FACTORY()":"87df0788","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","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burner()":"27810b6e","claim(address,uint256)":"aad3ec96","claimBatch(address,uint256[])":"7c04c80a","collateral()":"d8dfeb45","currentEpoch()":"76671808","currentEpochStart()":"61a8c8c4","decimals()":"313ce567","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochAt(uint48)":"7953b33b","epochDuration()":"4ff0876a","epochDurationInit()":"46361671","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","name()":"06fdde03","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","owner()":"8da5cb5b","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","totalStake()":"8b0e9f3f","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","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\"},{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"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\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegatorAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositLimitReached\",\"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\":\"InsufficientClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientDeposit\",\"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\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"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\":\"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\":\"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\"},{\"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\":\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"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\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"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\":[{\"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\":[{\"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\":[{\"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\":\"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\":[{\"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\":[{\"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\":\"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\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":[],\"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\":[{\"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\":\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"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\":\"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.\"}],\"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.\"}}],\"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.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"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.\"},\"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\"}},\"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\"}},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"},\"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\"}},\"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\":\"See {IERC20-balanceOf}.\"},\"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\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"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\"}},\"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\"}},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"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\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"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\"}},\"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.\"},\"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\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"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}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalStake()\":{\"returns\":{\"_0\":\"total amount of the slashable collateral\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"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`.\"},\"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\"}},\"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\":{\"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.\"},\"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.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"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.\"},\"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.\"},\"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.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"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).\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"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.\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"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/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/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"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/libraries/ERC4626Math.sol\":{\"keccak256\":\"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653\",\"dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB\"]},\"src/contracts/vault/Vault.sol\":{\"keccak256\":\"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676\",\"dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ\"]},\"src/contracts/vault/VaultStorage.sol\":{\"keccak256\":\"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173\",\"dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q\"]},\"src/contracts/vault/VaultTokenized.sol\":{\"keccak256\":\"0xa9475a46a3e32b35e48bc37fdaf08e1a586fb7c9667ac5e014b716a08873c46d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0a292a4f35bc43ce7174b36e2d016bc44d6737e94b41e48cb5dd1bb1e4821e48\",\"dweb:/ipfs/QmduHZe2REPnygiWvQRV82yD4tYHdwX33FkYRFm1UZoXBA\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"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/IVault.sol\":{\"keccak256\":\"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9\",\"dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R\"]},\"src/interfaces/vault/IVaultStorage.sol\":{\"keccak256\":\"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e\",\"dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6\"]},\"src/interfaces/vault/IVaultTokenized.sol\":{\"keccak256\":\"0xb723560b49c30b38130634388a0550c9e07596f92a58edbfa2415e690024e0c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc9dde973a0bbf0adbc305462a796fa3b2e5be9daa1984e4f3e4f48e3c254f39\",\"dweb:/ipfs/QmQydZsr7ESw7ZSe9mqaxZ3dycvru8ZFVwrL9pmVnpyd7c\"]}},\"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"},{"internalType":"address","name":"vaultFactory","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":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DelegatorAlreadyInitialized"},{"inputs":[],"type":"error","name":"DepositLimitReached"},{"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":"InsufficientClaim"},{"inputs":[],"type":"error","name":"InsufficientDeposit"},{"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":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"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":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"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":"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":"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":[{"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":"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":"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":[{"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":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[{"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":[{"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":"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":[{"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":[{"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":"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":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":[],"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":[{"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":"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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"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"}},"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":"See {IERC20-balanceOf}."},"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"}},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"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"}},"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"}},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"name()":{"details":"Returns the name of the token."},"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"}},"owner()":{"details":"Returns the address of the current owner."},"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"}},"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."},"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"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"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}."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalStake()":{"returns":{"_0":"total amount of the slashable collateral"}},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"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`."},"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"}},"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."},"FACTORY()":{"notice":"Get the factory's address."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"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."},"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."},"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."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"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)."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"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."},"version()":{"notice":"Get the entity's version."},"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/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/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"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/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/vault/Vault.sol":{"keccak256":"0x7ee6dbf060c45d6eba95315f4ac0b3b467dd9c4999b84c31d6f66d4d8b53a116","urls":["bzz-raw://301948b8ea522db292aa2722ba42def3911dae95f0b376f7023c3fef470f8676","dweb:/ipfs/QmSDbP2HdzhDAzstr8Zz5isEAcSkma8ABc5UwPsoazaumZ"],"license":"BUSL-1.1"},"src/contracts/vault/VaultStorage.sol":{"keccak256":"0x57db25b127d77ea3472de53e3a4af3354399655b9268638b99ca5925fa364a56","urls":["bzz-raw://aa763d9a6ec508ae3abfb8228b72b9fd9525279e5135d4962e79ff059feb1173","dweb:/ipfs/QmcbDR6E9wyEpu6V2FkEC4hnWy47zXA9LSKJde6zSGd33Q"],"license":"BUSL-1.1"},"src/contracts/vault/VaultTokenized.sol":{"keccak256":"0xa9475a46a3e32b35e48bc37fdaf08e1a586fb7c9667ac5e014b716a08873c46d","urls":["bzz-raw://0a292a4f35bc43ce7174b36e2d016bc44d6737e94b41e48cb5dd1bb1e4821e48","dweb:/ipfs/QmduHZe2REPnygiWvQRV82yD4tYHdwX33FkYRFm1UZoXBA"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"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/IVault.sol":{"keccak256":"0xffee01d383cd4e1a5530c614bf4360c1ef070c288abec9da1eb531b51bc07235","urls":["bzz-raw://04f0046cac285d8ec44ebbb1f79dc94fab4495767190cad8364fbc1fafaadfb9","dweb:/ipfs/QmUawAunwzXfCyShWfhKeThAgKtqe51hmrxvrXvM772M2R"],"license":"MIT"},"src/interfaces/vault/IVaultStorage.sol":{"keccak256":"0x592626f13754194f83047135de19229c49390bd59e34659b1bb38be71d973a22","urls":["bzz-raw://06a6a9dfddd05e580b32bebe2cff4f63ba26a653180676d58225dd30d9c89d3e","dweb:/ipfs/QmdgzBeY6Sxo8mGtyBxtv1tM1c2kU6J6zjeRd7vuXm4DU6"],"license":"MIT"},"src/interfaces/vault/IVaultTokenized.sol":{"keccak256":"0xb723560b49c30b38130634388a0550c9e07596f92a58edbfa2415e690024e0c4","urls":["bzz-raw://dc9dde973a0bbf0adbc305462a796fa3b2e5be9daa1984e4f3e4f48e3c254f39","dweb:/ipfs/QmQydZsr7ESw7ZSe9mqaxZ3dycvru8ZFVwrL9pmVnpyd7c"],"license":"MIT"}},"version":1},"id":110} \ No newline at end of file diff --git a/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json new file mode 100644 index 0000000..49b25c0 --- /dev/null +++ b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json @@ -0,0 +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":"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":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"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":"0x60a034606d57601f611cd238819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611c4c908161008682396080518181816106e901526116300152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220182be4b130e2c59338ca1c7393d4309221d05537ebe2b3971b0b1bc3e61b690064736f6c63430008190033","sourceMap":"978:3799:115:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;;1324:40;;978:3799;;;;;;;;1324:40;978:3799;;;;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;-1:-1:-1;978:3799:115;;;;;-1:-1:-1;978:3799:115","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220182be4b130e2c59338ca1c7393d4309221d05537ebe2b3971b0b1bc3e61b690064736f6c63430008190033","sourceMap":"978:3799:115:-:0;;;;;;2603:64:51;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;978:3799:115;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::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:3799:115;;;;;;;;-1:-1:-1;;978:3799:115;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;-1:-1:-1;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3799:115;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;978:3799:115;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;978:3799:115;;;;;;;;;;;;;;;;11334:29:27;978:3799:115;;;;;;11415:31:27;978:3799:115;966:10:28;11415:31:27;;978:3799:115;;;10117:4:27;978:3799:115;;;11235:90:27;978:3799:115;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;978:3799:115;;;11283:31:27;11137:89;978:3799:115;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;978:3799:115;;;11183:32:27;978:3799:115;;;;;;-1:-1:-1;;978:3799:115;;;;;3653:32:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;757:38:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;1732:13;978:3799;10446:8:73;;;:63;978:3799:115;10446:63:73;-1:-1:-1;;;;;978:3799:115;;10726:7:99;978:3799:115;;10736:17:99;978:3799:115;10736:17:99;;:::i;:::-;978:3799:115;;;;;;10726:31:99;978:3799:115;;;;;;10726:31:99;;978:3799:115;;10726:31:99;;10446:63:73;978:3799:115;;;;;;;;1732:13;978:3799;14439:109:73;;;978:3799:115;;;10446:63:73;;978:3799:115;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;;612:37:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;2084:35:113;978:3799:115;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;3016:48:115;2951:156;2975:90;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:115;3016:48;;;-1:-1:-1;;;;;978:3799:115;;;;3016:48;;;978:3799;;;;;;;;;;;;;;;;3016:48;;978:3799;;3016:48;;;;;;:::i;:::-;2975:19;:90;:::i;:::-;978:3799;;;;2951:156;;;;;;:::i;:::-;978:3799;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;3132:10;3123:40;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;978:3799:115;;11910:37:27;;;11906:310;;978:3799:115;6198:5:27;;;;:::i;:::-;978:3799:115;;4867:13:27;978:3799:115;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3799:115;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;978:3799:115;6198:5:27;978:3799:115;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;978:3799:115;11906:310:27;;11963:130;978:3799:115;;-1:-1:-1;;;12018:60:27;;966:10:28;978:3799:115;12018:60:27;;978:3799:115;;;;;;;;;;;;;;;12018:60:27;978:3799:115;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;-1:-1:-1;;;1535:37:115;;978:3799;1535:37;;978:3799;;;;;;;;-1:-1:-1;;;;;978:3799:115;1535:37;;;;;;978:3799;1535:37;978:3799;1535:37;;;978:3799;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3799;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1329:40:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3799:115;2236:52;;;-1:-1:-1;;;;;978:3799:115;;;2236:52;;;978:3799;;;;;;;;;2171:160;;2195:94;;2236:52;978:3799;;;;2236:52;978:3799;2171:160;978:3799;;;;;;;-1:-1:-1;;;;;978:3799:115;;-1:-1:-1;;;;;;;;;;;;;2347:46:115;978:3799;;2347:46;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;4126:39:113;978:3799:115;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;2255:34:113;978:3799:115;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;-1:-1:-1;978:3799:115;2718:59:113;978:3799:115;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;978:3799:115;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:115;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1041:36:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;1989:39:113;978:3799:115;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1564:45:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;2423:32:113;978:3799:115;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;;;;;978:3799:115;;:::i;:::-;;-1:-1:-1;978:3799:115;1941:15;978:3799;;;1941:33;978:3799;-1:-1:-1;978:3799:115;1941:33;:::i;978:3799::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;4027:43:113;978:3799:115;;;;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;4867:13:27;978:3799:115;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;;;;;978:3799:115;;:::i;:::-;;-1:-1:-1;978:3799:115;2594:68:113;978:3799:115;;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;3932:39:113;978:3799:115;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;3833:43:113;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:115;;;;;;;-1:-1:-1;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;978:3799:115;;;;;;;;;;477:31:88;;978:3799:115;;;;;;;;;;;:::i;477:31:88:-;518:79;;;978:3799:115;518:79:88;;978:3799:115;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;900:35:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;2953:94:113;978:3799:115;;:::i;:::-;;;-1:-1:-1;978:3799:115;2953:94:113;978:3799:115;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;2953:94:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;3103:92:113;978:3799:115;;:::i;:::-;;;-1:-1:-1;978:3799:115;3103:92:113;978:3799:115;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;3103:92:113;978:3799:115;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;4396:31:113;978:3799:115;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;4616:5:27;978:3799:115;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;978:3799:115;;;4639:4:27;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;-1:-1:-1;978:3799:115;2833:64:113;978:3799:115;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;2345:22:113;978:3799:115;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1183:36:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;3543:54:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;2175:24:113;978:3799:115;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;3741:36:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;466:39:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;4867:29:27;978:3799:115;;:::i;:::-;4867:20:27;978:3799:115;;:::i;:::-;4867:20:27;;:::i;978:3799:115:-;;;;;;-1:-1:-1;;978:3799:115;;;;;4221:36:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;4313:27:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1466:3:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;2560:158;2584:92;2625:50;;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:115;2625:50;;;-1:-1:-1;;;;;978:3799:115;;;;2625:50;;;978:3799;;;;;;;;;;;;;;;;;2560:158;978:3799;-1:-1:-1;978:3799:115;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;2743:10;2734:46;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;3437:50:113;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3799:115;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3799:115;;;;:::o;:::-;;;:::o;:::-;10736:12:99;978:3799:115;;;;;;10736:12:99;-1:-1:-1;978:3799:115;;;;-1:-1:-1;978:3799:115;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:115;;-1:-1:-1;978:3799:115;;;-1:-1:-1;978:3799:115;:::o;10580:184:99:-;978:3799:115;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;978:3799:115;;10726:7:99;978:3799:115;;10736:12:99;:17;:12;;:17;:::i;:::-;978:3799:115;;;;;;10580:184:99;:::o;10726:31::-;;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;978:3799:115;;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;;-1:-1:-1;14439:109:73;;;978:3799:115;;;10446:63:73;;3900:253:57;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;6605:300:27:-;;-1:-1:-1;;;;;978:3799:115;;;;;6688:18:27;;6684:86;;978:3799:115;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;978:3799:115;;;;;;1941:15;978:3799;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3599:19;;;;3595:115;;4451:25;3830:21;:65;-1:-1:-1;;;;;;;;;;;3830:21:115;;;4346:65;3830:21;978:3799;;;;;;;;1941:15;978:3799;;;;;;;3830:21;837:15:75;;819:34;837:15;819:34;:::i;:::-;978:3799:115;;3830:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3799:115;;;;;;1941:15;978:3799;;;;;837:15:75;;1941:33:115;:24;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3799:115;;;;;;;1941:15;978:3799;;;;;;;1941:33;978:3799;4346:65;;:::i;:::-;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;4451:25;;;;6605:300:27:o;3595:115:115:-;978:3799;;-1:-1:-1;;;3645:50:115;;-1:-1:-1;;;;;978:3799:115;;;;3645:50;;;978:3799;;;;;;;;;;;;;;;;12018:60:27;6779:86;978:3799:115;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;978:3799:115;;;6822:32:27;6684:86;978:3799:115;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;978:3799:115;;;6729:30:27;2323:83:51;1019:819;;;;;;;4615:19:115;;1019:819:51;;;;;;;;;;;;;;;;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;:::o;4421:582:57:-;;4593:8;;-1:-1:-1;978:3799:115;;5674:21:57;:17;;5799:158;;;;;;5670:354;978:3799:115;;-1:-1:-1;;;5994:19:57;;;;;4589:408;978:3799:115;;4841:22:57;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3799:115;;-1:-1:-1;;;4917:24:57;;-1:-1:-1;;;;;978:3799:115;;;4917:24:57;;;978:3799:115;;;4917:24:57;4841:49;4867:18;;;:23;4841:49;;7084:141:26;978:3799:115;8837:64:26;978:3799:115;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;978:3799:115;;-1:-1:-1;;;7191:17:26;;;;;978:3799:115;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:115;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:115;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3799:115;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:99:-;;;;;6360:12;;;978:3799:115;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3799:115;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;978:3799:115;;;;;;;6644:21:99;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3799:115;;8310:38:73;;-1:-1:-1;;;;;978:3799:115;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;978:3799:115;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;978:3799:115;;;;;;6360:12:99;978:3799:115;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:99;;;14296:213:71;978:3799:115;14374:24:71;;;;14370:103;;978:3799:115;14296:213:71;:::o;14370:103::-;978:3799:115;;;;14421:41:71;;;;;;14452:2;14421:41;;;978:3799:115;;;;;14421:41:71;10695:389:73;978:3799:115;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3799:115;;;;;;;;;;10833:17:73;14439:109;;10833:17;14439:109;;;978:3799:115;11014:1:73;978:3799:115;;;;;;;11030:37:73;:::o;978:3799:115:-;;;-1:-1:-1;;;978:3799:115;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;978:3799:115;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3799:115;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;978:3799:115;;;;;;;;;;;;;;;;;12285:19:73;978:3799:115;;12423:25:73;;:::o;12247:163::-;978:3799:115;;;12343:52:73;978:3799:115;12353:41:73;978:3799:115;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;978:3799:115;;12353:41:73;;;978:3799:115;12343:52:73;:::i;:::-;12247:163;;12099:89;978:3799:115;;-1:-1:-1;;;12143:30:73;;;;;11860:713;978:3799:115;;12479:52:73;978:3799:115;12489:41:73;978:3799:115;;:::i;12489:41:73:-;-1:-1:-1;;;;;978:3799:115;;12489:41:73;;;978:3799:115;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"74657":[{"start":1769,"length":32},{"start":5680,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(string,string)":"602bd8e7","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[],\"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\":[],\"name\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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.\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[],"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":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":115} \ No newline at end of file diff --git a/out/VaultVotes.sol/VaultVotes.json b/out/VaultVotes.sol/VaultVotes.json new file mode 100644 index 0000000..f6147f0 --- /dev/null +++ b/out/VaultVotes.sol/VaultVotes.json @@ -0,0 +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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"0x60c0346101235761272b906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a052516125db9081610150823960805181818161055601526106c1015260a0518181816112870152818161141601526119d70152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe6080604052600436106119cd575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b60036119cd57611058565b61102b565b61100e565b610ff0565b610fd3565b610fb6565b610f7c565b610f51565b610f05565b610ee8565b610ec0565b610ea3565b610e69565b610e41565b610e17565b610def565b610da9565b610d5c565b610d22565b610d08565b610ce4565b610c50565b610bf2565b610bbe565b610b99565b610b71565b610b31565b610b09565b610aa2565b610a7d565b610a43565b610a1b565b6109e1565b6109b7565b610872565b610840565b61081b565b6107f3565b6107d2565b610787565b61074d565b610701565b6106ac565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206125668339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068a575f8051602061258683398151915280548281169260ff82881c16801561067e575b61066d5767ffffffffffffffff199091169087161790555f80516020612586833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461063f949093909261060e926113d0565b5f80516020612586833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105a5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610724826106f0565b805f525f80516020612566833981519152602052610748600160405f20015461145e565b6118cd565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a4816106f0565b336001600160a01b038216036107c05761066b90600435611903565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206125868339815191525416604051908152f35b346103915760603660031901126103915761088b6104a7565b602435610897816106f0565b6001600160401b0391604435838111610391576108b89036906004016104bd565b5f805160206125868339815191529491855494838616806109a65760ff8760401c16908115610999575b50610987577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109829661094f958716906001600160401b03191617905561094a5f80516020612586833981519152600160401b68ff000000000000000019825416179055565b611175565b5f80516020612586833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e2565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610aba611995565b5f8051602061254683398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4e816106f0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f80516020612546833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c44602435610c16816106f0565b6004355f525f80516020612566833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461039157604036600319011261039157600435610c6d816106f0565b6024356001600160401b038111610391575f91610c8f839236906004016104bd565b90816040519283928337810184815203915af4610cdc610cad61130c565b91610cce60405193849215156020840152604080840152606083019061133b565b03601f1981018352826110c4565b805190602001fd5b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610da0602435610d7e816106f0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c44602435610dcd816106f0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f28826106f0565b805f525f80516020612566833981519152602052610f4c600160405f20015461145e565b611903565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b60043561104b816106f0565b611053611995565b61135f565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110a457604052565b611075565b604081019081106001600160401b038211176110a457604052565b90601f801991011681019081106001600160401b038211176110a457604052565b6040519061024082018281106001600160401b038211176110a457604052565b6040519060c082018281106001600160401b038211176110a457604052565b6001600160401b0381116110a457601f01601f191660200190565b92919261114b82611124565b9161115960405193846110c4565b829481845281830111610391578281602093845f960137010152565b916111c592611182611a09565b61118a611a09565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166112f2575b50369161113f565b8051602090820181810182848303126103915782840151936001600160401b039485811161039157606091018093031261039157604090815161120781611089565b8484015186811161039157840182603f8201121561039157828185886112309401519101611a37565b81528284015186811161039157828661124b92870101611a6d565b938582019485526060810151968711610391576112756112ce93876112ef99611282940101611a6d565b9184810192835251611cf4565b6112c87f00000000000000000000000000000000000000000000000000000000000000009451915191610cce855193849263602bd8e760e01b8a85015260248401611a8a565b83611aaf565b505191634f4e823d60e01b90830152600482526112ea826110a9565b611aaf565b50565b611306906112fe611a09565b611053611a09565b5f6111bd565b3d15611336573d9061131d82611124565b9161132b60405193846110c4565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113b8575f8051602061254683398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916113e76003926001600160401b0392369161113f565b92160361144c575161143a57604051634f4e823d60e01b6020820152600481526112ef90611414816110a9565b7f0000000000000000000000000000000000000000000000000000000000000000611aaf565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125668339815191526020908152604080832033845290915290205460ff161561148e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125668339815191529060ff16611557575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125668339815191529060ff905b541661162c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125668339815191529060ff906115c8565b5f8181525f80516020612566833981519152602081815260408084206001600160a01b038716855290915290912060ff906115c8565b5f8181525f80516020612566833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561162c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612546833981519152546001600160a01b031633036119b557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a05573d5ff35b3d5ffd5b60ff5f805160206125868339815191525460401c1615611a2557565b604051631afcd79f60e31b8152600490fd5b929192611a4382611124565b91611a5160405193846110c4565b829481845281830111610391578281602093845f96015e010152565b9080601f83011215610391578151611a8792602001611a37565b90565b9091611aa1611a879360408452604084019061133b565b91602081840391015261133b565b5f80611a8793602081519101845af4611ac661130c565b916123ab565b5190611ad7826106f0565b565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110a4578360051b9060405194611b2d858401876110c4565b85528380860192820101928311610391578301905b828210611b50575050505090565b8380918351611b5e816106f0565b815201910190611b42565b906020828203126103915781516001600160401b03928382116103915701906102408282031261039157611b9b6110e5565b92611ba583611acc565b8452611bb360208401611acc565b6020850152611bc460408401611ad9565b6040850152611bd560608401611aec565b6060850152611be660808401611aec565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c17818501611acc565b90850152610120611c29818501611acc565b90850152610140611c3b818501611acc565b90850152610160611c4d818501611acc565b90850152610180918284015191821161039157611c6b918401611af9565b908301526101a0611c7d818301611acc565b908301526101c0611c8f818301611acc565b908301526101e0611ca1818301611acc565b90830152610200611cb3818301611acc565b90830152611cc5610220809201611acc565b9082015290565b8051821015611ce05760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d079060208082518301019101611b69565b805190916001600160a01b0391821615612399576040908184019065ffffffffffff611d39835165ffffffffffff1690565b16156123885761012085018051909490611d63906001600160a01b03165b6001600160a01b031690565b15612253575b6060860195611d7f611d7b8851151590565b1590565b80612244575b61223357610180810196955f5b88518051821015611e4357611d57611dad83611dba93611ccc565b516001600160a01b031690565b15611e3257611df3611dec611dd3611dad848d51611ccc565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e215780611e1b611e0e611dd3611dad6001958e51611ccc565b805460ff19166001179055565b01611d92565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e5f611d57855160018060a01b031690565b156120fb575b926120156120058694611fff611fda61204996611f3e6101c09a611f3960c06120a89e015191611f298d611f1960e082015193611f09611eaf61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611ee790610220906001600160a01b03169701516001600160a01b031690565b97611ef0611105565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61240e565b8851611f75906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611fce611fa542612513565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61203c6120256080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dad60a0840151600455565b8481166120eb575b506101408101516001600160a01b03168481166120db575b506101608101516001600160a01b03168481166120cb575b506101a08101516001600160a01b03168481166120bb575b5001516001600160a01b031690565b9081166120b25750565b6112ef90611711565b6120c4906116a2565b505f612099565b6120d490611633565b505f612081565b6120e49061155d565b505f612069565b6120f4906114ac565b505f612051565b610100850151612113906001600160a01b0316611d57565b6121e25761020085015161212f906001600160a01b0316611d57565b6121a35761022085015161214b906001600160a01b0316611d57565b151580612197575b61218757926120156120056120a89694611fff611fda61204996611f3e6101c09a5b979a5050965050509496505050611e65565b51630331eb0f60e41b8152600490fd5b5060e085015115612153565b6102208501516121bb906001600160a01b0316611d57565b1561218757926120156120056120a89694611fff611fda61204996611f3e6101c09a612175565b6102008501516121fa906001600160a01b0316611d57565b1580612227575b61218757926120156120056120a89694611fff611fda61204996611f3e6101c09a612175565b5060e085015115612201565b845163ebf503c560e01b8152600490fd5b50610180810151511515611d85565b61014086015161226b906001600160a01b0316611d57565b15612323575b6101a0860151612289906001600160a01b0316611d57565b15612294575b611d69565b6080860151156122df5760a086015115806122c0575b15611d6957835163183c854560e21b8152600490fd5b506101c08601516122d9906001600160a01b0316611d57565b156122aa565b60a086015115801590612303575b1561228f57835163183c854560e21b8152600490fd5b506101c086015161231c906001600160a01b0316611d57565b15156122ed565b60608601511561235a57610160860151612345906001600160a01b0316611d57565b61227157835163183c854560e21b8152600490fd5b610160860151612372906001600160a01b0316611d57565b1561227157835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123d257508051156123c057805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612405575b6123e3575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156123db565b6003815110612501576040810180516001600160a01b03929190831615806124f4575b6124e2578161247b61245960a09361244c6124b69651600f55565b611dad6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124d2575b5060808101516001600160a01b03168481166124c9575001516001600160a01b031690565b9081166124c05750565b6112ef9061185e565b6120c4906117ef565b6124db90611780565b505f612491565b604051630331eb0f60e41b8152600490fd5b5060208201511515612431565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612526571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212203175b7da7f8fb28238db3064e4e120c76807fecbf99c7e8bacea01bf710669f064736f6c63430008190033","sourceMap":"328:879:116:-:0;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;328:879:116;;;;;;;;;7896:76:26;;328:879:116;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:84;;;;;1258:31:111;;328:879:116;;;;;;;927:17:84;328:879:116;;;;;;;;;;1258:31:111;328:879:116;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;328:879:116;;;;;;;;;;;;;8087:29:26;;328:879:116;;8087:29:26;7981:146;;;;;7896:76;328:879:116;;-1:-1:-1;;;7938:23:26;;;;;328:879:116;-1:-1:-1;328:879:116;;;;;;-1:-1:-1;328:879:116;;;;;-1:-1:-1;328:879:116;;;;-1:-1:-1;;;;;328:879:116;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106119cd575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b60036119cd57611058565b61102b565b61100e565b610ff0565b610fd3565b610fb6565b610f7c565b610f51565b610f05565b610ee8565b610ec0565b610ea3565b610e69565b610e41565b610e17565b610def565b610da9565b610d5c565b610d22565b610d08565b610ce4565b610c50565b610bf2565b610bbe565b610b99565b610b71565b610b31565b610b09565b610aa2565b610a7d565b610a43565b610a1b565b6109e1565b6109b7565b610872565b610840565b61081b565b6107f3565b6107d2565b610787565b61074d565b610701565b6106ac565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206125668339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068a575f8051602061258683398151915280548281169260ff82881c16801561067e575b61066d5767ffffffffffffffff199091169087161790555f80516020612586833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461063f949093909261060e926113d0565b5f80516020612586833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105a5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610724826106f0565b805f525f80516020612566833981519152602052610748600160405f20015461145e565b6118cd565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a4816106f0565b336001600160a01b038216036107c05761066b90600435611903565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206125868339815191525416604051908152f35b346103915760603660031901126103915761088b6104a7565b602435610897816106f0565b6001600160401b0391604435838111610391576108b89036906004016104bd565b5f805160206125868339815191529491855494838616806109a65760ff8760401c16908115610999575b50610987577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109829661094f958716906001600160401b03191617905561094a5f80516020612586833981519152600160401b68ff000000000000000019825416179055565b611175565b5f80516020612586833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e2565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610aba611995565b5f8051602061254683398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4e816106f0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f80516020612546833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c44602435610c16816106f0565b6004355f525f80516020612566833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461039157604036600319011261039157600435610c6d816106f0565b6024356001600160401b038111610391575f91610c8f839236906004016104bd565b90816040519283928337810184815203915af4610cdc610cad61130c565b91610cce60405193849215156020840152604080840152606083019061133b565b03601f1981018352826110c4565b805190602001fd5b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610da0602435610d7e816106f0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c44602435610dcd816106f0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f28826106f0565b805f525f80516020612566833981519152602052610f4c600160405f20015461145e565b611903565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b60043561104b816106f0565b611053611995565b61135f565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110a457604052565b611075565b604081019081106001600160401b038211176110a457604052565b90601f801991011681019081106001600160401b038211176110a457604052565b6040519061024082018281106001600160401b038211176110a457604052565b6040519060c082018281106001600160401b038211176110a457604052565b6001600160401b0381116110a457601f01601f191660200190565b92919261114b82611124565b9161115960405193846110c4565b829481845281830111610391578281602093845f960137010152565b916111c592611182611a09565b61118a611a09565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166112f2575b50369161113f565b8051602090820181810182848303126103915782840151936001600160401b039485811161039157606091018093031261039157604090815161120781611089565b8484015186811161039157840182603f8201121561039157828185886112309401519101611a37565b81528284015186811161039157828661124b92870101611a6d565b938582019485526060810151968711610391576112756112ce93876112ef99611282940101611a6d565b9184810192835251611cf4565b6112c87f00000000000000000000000000000000000000000000000000000000000000009451915191610cce855193849263602bd8e760e01b8a85015260248401611a8a565b83611aaf565b505191634f4e823d60e01b90830152600482526112ea826110a9565b611aaf565b50565b611306906112fe611a09565b611053611a09565b5f6111bd565b3d15611336573d9061131d82611124565b9161132b60405193846110c4565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113b8575f8051602061254683398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916113e76003926001600160401b0392369161113f565b92160361144c575161143a57604051634f4e823d60e01b6020820152600481526112ef90611414816110a9565b7f0000000000000000000000000000000000000000000000000000000000000000611aaf565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125668339815191526020908152604080832033845290915290205460ff161561148e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125668339815191529060ff16611557575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125668339815191529060ff905b541661162c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125668339815191529060ff906115c8565b5f8181525f80516020612566833981519152602081815260408084206001600160a01b038716855290915290912060ff906115c8565b5f8181525f80516020612566833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561162c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612546833981519152546001600160a01b031633036119b557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a05573d5ff35b3d5ffd5b60ff5f805160206125868339815191525460401c1615611a2557565b604051631afcd79f60e31b8152600490fd5b929192611a4382611124565b91611a5160405193846110c4565b829481845281830111610391578281602093845f96015e010152565b9080601f83011215610391578151611a8792602001611a37565b90565b9091611aa1611a879360408452604084019061133b565b91602081840391015261133b565b5f80611a8793602081519101845af4611ac661130c565b916123ab565b5190611ad7826106f0565b565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110a4578360051b9060405194611b2d858401876110c4565b85528380860192820101928311610391578301905b828210611b50575050505090565b8380918351611b5e816106f0565b815201910190611b42565b906020828203126103915781516001600160401b03928382116103915701906102408282031261039157611b9b6110e5565b92611ba583611acc565b8452611bb360208401611acc565b6020850152611bc460408401611ad9565b6040850152611bd560608401611aec565b6060850152611be660808401611aec565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c17818501611acc565b90850152610120611c29818501611acc565b90850152610140611c3b818501611acc565b90850152610160611c4d818501611acc565b90850152610180918284015191821161039157611c6b918401611af9565b908301526101a0611c7d818301611acc565b908301526101c0611c8f818301611acc565b908301526101e0611ca1818301611acc565b90830152610200611cb3818301611acc565b90830152611cc5610220809201611acc565b9082015290565b8051821015611ce05760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d079060208082518301019101611b69565b805190916001600160a01b0391821615612399576040908184019065ffffffffffff611d39835165ffffffffffff1690565b16156123885761012085018051909490611d63906001600160a01b03165b6001600160a01b031690565b15612253575b6060860195611d7f611d7b8851151590565b1590565b80612244575b61223357610180810196955f5b88518051821015611e4357611d57611dad83611dba93611ccc565b516001600160a01b031690565b15611e3257611df3611dec611dd3611dad848d51611ccc565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e215780611e1b611e0e611dd3611dad6001958e51611ccc565b805460ff19166001179055565b01611d92565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e5f611d57855160018060a01b031690565b156120fb575b926120156120058694611fff611fda61204996611f3e6101c09a611f3960c06120a89e015191611f298d611f1960e082015193611f09611eaf61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611ee790610220906001600160a01b03169701516001600160a01b031690565b97611ef0611105565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61240e565b8851611f75906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611fce611fa542612513565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61203c6120256080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dad60a0840151600455565b8481166120eb575b506101408101516001600160a01b03168481166120db575b506101608101516001600160a01b03168481166120cb575b506101a08101516001600160a01b03168481166120bb575b5001516001600160a01b031690565b9081166120b25750565b6112ef90611711565b6120c4906116a2565b505f612099565b6120d490611633565b505f612081565b6120e49061155d565b505f612069565b6120f4906114ac565b505f612051565b610100850151612113906001600160a01b0316611d57565b6121e25761020085015161212f906001600160a01b0316611d57565b6121a35761022085015161214b906001600160a01b0316611d57565b151580612197575b61218757926120156120056120a89694611fff611fda61204996611f3e6101c09a5b979a5050965050509496505050611e65565b51630331eb0f60e41b8152600490fd5b5060e085015115612153565b6102208501516121bb906001600160a01b0316611d57565b1561218757926120156120056120a89694611fff611fda61204996611f3e6101c09a612175565b6102008501516121fa906001600160a01b0316611d57565b1580612227575b61218757926120156120056120a89694611fff611fda61204996611f3e6101c09a612175565b5060e085015115612201565b845163ebf503c560e01b8152600490fd5b50610180810151511515611d85565b61014086015161226b906001600160a01b0316611d57565b15612323575b6101a0860151612289906001600160a01b0316611d57565b15612294575b611d69565b6080860151156122df5760a086015115806122c0575b15611d6957835163183c854560e21b8152600490fd5b506101c08601516122d9906001600160a01b0316611d57565b156122aa565b60a086015115801590612303575b1561228f57835163183c854560e21b8152600490fd5b506101c086015161231c906001600160a01b0316611d57565b15156122ed565b60608601511561235a57610160860151612345906001600160a01b0316611d57565b61227157835163183c854560e21b8152600490fd5b610160860151612372906001600160a01b0316611d57565b1561227157835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123d257508051156123c057805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612405575b6123e3575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156123db565b6003815110612501576040810180516001600160a01b03929190831615806124f4575b6124e2578161247b61245960a09361244c6124b69651600f55565b611dad6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124d2575b5060808101516001600160a01b03168481166124c9575001516001600160a01b031690565b9081166124c05750565b6112ef9061185e565b6120c4906117ef565b6124db90611780565b505f612491565b604051630331eb0f60e41b8152600490fd5b5060208201511515612431565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612526571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212203175b7da7f8fb28238db3064e4e120c76807fecbf99c7e8bacea01bf710669f064736f6c63430008190033","sourceMap":"328:879:116:-:0;;;;;;2603:64:51;328:879:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;328:879:116;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::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;;328:879:116;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;328:879:116;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;328:879:116;-1:-1:-1;328:879:116;;;;;;;;-1:-1:-1;;328:879:116;;;;;3653:32:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;757:38:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;612:37:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;2084:35:113;328:879:116;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;-1:-1:-1;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;;4919:24:23;328:879:116;-1:-1:-1;328:879:116;4919:24:23;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;328:879:116;;3670:20:30;3666:88;;1991:1;;;1673:7:84;-1:-1:-1;;;;;328:879:116;1659:10:84;:21;1655:71;;-1:-1:-1;;;;;;;;;;;328:879:116;;;;;;;;;;;6431:44:26;;;;328:879:116;6427:105:26;;-1:-1:-1;;328:879:116;;;;;;;;;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;328:879:116;-1:-1:-1;;;328:879:116;;;6656:20:26;;;;328:879:116;;;;1809:204:84;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;328:879:116;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;328:879:116;6427:105:26;328:879:116;;-1:-1:-1;;;6498:23:26;;328:879:116;;6498:23:26;6431:44;328:879:116;;;;6450:25:26;;;6431:44;;1655:71:84;328:879:116;;-1:-1:-1;;;1703:12:84;;328:879:116;;1703:12:84;3666:88:30;328:879:116;;-1:-1:-1;;;3713:30:30;;328:879:116;;3713:30:30;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;;;655:32:84;-1:-1:-1;;;;;328:879:116;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;:::o;:::-;;;;;;-1:-1:-1;;328:879:116;;;;5350:25:23;328:879:116;;;;;;;:::i;:::-;;-1:-1:-1;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;3202:4:23;4919:24;328:879:116;-1:-1:-1;328:879:116;4919:24:23;328:879:116;3202:4:23;:::i;:::-;5350:25;:::i;328:879:116:-;;;;;;-1:-1:-1;;328:879:116;;;;;;;1329:40:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;328:879:116;;6441:34:23;6437:102;;6549:37;328:879:116;;;6549:37:23;:::i;6437:102::-;328:879:116;;-1:-1:-1;;;6498:30:23;;328:879:116;;6498:30:23;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;4126:39:113;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;2255:34:113;328:879:116;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;-1:-1:-1;;;;;;;;;;;;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;328:879:116;;;;;;734:29:84;730:87;;328:879:116;;;;;6431:44:26;;;;;328:879:116;6427:105:26;;;6656:20;328:879:116;6656:20:26;328:879:116;1167:340:84;328:879:116;;;;-1:-1:-1;;;;;328:879:116;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;328:879:116;;;;;;;;;6575:22:26;1167:340:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;328:879:116;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;6656:20:26;;;;328:879:116;6427:105:26;328:879:116;;-1:-1:-1;;;6498:23:26;;328:879:116;;6498:23:26;6431:44;328:879:116;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:84;328:879:116;;-1:-1:-1;;;786:20:84;;328:879:116;;786:20:84;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;;;-1:-1:-1;328:879:116;2718:59:113;328:879:116;;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;1041:36:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;1989:39:113;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;1564:45:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;2423:32:113;328:879:116;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;;;328:879:116;;;;;;;-1:-1:-1;;;;;328:879:116;3975:40:24;328:879:116;;3975:40:24;328:879:116;;;;;;;-1:-1:-1;;328:879:116;;;;;;4027:43:113;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;328:879:116;2594:68:113;328:879:116;;;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;3932:39:113;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;3833:43:113;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;-1:-1:-1;;;;;;;;;;;328:879:116;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;3901:31:23;328:879:116;;;;;:::i;:::-;;;-1:-1:-1;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;;;;3901:31:23;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;328:879:116;;;;-1:-1:-1;328:879:116;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;328:879:116;;;;;;;;;;477:31:88;;328:879:116;;;;;;;;;;;:::i;:::-;477:31:88;;;;;;;;;:::i;:::-;518:79;;;328:879:116;518:79:88;;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;900:35:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;2953:94:113;328:879:116;;;;;:::i;:::-;;;-1:-1:-1;328:879:116;2953:94:113;328:879:116;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;;;;2953:94:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;3103:92:113;328:879:116;;;;;:::i;:::-;;;-1:-1:-1;328:879:116;3103:92:113;328:879:116;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;4396:31:113;328:879:116;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;-1:-1:-1;328:879:116;2833:64:113;328:879:116;;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;2345:22:113;328:879:116;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;1183:36:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;3543:54:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;2175:24:113;328:879:116;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;3741:36:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;5767:26:23;328:879:116;;;;;;;:::i;:::-;;-1:-1:-1;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;3202:4:23;4919:24;328:879:116;-1:-1:-1;328:879:116;4919:24:23;328:879:116;3202:4:23;:::i;:::-;5767:26;:::i;328:879:116:-;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;466:39:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;4221:36:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;4313:27:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;1466:3:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;2357:1:24;328:879:116;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;328:879:116:-;;;;;;-1:-1:-1;;328:879:116;;;;;3437:50:113;328:879:116;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;;;477:31:88;;328:879:116;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;;;;5224:34:111;328:879:116;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;-1:-1:-1;;;;;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:116;;;;;;:::o;1167:340:84:-;;328:879:116;1167:340:84;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;328:879:116;;1376:73:84;;1167:340;328:879:116;;;;:::i;:::-;;;674:55:114;;;;;;;328:879:116;;;;;;;674:55:114;;;328:879:116;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;811:157:114;328:879:116;;688:101;328:879;;;;;;:::i;:::-;;;;;;;;782:17:114;328:879:116;:::i;:::-;863:95:114;1428:14:111;930:11:114;;943:13;;328:879:116;863:95:114;328:879:116;;863:95:114;;;;;;;;;;;;;;:::i;:::-;811:157;;:::i;:::-;;328:879:116;727:61;;;;;;;;;;;;;;:::i;:::-;688:101;:::i;:::-;;1167:340:84:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:84;;;328:879:116;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;328:879:116;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:116;;;;;;;;-1:-1:-1;;328:879:116;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;328:879:116;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;;;328:879:116;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;328:879:116;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;328:879:116;;;3534:31:24;1809:204:84;;328:879:116;937:1;1809:204:84;-1:-1:-1;;;;;1809:204:84;328:879:116;;;:::i;:::-;;;923:15;919:80;;328:879;1009:78;;328:879;;-1:-1:-1;;;1136:61:116;;;;;;;1097:101;;1136:61;328:879;1136:61;:::i;:::-;1428:14:111;1097:101:116;:::i;1009:78::-;328:879;;-1:-1:-1;;;1051:25:116;;;;;919:80;328:879;;-1:-1:-1;;;961:27:116;;;;;4148:103:23;-1:-1:-1;328:879:116;;;-1:-1:-1;;;;;;;;;;;328:879:116;;;;;;;;966:10:28;328:879:116;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;328:879:116;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;328:879:116;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;328:879:116;;2667:17:111;328:879:116;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;;;2667:17:111;328:879:116;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;-1:-1:-1;;328:879:116;7509:4:23;328:879:116;;;966:10:28;;-1:-1:-1;;;;;328:879:116;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;2667:17:111;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;466:39:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;;;;-1:-1:-1;328:879:116;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;-1:-1:-1;;328:879:116;7509:4:23;328:879:116;;;966:10:28;;-1:-1:-1;;;;;328:879:116;;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;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;612:37:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;757:38:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;900:35:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;1041:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;1183:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;1329:40:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;328:879:116;;;-1:-1:-1;;;;;;;;;;;328:879:116;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;3901:31:23;328:879:116;7892:388:23;-1:-1:-1;328:879:116;;;-1:-1:-1;;;;;;;;;;;328:879:116;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;328:879:116;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;-1:-1:-1;;328:879:116;;;966:10:28;;-1:-1:-1;;;;;328:879:116;;8155:40:23;-1:-1:-1;;8155:40:23;328:879:116;8209:11:23;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;328:879:116;-1:-1:-1;;;;;328:879:116;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;328:879:116;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;328:879:116;;;2763:40:24;2323:83:51;1019:819;;;;;;;1428:14:111;;1019:819:51;;;;;;;;;;;;;;;;7084:141:26;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;328:879:116;;-1:-1:-1;;;7191:17:26;;;;;328:879:116;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:116;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:57:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;328:879:116:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2486:4272:111;2615:37;2486:4272;2615:37;328:879:116;;;2615:37:111;;;;;;:::i;:::-;328:879:116;;;;-1:-1:-1;;;;;328:879:116;;;2667:31:111;2663:95;;2772:20;;;;;328:879:116;;;;;;;;;;;2772:25:111;2768:92;;2874:29;;;328:879:116;;2874:29:111;;328:879:116;2874:43:111;;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;;;;;328:879:116;;;2874:43:111;;2870:971;;2486:4272;3856:23;;;328:879:116;3855:24:111;328:879:116;;;;;;;;3855:24:111;;328:879:116;3855:24:111;:67;;;2486:4272;3851:132;;4013:28;;;;3998:9;2667:17;4050:3;4013:28;;328:879:116;;4009:39:111;;;;;4073:31;;;:45;:31;;:::i;:::-;328:879:116;-1:-1:-1;;;;;328:879:116;;;4073:45:111;;4069:114;;4201:55;;4224:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;328:879:116;;;;;4201:22:111;328:879:116;;;;;;;4201:55:111;328:879:116;;;;;4201:55:111;4197:120;;4354:28;4331:62;:55;4354:31;;328:879:116;4354:28:111;;;:31;:::i;4331:55::-;328:879:116;;-1:-1:-1;;328:879:116;4389:4:111;328:879:116;;;;4331:62:111;328:879:116;3998:9:111;;4197:120;328:879:116;;-1:-1:-1;;;4283:19:111;;;;;4069:114;328:879:116;;-1:-1:-1;;;4145:23:111;;;;;4009:39;;;;;;;;;;4418:43;328:879:116;;;;;;;;;;;4418:43:111;;4414:697;;3993:411;5224:34;5828:42;328:879:116;5224:34:111;;5773:44;328:879:116;;5224:34:111;5156:468;6611:32;5224:34;5156:468;5224:34;328:879:116;5224:34:111;;328:879:116;5290:19:111;5156:468;5290:19;5156:468;5290:19;;;328:879:116;5345:23:111;5156:468;328:879:116;5345:23:111;;;328:879:116;;;;;;;;;;5414:33:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;5492:32:111;;;328:879:116;5492:32:111;;;328:879:116;;5573:36:111;;-1:-1:-1;;;;;328:879:116;5573:36:111;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;;;;:::i;:::-;;;;2615:37:111;5156:468;;328:879:116;-1:-1:-1;;;;;328:879:116;;;5156:468:111;;;328:879:116;;5156:468:111;-1:-1:-1;;;;;328:879:116;3856:23:111;5156:468;;328:879:116;;5156:468:111;-1:-1:-1;;;;;328:879:116;5156:468:111;;;328:879:116;;5156:468:111;-1:-1:-1;;;;;328:879:116;5156:468:111;;;328:879:116;;5156:468:111;;:::i;:::-;328:879:116;;5645:30:111;;-1:-1:-1;;;;;328:879:116;2667:17:111;328:879:116;;-1:-1:-1;;;;;;328:879:116;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;5645:30:111;2615:37;5695:13;;328:879:116;;;;-1:-1:-1;;;;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;;;;;;5719:44:111;819:34:75;837:15;819:34;:::i;:::-;4389:4:111;328:879:116;;-1:-1:-1;;;;328:879:116;;;;;;-1:-1:-1;;;328:879:116;;;;;;;;5719:44:111;328:879:116;;;;;;4389:4:111;328:879:116;;-1:-1:-1;;;;;328:879:116;;;;;;-1:-1:-1;;;;;;328:879:116;;;;;;;;5773:44:111;328:879:116;;;;;;;;;2667:17:111;328:879:116;;;;;;;2667:17:111;328:879:116;;5828:42:111;5881:38;328:879:116;5156:468:111;5898:21;;328:879:116;;;;;;;2667:17:111;328:879:116;;;;;;;;;;;;2667:17:111;328:879:116;;5881:38:111;5929:34;5156:468;5944:19;;328:879:116;5929:34:111;1991:1:30;;328:879:116;;;;5974:135:111;;3993:411;-1:-1:-1;6122:36:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;6118:157:111;;3993:411;-1:-1:-1;6288:35:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;6284:153:111;;3993:411;-1:-1:-1;6450:34:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;6446:152:111;;3993:411;-1:-1:-1;6611:32:111;328:879:116;-1:-1:-1;;;;;328:879:116;;;;;;;6607:145:111;;2486:4272;:::o;6607:145::-;6673:68;;;:::i;6446:152::-;6514:73;;;:::i;:::-;;6446:152;;;6284:153;6353:73;;;:::i;:::-;;6284:153;;;6118:157;6188:76;;;:::i;:::-;;6118:157;;;5974:135;6037:61;;;:::i;:::-;;5974:135;;;4414:697;4481:23;;;328:879:116;4481:37:111;;-1:-1:-1;;;;;328:879:116;;;4481:37:111;:23;;4542:32;;;328:879:116;4542:46:111;;-1:-1:-1;;;;;328:879:116;;;4542:46:111;:32;;4616:36;;;328:879:116;4616:50:111;;-1:-1:-1;;;;;328:879:116;;;4616:50:111;;;:78;;;4538:396;4612:167;;4538:396;5828:42;328:879:116;;4538:396:111;;5773:44;328:879:116;;4538:396:111;5156:468;6611:32;4538:396;;4414:697;;;;;;;;;;;;;;;4612:167;328:879:116;-1:-1:-1;;;4729:27:111;;;;;4616:78;4670:19;;;;328:879:116;4670:24:111;4616:78;;4538:396;4807:36;;;328:879:116;4807:50:111;;-1:-1:-1;;;;;328:879:116;;;4807:50:111;;4803:131;;4538:396;5828:42;328:879:116;;4538:396:111;;5773:44;328:879:116;;4538:396:111;5156:468;6611:32;4538:396;;;4477:624;4958:32;;;328:879:116;4958:46:111;;-1:-1:-1;;;;;328:879:116;;;4958:46:111;;:74;;;4477:624;4954:147;;4477:624;5828:42;328:879:116;;4477:624:111;;5773:44;328:879:116;;4477:624:111;5156:468;6611:32;4477:624;;;4958:74;5008:19;;;;328:879:116;5008:24:111;4958:74;;3851:132;328:879:116;;-1:-1:-1;;;3945:27:111;;;;;3855:67;3883:28;;;;;328:879:116;3883:39:111;;3855:67;;2870:971;2937:36;;;328:879:116;2937:50:111;;-1:-1:-1;;;;;328:879:116;;;2937:50:111;;2933:419;;2870:971;3370:34;;;328:879:116;3370:48:111;;-1:-1:-1;;;;;328:879:116;;;3370:48:111;;3366:465;;2870:971;;;3366:465;3442:21;;;328:879:116;;3442:21:111;;3491:19;;;328:879:116;3491:24:111;:74;;;3438:379;3487:157;2870:971;3487:157;328:879:116;;-1:-1:-1;;;3600:21:111;;;;;3491:74;-1:-1:-1;3519:32:111;;;328:879:116;3519:46:111;;-1:-1:-1;;;;;328:879:116;;;3519:46:111;;3491:74;;3438:379;3672:19;;;328:879:116;3672:24:111;;;:74;;;3438:379;3668:149;3366:465;3668:149;328:879:116;;-1:-1:-1;;;3777:21:111;;;;;3672:74;-1:-1:-1;3700:32:111;;;328:879:116;3700:46:111;;-1:-1:-1;;;;;328:879:116;;;3700:46:111;;;3672:74;;2933:419;3011:23;;;328:879:116;;3011:23:111;;3062:35;;;328:879:116;3062:49:111;;-1:-1:-1;;;;;328:879:116;;;3062:49:111;2933:419;3058:132;328:879:116;;-1:-1:-1;;;3146:21:111;;;;;3007:331;3218:35;;;328:879:116;3218:49:111;;-1:-1:-1;;;;;328:879:116;;;3218:49:111;3214:124;2933:419;3214:124;328:879:116;;-1:-1:-1;;;3298:21:111;;;;;2768:92;328:879:116;;-1:-1:-1;;;2820:29:111;;;;;2663:95;328:879:116;;-1:-1:-1;;;2721:26:111;;;;;4421:582:57;;4593:8;;-1:-1:-1;328:879:116;;5674:21:57;:17;;5799:158;;;;;;5670:354;328:879:116;;-1:-1:-1;;;5994:19:57;;;;;4589:408;328:879:116;;4841:22:57;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;328:879:116;;-1:-1:-1;;;4917:24:57;;-1:-1:-1;;;;;328:879:116;;;4917:24:57;;;328:879:116;;;4917:24:57;4841:49;4867:18;;;:23;4841:49;;1455:1025:111;1596:1;328:879:116;;1559:38:111;1555:119;;1688:23;;;328:879:116;;-1:-1:-1;;;;;328:879:116;1688:23:111;;328:879:116;;1688:37:111;;:65;;1455:1025;1684:130;;328:879:116;1951:42:111;328:879:116;2320:36:111;328:879:116;1824:72:111;328:879:116;;;1824:72:111;1991:1:30;;1824:72:111;1907:34;1922:19;;;328:879:116;1907:34:111;1991:1:30;;328:879:116;;;;;;;;;;1951:42:111;328:879:116;;;1951:42:111;328:879:116;;1951:42:111;2008:33;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;2004:148:111;;1455:1025;-1:-1:-1;2165:32:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;2161:146:111;;-1:-1:-1;2320:36:111;328:879:116;-1:-1:-1;;;;;328:879:116;;;;;;;2316:158:111;;1455:1025;:::o;2316:158::-;2386:77;;;:::i;2161:146::-;2227:69;;;:::i;2004:148::-;2071:70;;;:::i;:::-;;2004:148;;;1684:130;1688:23;328:879:116;-1:-1:-1;;;1776:27:111;;;;;1688:65;1729:19;;;;328:879:116;1729:24:111;;1688:65;;1555:119;328:879:116;;-1:-1:-1;;;1620:43:111;;;;;14296:213:71;328:879:116;14374:24:71;;;;14370:103;;328:879:116;14296:213:71;:::o;14370:103::-;328:879:116;;;;14421:41:71;;;;;;14452:2;14421:41;;;328:879:116;;;;;14421:41:71","linkReferences":{},"immutableReferences":{"60387":[{"start":1366,"length":32},{"start":1729,"length":32}],"71678":[{"start":4743,"length":32},{"start":5142,"length":32},{"start":6615,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155\",\"dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302\",\"dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc","urls":["bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155","dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba","urls":["bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302","dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"license":"MIT"}},"version":1},"id":116} \ No newline at end of file diff --git a/out/VaultVotesImplementation.sol/VaultVotesImplementation.json b/out/VaultVotesImplementation.sol/VaultVotesImplementation.json new file mode 100644 index 0000000..98e3770 --- /dev/null +++ b/out/VaultVotesImplementation.sol/VaultVotesImplementation.json @@ -0,0 +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":"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":"_VaultVotes_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","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":"result","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":"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":"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":"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":"InvalidOrigin","inputs":[]},{"type":"error","name":"NotInitializing","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":"0x60a034606d57601f61271438819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161268e908161008682396080518181816104a40152611cd20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220dd4f12eb976a7e9ae2c8f2668aeb68852feae03f439cf3e6da346390bce1449664736f6c63430008190033","sourceMap":"1065:3768:117:-:0;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;1403:40;;1065:3768;;;;;;;;1403:40;1065:3768;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;-1:-1:-1;1065:3768:117;;;;;-1:-1:-1;1065:3768:117","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220dd4f12eb976a7e9ae2c8f2668aeb68852feae03f439cf3e6da346390bce1449664736f6c63430008190033","sourceMap":"1065:3768:117:-:0;;;;;;2603:64:51;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;1065:3768:117;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::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;;1065:3768:117;;;;;3653:32:113;1065:3768:117;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;757:38:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;612:37:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;2084:35:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;3540:6;3393:48;3328:156;3352:90;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:117;3393:48;;;-1:-1:-1;;;;;1065:3768:117;;;;3393:48;;;1065:3768;;;;;;;;;;;;;;;;3393:48;;;;;;;;;;:::i;:::-;3352:19;:90;:::i;:::-;1065:3768;;;;3328:156;;;;;;:::i;:::-;3516:10;;;;3540:6;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;:::i;:::-;4133:5;1065:3768;;:::i;:::-;;;;3953:138;3977:96;1065:3768;;4018:54;;;1065:3768;4018:54;;;1065:3768;;;;;;;;;4018:54;;1065:3768;;;;;;;;;;;;;4018:54;;;;;:::i;3977:96::-;1065:3768;;;;3953:138;;;;;;:::i;:::-;4133:5;;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1329:40:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;:::i;:::-;;;837:15:75;819:34;837:15;819:34;:::i;:::-;1065:3768:117;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;1065:3768:117;;9737:15:73;-1:-1:-1;9762:18:73;;9801:1;9795:7;;9791:234;;1065:3768:117;10049:53:73;;;;;;:::i;:::-;10120:63;:8;;;:63;;1065:3768:117;-1:-1:-1;10120:63:73;1065:3768:117;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;10120:63:73;10168:7;1065:3768:117;10168:7:73;;:::i;:::-;14439:109;-1:-1:-1;14439:109:73;;-1:-1:-1;14439:109:73;;1065:3768:117;;;10120:63:73;;9791:234;9838:14;;;;;:::i;:::-;1065:3768:117;;;;;;;10049:53:73;14439:109;;-1:-1:-1;14439:109:73;;;;-1:-1:-1;14439:109:73;;1065:3768:117;;;;;9870:48:73;9866:149;1065:3768:117;;;9938:10:73;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;1065:3768:117;;:::i;5073:115:25:-;1065:3768:117;;-1:-1:-1;;;5129:48:25;;1065:3768:117;5129:48:25;;1065:3768:117;;;;;;;;;;;;;;5129:48:25;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:117;2489:52;;;-1:-1:-1;;;;;1065:3768:117;;;2489:52;;;1065:3768;;;;;;;;;2424:160;;2448:94;;2489:52;1065:3768;;;;2489:52;1065:3768;2424:160;1065:3768;-1:-1:-1;;;;;2599:22:117;;:::i;:::-;:42;2595:100;;2750:12;;;;:::i;2595:100::-;1065:3768;;-1:-1:-1;;;2664:20:117;;1065:3768;;2664:20;1065:3768;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;-1:-1:-1;;1065:3768:117;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:117;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1065:3768:117;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;1065:3768:117;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;1065:3768:117;2806:64:31;1065:3768:117;;3875:17:31;3902:20;1065:3768:117;3902:16:31;1065:3768:117;;3902:20:31;1065:3768:117;;;;;-1:-1:-1;1065:3768:117;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;3393:48;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;;;4126:39:113;1065:3768:117;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;2255:34:113;1065:3768:117;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;-1:-1:-1;;;;;1065:3768:117;;;:::i;:::-;;-1:-1:-1;1065:3768:117;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;7028:9:25;1065:3768:117;;:::i;:::-;966:10:28;7028:9:25;:::i;1065:3768:117:-;;;;;;-1:-1:-1;;1065:3768:117;;;;;;-1:-1:-1;1065:3768:117;2718:59:113;1065:3768:117;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1041:36:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;1989:39:113;1065:3768:117;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1564:45:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;2423:32:113;1065:3768:117;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;4027:43:113;1065:3768:117;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;5204:22:25;1065:3768:117;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;-1:-1:-1;;;;;1065:3768:117;;:::i;:::-;;-1:-1:-1;1065:3768:117;2594:68:113;1065:3768:117;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;3932:39:113;1065:3768:117;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;-1:-1:-1;;;;;1065:3768:117;;:::i;:::-;;-1:-1:-1;1065:3768:117;972:64:29;1065:3768:117;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;2806:64:31;1065:3768:117;5777:18:31;:43;;;1065:3768:117;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;1065:3768:117;6043:16:31;;:::i;:::-;1065:3768:117;;6000:4:31;;;;5965:13;;1065:3768:117;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;-1:-1:-1;;;1065:3768:117;;;;;;;5777:43:31;1065:3768:117;5799:16:31;1065:3768:117;5799:21:31;5777:43;;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;;;3833:43:113;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;819:34:75;837:15;819:34;:::i;:::-;1065:3768:117;;;2039:29;;;2035:115;;7117:34:99;2198:28:117;;;:::i;:::-;7117:34:99;:::i;:::-;-1:-1:-1;;;;;1065:3768:117;;7168:7:99;1065:3768:117;;7178:17:99;1065:3768:117;7178:17:99;;:::i;:::-;1065:3768:117;;;;;;7168:31:99;1065:3768:117;;;;;;;;;;;;;7168:31:99;;1065:3768:117;-1:-1:-1;7168:31:99;;2035:115:117;1065:3768;;-1:-1:-1;;;2091:48:117;;1065:3768;2091:48;;1065:3768;;;;;;;;;;;;5129:48:25;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;;819:34:75;837:15;819:34;:::i;:::-;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;-1:-1:-1;;;;;4439:40:25;:31;1065:3768:117;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;1065:3768:117;;;;;;;;;;477:31:88;;1065:3768:117;;;;;;;;;;;:::i;477:31:88:-;518:79;;;1065:3768:117;518:79:88;;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;900:35:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;2953:94:113;1065:3768:117;;:::i;:::-;;;-1:-1:-1;1065:3768:117;2953:94:113;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;2953:94:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;3103:92:113;1065:3768:117;;:::i;:::-;;;-1:-1:-1;1065:3768:117;3103:92:113;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;3103:92:113;1065:3768:117;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;4396:31:113;1065:3768:117;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;:::i;:::-;;;-1:-1:-1;;;3719:44:117;;;;-1:-1:-1;;;;;1065:3768:117;;;3719:44;;;1065:3768;;;;;;;;;;;3821:5;;3667:106;;3678:86;;3719:44;1065:3768;;;;3719:44;1065:3768;3678:86;1065:3768;;;;3667:106;;;;;;:::i;:::-;3805:10;;3821:5;:::i;:::-;1065:3768;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;-1:-1:-1;1065:3768:117;2833:64:113;1065:3768:117;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;2345:22:113;1065:3768:117;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1183:36:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;3543:54:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;:::i;:::-;;;;;;;;;;;;;;;7310:15:25;;:24;7306:91;;7423:168;7660:9;1065:3768:117;7626:5:25;1065:3768:117;;;7477:57:25;1065:3768:117;7477:57:25;;1065:3768:117;2345:71:25;1065:3768:117;;;;;;;;;;2345:71:25;;1065:3768:117;2345:71:25;1065:3768:117;2345:71:25;;1065:3768:117;;2345:71:25;;1065:3768:117;;7477:57:25;;;;;:::i;:::-;7450:86;1065:3768:117;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;1065:3768:117;;-1:-1:-1;;;7357:29:25;;1065:3768:117;7357:29:25;;1065:3768:117;;;;;7357:29:25;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;2175:24:113;1065:3768:117;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;3741:36:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;466:39:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;4221:36:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;4313:27:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1466:3:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;2930:158;2954:92;2995:50;;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:117;2995:50;;;-1:-1:-1;;;;;1065:3768:117;;;;2995:50;;;1065:3768;;;;;;;;;;;;;;;;;2930:158;3120:10;3144:12;3120:10;;3144:12;:::i;1065:3768::-;;;;;;-1:-1:-1;;1065:3768:117;;;;;3437:50:113;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;3393:48;;1065:3768;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;3393:48;1065:3768;;-1:-1:-1;;1065:3768:117;;;;;:::i;:::-;;;;-1:-1:-1;1065:3768:117;;;;:::o;:::-;;;:::o;3900:253:57:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;:::-;3900:253;:::o;4204:165:117:-;-1:-1:-1;;;;;1065:3768:117;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;14296:213:71:-;1065:3768:117;14374:24:71;;;;14370:103;;1065:3768:117;14296:213:71;:::o;14370:103::-;1065:3768:117;;;;14421:41:71;;;;;;14452:2;14421:41;;;1065:3768:117;;;;;14421:41:71;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;:::o;:::-;;9999:1:73;1065:3768:117;;;;;;;:::o;9584:606:73:-;2166:13:117;;1065:3768;9737:15:73;9702:17;9762:18;;9801:1;9795:7;;9791:234;;9584:606;10049:53;;13105:230;13112:10;;;;;;-1:-1:-1;;;10120:8:73;;;:63;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;2166:13:117;9702:17:73;14439:109;;;1065:3768:117;;;9584:606:73;:::o;13105:230::-;3721:5:70;;;;;;3731;;;;1065:3768:117;;;;;;;;;14439:109:73;9702:17;14439:109;1065:3768:117;14439:109:73;;;;1065:3768:117;;;;;-1:-1:-1;13189:136:73;1065:3768:117;;;13248:10:73;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;1065:3768:117;;;;;;;2166:13;9702:17:73;14439:109;1065:3768:117;14439:109:73;;;;1065:3768:117;;;;;9870:48:73;9866:149;1065:3768:117;;;9938:10:73;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;1065:3768:117;;;;;;;;;;;;;7178:12:99;1065:3768:117;;;;;;7178:12:99;-1:-1:-1;1065:3768:117;;;;-1:-1:-1;1065:3768:117;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;1065:3768:117;;-1:-1:-1;1065:3768:117;;;-1:-1:-1;1065:3768:117;:::o;10580:184:99:-;2599:13:117;1065:3768;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;1065:3768:117;;10726:7:99;1065:3768:117;;10736:12:99;1065:3768:117;;;;;;10736:12:99;-1:-1:-1;1065:3768:117;;;;10580:184:99;:::o;10726:31::-;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;1065:3768:117;;;;;;;;2599:13;-1:-1:-1;14439:109:73;;;1065:3768:117;;;10446:63:73;;7855:367:25;-1:-1:-1;;;;;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;;;;-1:-1:-1;;;;;;1065:3768:117;;;;;;;8190:24:25;;1065:3768:117;;;;;;;;;8089:48:25;;-1:-1:-1;8089:48:25;4541:15:117;1065:3768;;;-1:-1:-1;1065:3768:117;10689:20:99;;;:::i;:::-;-1:-1:-1;;;;;1065:3768:117;;10726:7:99;1065:3768:117;;10736:12:99;:17;:12;;:17;:::i;:::-;1065:3768:117;;;;;;10726:31:99;8190:24:25;:::i;10726:31:99:-;;;-1:-1:-1;10726:31:99;8190:24:25;:::i;1065:3768:117:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:117;;;;;-1:-1:-1;;;1065:3768:117;;;;;;;;-1:-1:-1;1065:3768:117;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:117;;;;;-1:-1:-1;;;1065:3768:117;;;;;;;;-1:-1:-1;1065:3768:117;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;10310:206:73;1065:3768:117;;10446:8:73;;;:63;;10405:17;10310:206;:::o;10446:63::-;1065:3768:117;;;;;;;;;;10405:17:73;14439:109;;10405:17;14439:109;;;1065:3768:117;;;10310:206:73;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;1065:3768:117;;;4221:92:31;;;;1065:3768:117;2073:95:31;1065:3768:117;;;2073:95:31;;1065:3768:117;2073:95:31;;;1065:3768:117;4284:13:31;2073:95;;;1065:3768:117;4307:4:31;2073:95;;;1065:3768:117;2073:95:31;4221:92;;2073:95;1065:3768:117;;;;;;;;;;;;3445:249:66;1065:3768:117;3445:249:66;1065:3768:117;;;;;;4211:103:31;;-1:-1:-1;;;3445:249:66;;;;;;;;;4946:176:31;:::o;6887:260:64:-;;7105:8;6887:260;;7051:25;6887:260;7051:25;:::i;:::-;7105:8;;;;;:::i;2100:222:29:-;-1:-1:-1;;;;;1065:3768:117;;-1:-1:-1;1065:3768:117;;;972:64:29;1065:3768:117;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;1065:3768:117;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;1065:3768:117;;;;2270:35:29;;;1065:3768:117;;;;;;;;;;5129:48:25;2323:83:51;1019:819;;;;;;;4713:19:117;;1019:819:51;;;;;;;;;;;;;;;;4421:582:57;;4593:8;;-1:-1:-1;1065:3768:117;;5674:21:57;:17;;5799:158;;;;;;5670:354;1065:3768:117;;-1:-1:-1;;;5994:19:57;;;;;4589:408;1065:3768:117;;4841:22:57;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1065:3768:117;;-1:-1:-1;;;4917:24:57;;-1:-1:-1;;;;;1065:3768:117;;;4917:24:57;;;1065:3768:117;;;4917:24:57;4841:49;4867:18;;;:23;4841:49;;8998:846:25;-1:-1:-1;;;;;1065:3768:117;;;;8998:846:25;;1065:3768:117;;;;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;:::-;1065:3768:117;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;9769:44:25;9522:306;;;;;9192:317;9300:28;;;:::i;:::-;9381:26;;;:::i;:::-;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1065:3768:117;;;10716:14:25;;;:::i;:::-;1065:3768:117;;;;;;;;;;;9448:46:25;8310:38:73;9448:46:25;8310:38:73;;;;:::i;:::-;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;1065:3768:117;;;;;;;:::o;:::-;;;;;;;;;;;;18080:5181:70;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;1065:3768:117;18246:1:70;1065:3768:117;22284:6:70;;;;:::i;:::-;1065:3768:117;;;;;22278:18:70;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;;;1065:3768:117;23216:28:70;1065:3768:117;;18080:5181:70;:::o;19887:61::-;18246:1;1065:3768:117;19887:61:70;;19787:87;1065:3768:117;;;;;19787:87:70;;;19687;1065:3768:117;;;;;19687:87:70;;;19585:89;1065:3768:117;;;;;19585:89:70;;;19482:90;1065:3768:117;;;;;19482:90:70;;;19379;1065:3768:117;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;1065:3768:117;-1:-1:-1;1065:3768:117;;;;19274:92:70;;12929:433:73;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:70;;;;;;3731;;;;1065:3768:117;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;1065:3768:117;14439:109:73;;;-1:-1:-1;14439:109:73;;1065:3768:117;;;;;-1:-1:-1;13189:136:73;1065:3768:117;;;13248:10:73;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;7084:141:26;1065:3768:117;8837:64:26;1065:3768:117;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;1065:3768:117;;-1:-1:-1;;;7191:17:26;;;;;1065:3768:117;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:117;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:117;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;3393:48;;;1065:3768;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:1551:64;;;6283:66;6270:79;;6266:164;;1065:3768:117;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;;6541:24:64;;;;;;;;;-1:-1:-1;6541:24:64;-1:-1:-1;;;;;1065:3768:117;;6579:20:64;6575:113;;6698:49;-1:-1:-1;6698:49:64;-1:-1:-1;5203:1551:64;:::o;6575:113::-;6615:62;-1:-1:-1;6615:62:64;6541:24;6615:62;-1:-1:-1;6615:62:64;:::o;6541:24::-;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;;;6266:164:64;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;1065:3768:117:-;;-1:-1:-1;1065:3768:117;;;:::o;:::-;;;;;;;;;;;;7280:532:64;1065:3768:117;;;:::i;:::-;7366:29:64;;;7411:7;;:::o;7362:444::-;1065:3768:117;;;:::i;:::-;7471:29:64;7462:38;;7471:29;;1065:3768:117;;-1:-1:-1;;;7523:23:64;;;;;7458:348;1065:3768:117;;;:::i;:::-;7576:35:64;7567:44;;7576:35;;1065:3768:117;;-1:-1:-1;;;7634:46:64;;;;;1065:3768:117;;;;;5129:48:25;7563:243:64;1065:3768:117;;7710:30:64;1065:3768:117;;:::i;:::-;7701:39:64;7697:109;;7563:243;7280:532::o;7697:109::-;1065:3768:117;;-1:-1:-1;;;7763:32:64;;;;;1065:3768:117;;;;;;5129:48:25;4174:218:71;-1:-1:-1;;;;;1065:3768:117;4254:25:71;;;4250:105;;1065:3768:117;4174:218:71;:::o;4250:105::-;1065:3768:117;;;;14421:41:71;;;;4302:42;;4333:3;4302:42;;;1065:3768:117;;;;;4302:42:71;10473:273:25;;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1065:3768:117;;;10716:14:25;;;:::i;:::-;1065:3768:117;;;;;;;;;8310:38:73;;;:::i;:::-;10686:53:25;;10473:273::o;7058:687:31:-;1065:3768:117;;:::i;:::-;;;;7230:22:31;;;;1065:3768:117;;7275:22:31;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;1065:3768:117;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;1065:3768:117;;:::i;:::-;;;;8147:25:31;;;;1065:3768:117;;8195:25:31;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;1065:3768:117;8541:18:31;;;;8579:20;:::o;1065:3768:117:-;;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;1065:3768:117;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1065:3768:117;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;1065:3768:117;;;;;;;;;;;;;;;;;12285:19:73;1065:3768:117;;12423:25:73;;:::o;12247:163::-;1065:3768:117;;;12343:52:73;1065:3768:117;12353:41:73;1065:3768:117;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;1065:3768:117;;12353:41:73;;;1065:3768:117;12343:52:73;:::i;:::-;12247:163;;12099:89;1065:3768:117;;-1:-1:-1;;;12143:30:73;;;;;11860:713;1065:3768:117;;12479:52:73;1065:3768:117;12489:41:73;1065:3768:117;;:::i;12489:41:73:-;-1:-1:-1;;;;;1065:3768:117;;12489:41:73;;;1065:3768:117;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"75134":[{"start":1188,"length":32},{"start":7378,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultVotes_init()":"4f4e823d","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nonces(address)":"7ecebe00","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","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\":\"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\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":\"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\"},{\"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\":\"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\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[{\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"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\":\"result\",\"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.\"}],\"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.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"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.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"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.\"},\"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\"}}},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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/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/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/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/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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"InvalidOrigin"},{"inputs":[],"type":"error","name":"NotInitializing"},{"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":"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":[],"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":"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":"nonpayable","type":"function","name":"_VaultVotes_init"},{"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":[{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"result","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":"result","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"},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"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."},"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"}}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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/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/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/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/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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"license":"MIT"}},"version":1},"id":117} \ No newline at end of file diff --git a/out/v1.1/Vault.sol/Vault.json b/out/v1.1/Vault.sol/Vault.json new file mode 100644 index 0000000..1a49326 --- /dev/null +++ b/out/v1.1/Vault.sol/Vault.json @@ -0,0 +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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"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":"0x60c034610115576124b8906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516123769081610142823960805181818161055601526106c3015260a051816121490152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe60806040526004361061213f575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b600361213f5761108e565b611061565b611044565b611026565b611009565b610fec565b610fb2565b610f87565b610f3b565b610f1e565b610ef6565b610ed9565b610e9f565b610e77565b610e4d565b610e25565b610ddf565b610d92565b610d58565b610d3e565b610d1a565b610c4d565b610bef565b610bbb565b610b96565b610b6e565b610b2e565b610b06565b610a9f565b610a7a565b610a40565b610a18565b6109de565b6109b4565b610874565b610842565b61081d565b6107f5565b6107d4565b610789565b61074f565b610703565b6106ae565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206123018339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069d57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068c575f805160206123218339815191529081549060ff82871c16801561067e575b61066d579261060e9287959261063f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106095f80516020612321833981519152600160401b60ff60401b19825416179055565b611920565b5f80516020612321833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105a3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610726826106f2565b805f525f8051602061230183398151915260205261074a600160405f2001546119aa565b611e19565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a6816106f2565b336001600160a01b038216036107c25761066b90600435611e4f565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206123218339815191525416604051908152f35b346103915760603660031901126103915761088d6104a7565b602435610899816106f2565b6001600160401b0391604435838111610391576108ba9036906004016104bd565b5f805160206123218339815191529491855494838616806109a35760ff8760401c16908115610996575b50610984577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661097f9661094c958716906001600160401b0319161790556109475f80516020612321833981519152600160401b60ff60401b19825416179055565b611180565b5f80516020612321833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e4565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610ab7612107565b5f805160206122e183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4b816106f2565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f805160206122e1833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c41602435610c13816106f2565b6004355f525f80516020612301833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103915760408060031936011261039157600435610c6b816106f2565b6024356001600160401b038111610391575f80610d0993610c9260809436906004016104bd565b908188519283928337810184815203915af43d15610d115760203d610cb68161112f565b90610cc3875192836110df565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826110df565b805190602001fd5b60206060610ccc565b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610dd6602435610db4816106f2565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c41602435610e03816106f2565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f5e826106f2565b805f525f80516020612301833981519152602052610f82600160405f2001546119aa565b611e4f565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b600435611081816106f2565b611089612107565b6118af565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110da57604052565b6110ab565b90601f801991011681019081106001600160401b038211176110da57604052565b6040519061110d826110bf565b565b6040519061024082018281106001600160401b038211176110da57604052565b6001600160401b0381116110da57601f01601f191660200190565b9291926111568261112f565b9161116460405193846110df565b829481845281830111610391578281602093845f960137010152565b91906111db6111ea9161119161217b565b61119961217b565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b0395909490808716611895575b50369161114a565b60208082518301019101611f7c565b805190919083166001600160a01b0316156118835760409081830165ffffffffffff61121c825165ffffffffffff1690565b16156118725761012084018051909390611246906001600160a01b03165b6001600160a01b031690565b15611741575b606085019261126261125e8551151590565b1590565b80611732575b6117215761018086015f825b611674575b5050845161129091506001600160a01b031661123a565b1561153c575b92611446611436869461143061140b6114879661136f6101c09a61136a60c06114e69e01519161135a8d61134a60e08201519361133a6112e061010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061131890610220906001600160a01b03169701516001600160a01b031690565b97611321611100565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b6121a9565b88516113a6906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b039092169190911790556113ff6113d6426122ae565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61146d6114566080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61147a60a0840151600455565b516001600160a01b031690565b84811661152c575b506101408101516001600160a01b031684811661151c575b506101608101516001600160a01b031684811661150c575b506101a08101516001600160a01b03168481166114fc575b5001516001600160a01b031690565b9081166114f05750565b6114f990611c5d565b50565b61150590611bee565b505f6114d7565b61151590611b7f565b505f6114bf565b61152590611aa9565b505f6114a7565b611535906119f8565b505f61148f565b610100850151611554906001600160a01b031661123a565b61162357610200850151611570906001600160a01b031661123a565b6115e45761022085015161158c906001600160a01b031661123a565b1515806115d8575b6115c857926114466114366114e6969461143061140b6114879661136f6101c09a5b979a5050965050509496505050611296565b51630331eb0f60e41b8152600490fd5b5060e085015115611594565b6102208501516115fc906001600160a01b031661123a565b156115c857926114466114366114e6969461143061140b6114879661136f6101c09a6115b6565b61020085015161163b906001600160a01b031661123a565b1580611668575b6115c857926114466114366114e6969461143061140b6114879661136f6101c09a6115b6565b5060e085015115611642565b8151805182101561171b5761123a61147a8361168f936120df565b1561170a576116c86116c16116a861147a8486516120df565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6116f9579082826116f16116e46116a861147a859787516120df565b805460ff19166001179055565b019091611274565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611279565b815163ebf503c560e01b8152600490fd5b50610180860151511515611268565b610140850151611759906001600160a01b031661123a565b1561180f575b6101a0850151611777906001600160a01b031661123a565b15611782575b61124c565b6080850151156117cc5760a085015115806117ad575b1561124c575163183c854560e21b8152600490fd5b506101c08501516117c6906001600160a01b031661123a565b15611798565b60a0850151158015906117ef575b1561177d575163183c854560e21b8152600490fd5b506101c0850151611808906001600160a01b031661123a565b15156117da565b60608501511561184557610160850151611831906001600160a01b031661123a565b61175f575163183c854560e21b8152600490fd5b61016085015161185d906001600160a01b031661123a565b1561175f575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118a9906118a161217b565b61108961217b565b5f6111d3565b6001600160a01b03908116908115611908575f805160206122e183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b61192b91369161114a565b60c0818051810103126103915761110d9060c06040519161194b836110bf565b6020810151835260408101516020840152606081015161196a816106f2565b6040840152608081015161197d816106f2565b606084015260a0810151611990816106f2565b608084015201516119a0816106f2565b60a08201526121a9565b5f8181525f805160206123018339815191526020908152604080832033845290915290205460ff16156119da5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123018339815191529060ff16611aa3575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123018339815191529060ff905b5416611b78575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123018339815191529060ff90611b14565b5f8181525f80516020612301833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b14565b5f8181525f80516020612301833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611b78575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061110d826106f2565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110da578360051b9060405194611f40858401876110df565b85528380860192820101928311610391578301905b828210611f63575050505090565b8380918351611f71816106f2565b815201910190611f55565b906020828203126103915781516001600160401b03928382116103915701906102408282031261039157611fae61110f565b92611fb883611ee1565b8452611fc660208401611ee1565b6020850152611fd760408401611eec565b6040850152611fe860608401611eff565b6060850152611ff960808401611eff565b608085015260a083015160a085015260c083015160c085015260e083015160e085015261010061202a818501611ee1565b9085015261012061203c818501611ee1565b9085015261014061204e818501611ee1565b90850152610160612060818501611ee1565b9085015261018091828401519182116103915761207e918401611f0c565b908301526101a0612090818301611ee1565b908301526101c06120a2818301611ee1565b908301526101e06120b4818301611ee1565b908301526102006120c6818301611ee1565b908301526120d8610220809201611ee1565b9082015290565b80518210156120f35760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206122e1833981519152546001600160a01b0316330361212757565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612177573d5ff35b3d5ffd5b60ff5f805160206123218339815191525460401c161561219757565b604051631afcd79f60e31b8152600490fd5b600381511061229c576040810180516001600160a01b039291908316158061228f575b61227d57816122166121f460a0936121e76122519651600f55565b61147a6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661226d575b5060808101516001600160a01b0316848116612264575001516001600160a01b031690565b90811661225b5750565b6114f990611daa565b61150590611d3b565b61227690611ccc565b505f61222c565b604051630331eb0f60e41b8152600490fd5b50602082015115156121cc565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116122c1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209ffa458790a4636025271146fe0ba3c806da62bb1042bca388e06f35302eb99464736f6c63430008190033","sourceMap":"852:6163:111:-:0;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:6163:111;;;;;;;;;7896:76:26;;852:6163:111;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:84;;;;;1258:31:111;;852:6163;;;;;;;927:17:84;852:6163:111;;;;;;;;;;1258:31;852:6163;;;;;;7981:146:26;-1:-1:-1;;;;;;852:6163:111;;;;;;;;;;;;;8087:29:26;;852:6163:111;;8087:29:26;7981:146;;;;;7896:76;852:6163:111;;-1:-1:-1;;;7938:23:26;;;;;852:6163:111;-1:-1:-1;852:6163:111;;;;;;-1:-1:-1;852:6163:111;;;;;-1:-1:-1;852:6163:111;;;;-1:-1:-1;;;;;852:6163:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061213f575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b600361213f5761108e565b611061565b611044565b611026565b611009565b610fec565b610fb2565b610f87565b610f3b565b610f1e565b610ef6565b610ed9565b610e9f565b610e77565b610e4d565b610e25565b610ddf565b610d92565b610d58565b610d3e565b610d1a565b610c4d565b610bef565b610bbb565b610b96565b610b6e565b610b2e565b610b06565b610a9f565b610a7a565b610a40565b610a18565b6109de565b6109b4565b610874565b610842565b61081d565b6107f5565b6107d4565b610789565b61074f565b610703565b6106ae565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206123018339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069d57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068c575f805160206123218339815191529081549060ff82871c16801561067e575b61066d579261060e9287959261063f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106095f80516020612321833981519152600160401b60ff60401b19825416179055565b611920565b5f80516020612321833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105a3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610726826106f2565b805f525f8051602061230183398151915260205261074a600160405f2001546119aa565b611e19565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a6816106f2565b336001600160a01b038216036107c25761066b90600435611e4f565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206123218339815191525416604051908152f35b346103915760603660031901126103915761088d6104a7565b602435610899816106f2565b6001600160401b0391604435838111610391576108ba9036906004016104bd565b5f805160206123218339815191529491855494838616806109a35760ff8760401c16908115610996575b50610984577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661097f9661094c958716906001600160401b0319161790556109475f80516020612321833981519152600160401b60ff60401b19825416179055565b611180565b5f80516020612321833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e4565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610ab7612107565b5f805160206122e183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4b816106f2565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f805160206122e1833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c41602435610c13816106f2565b6004355f525f80516020612301833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103915760408060031936011261039157600435610c6b816106f2565b6024356001600160401b038111610391575f80610d0993610c9260809436906004016104bd565b908188519283928337810184815203915af43d15610d115760203d610cb68161112f565b90610cc3875192836110df565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826110df565b805190602001fd5b60206060610ccc565b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610dd6602435610db4816106f2565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c41602435610e03816106f2565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f5e826106f2565b805f525f80516020612301833981519152602052610f82600160405f2001546119aa565b611e4f565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b600435611081816106f2565b611089612107565b6118af565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110da57604052565b6110ab565b90601f801991011681019081106001600160401b038211176110da57604052565b6040519061110d826110bf565b565b6040519061024082018281106001600160401b038211176110da57604052565b6001600160401b0381116110da57601f01601f191660200190565b9291926111568261112f565b9161116460405193846110df565b829481845281830111610391578281602093845f960137010152565b91906111db6111ea9161119161217b565b61119961217b565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b0395909490808716611895575b50369161114a565b60208082518301019101611f7c565b805190919083166001600160a01b0316156118835760409081830165ffffffffffff61121c825165ffffffffffff1690565b16156118725761012084018051909390611246906001600160a01b03165b6001600160a01b031690565b15611741575b606085019261126261125e8551151590565b1590565b80611732575b6117215761018086015f825b611674575b5050845161129091506001600160a01b031661123a565b1561153c575b92611446611436869461143061140b6114879661136f6101c09a61136a60c06114e69e01519161135a8d61134a60e08201519361133a6112e061010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061131890610220906001600160a01b03169701516001600160a01b031690565b97611321611100565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b6121a9565b88516113a6906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b039092169190911790556113ff6113d6426122ae565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61146d6114566080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61147a60a0840151600455565b516001600160a01b031690565b84811661152c575b506101408101516001600160a01b031684811661151c575b506101608101516001600160a01b031684811661150c575b506101a08101516001600160a01b03168481166114fc575b5001516001600160a01b031690565b9081166114f05750565b6114f990611c5d565b50565b61150590611bee565b505f6114d7565b61151590611b7f565b505f6114bf565b61152590611aa9565b505f6114a7565b611535906119f8565b505f61148f565b610100850151611554906001600160a01b031661123a565b61162357610200850151611570906001600160a01b031661123a565b6115e45761022085015161158c906001600160a01b031661123a565b1515806115d8575b6115c857926114466114366114e6969461143061140b6114879661136f6101c09a5b979a5050965050509496505050611296565b51630331eb0f60e41b8152600490fd5b5060e085015115611594565b6102208501516115fc906001600160a01b031661123a565b156115c857926114466114366114e6969461143061140b6114879661136f6101c09a6115b6565b61020085015161163b906001600160a01b031661123a565b1580611668575b6115c857926114466114366114e6969461143061140b6114879661136f6101c09a6115b6565b5060e085015115611642565b8151805182101561171b5761123a61147a8361168f936120df565b1561170a576116c86116c16116a861147a8486516120df565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6116f9579082826116f16116e46116a861147a859787516120df565b805460ff19166001179055565b019091611274565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611279565b815163ebf503c560e01b8152600490fd5b50610180860151511515611268565b610140850151611759906001600160a01b031661123a565b1561180f575b6101a0850151611777906001600160a01b031661123a565b15611782575b61124c565b6080850151156117cc5760a085015115806117ad575b1561124c575163183c854560e21b8152600490fd5b506101c08501516117c6906001600160a01b031661123a565b15611798565b60a0850151158015906117ef575b1561177d575163183c854560e21b8152600490fd5b506101c0850151611808906001600160a01b031661123a565b15156117da565b60608501511561184557610160850151611831906001600160a01b031661123a565b61175f575163183c854560e21b8152600490fd5b61016085015161185d906001600160a01b031661123a565b1561175f575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118a9906118a161217b565b61108961217b565b5f6111d3565b6001600160a01b03908116908115611908575f805160206122e183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b61192b91369161114a565b60c0818051810103126103915761110d9060c06040519161194b836110bf565b6020810151835260408101516020840152606081015161196a816106f2565b6040840152608081015161197d816106f2565b606084015260a0810151611990816106f2565b608084015201516119a0816106f2565b60a08201526121a9565b5f8181525f805160206123018339815191526020908152604080832033845290915290205460ff16156119da5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123018339815191529060ff16611aa3575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123018339815191529060ff905b5416611b78575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123018339815191529060ff90611b14565b5f8181525f80516020612301833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b14565b5f8181525f80516020612301833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611b78575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061110d826106f2565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110da578360051b9060405194611f40858401876110df565b85528380860192820101928311610391578301905b828210611f63575050505090565b8380918351611f71816106f2565b815201910190611f55565b906020828203126103915781516001600160401b03928382116103915701906102408282031261039157611fae61110f565b92611fb883611ee1565b8452611fc660208401611ee1565b6020850152611fd760408401611eec565b6040850152611fe860608401611eff565b6060850152611ff960808401611eff565b608085015260a083015160a085015260c083015160c085015260e083015160e085015261010061202a818501611ee1565b9085015261012061203c818501611ee1565b9085015261014061204e818501611ee1565b90850152610160612060818501611ee1565b9085015261018091828401519182116103915761207e918401611f0c565b908301526101a0612090818301611ee1565b908301526101c06120a2818301611ee1565b908301526101e06120b4818301611ee1565b908301526102006120c6818301611ee1565b908301526120d8610220809201611ee1565b9082015290565b80518210156120f35760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206122e1833981519152546001600160a01b0316330361212757565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612177573d5ff35b3d5ffd5b60ff5f805160206123218339815191525460401c161561219757565b604051631afcd79f60e31b8152600490fd5b600381511061229c576040810180516001600160a01b039291908316158061228f575b61227d57816122166121f460a0936121e76122519651600f55565b61147a6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661226d575b5060808101516001600160a01b0316848116612264575001516001600160a01b031690565b90811661225b5750565b6114f990611daa565b61150590611d3b565b61227690611ccc565b505f61222c565b604051630331eb0f60e41b8152600490fd5b50602082015115156121cc565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116122c1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209ffa458790a4636025271146fe0ba3c806da62bb1042bca388e06f35302eb99464736f6c63430008190033","sourceMap":"852:6163:111:-:0;;;;;;2603:64:51;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;852:6163: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;:::-;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:6163:111;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:6163:111;-1:-1:-1;852:6163:111;;;;;;;;-1:-1:-1;;852:6163:111;;;;;3653:32:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;757:38:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;612:37:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;2084:35:113;852:6163:111;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;-1:-1:-1;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;;4919:24:23;852:6163:111;-1:-1:-1;852:6163:111;4919:24:23;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:6163:111;;3670:20:30;3666:88;;1991:1;;;1673:7:84;-1:-1:-1;;;;;852:6163:111;1659:10:84;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;;;;;;6431:44:26;;;;852:6163:111;6427:105:26;;852:6163:111;1809:204:84;852:6163:111;;;;6656:20:26;852:6163:111;;6656:20:26;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6163:111;;;;;;;;6575:22:26;1809:204:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6163:111;;-1:-1:-1;;;;852:6163:111;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:6163:111;6427:105:26;852:6163:111;;-1:-1:-1;;;6498:23:26;;852:6163:111;;6498:23:26;6431:44;852:6163:111;;;;;;;6450:25:26;;6431:44;;1655:71:84;852:6163:111;;-1:-1:-1;;;1703:12:84;;852:6163:111;;1703:12:84;3666:88:30;852:6163:111;;-1:-1:-1;;;3713:30:30;;852:6163:111;;3713:30:30;852:6163:111;;;;;;-1:-1:-1;;852:6163:111;;;;;;655:32:84;-1:-1:-1;;;;;852:6163:111;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:6163:111;;;;5350:25:23;852:6163:111;;;;;;;:::i;:::-;;-1:-1:-1;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;3202:4:23;4919:24;852:6163:111;-1:-1:-1;852:6163:111;4919:24:23;852:6163:111;3202:4:23;:::i;:::-;5350:25;:::i;852:6163:111:-;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1329:40:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:6163:111;;6441:34:23;6437:102;;6549:37;852:6163:111;;;6549:37:23;:::i;6437:102::-;852:6163:111;;-1:-1:-1;;;6498:30:23;;852:6163:111;;6498:30:23;852:6163:111;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;4126:39:113;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;2255:34:113;852:6163:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:6163:111;;;;;;734:29:84;730:87;;852:6163:111;;;;;6431:44:26;;;;;852:6163:111;6427:105:26;;;6656:20;852:6163:111;6656:20:26;852:6163:111;1167:340:84;852:6163:111;;;;-1:-1:-1;;;;;852:6163:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6163:111;;;;;;;;6575:22:26;1167:340:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6163:111;;-1:-1:-1;;;;852:6163:111;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;6656:20:26;;;;852:6163:111;6427:105:26;852:6163:111;;-1:-1:-1;;;6498:23:26;;852:6163:111;;6498:23:26;6431:44;852:6163:111;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:84;852:6163:111;;-1:-1:-1;;;786:20:84;;852:6163:111;;786:20:84;852:6163:111;;;;;;-1:-1:-1;;852:6163:111;;;;;;-1:-1:-1;852:6163:111;2718:59:113;852:6163:111;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1041:36:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;1989:39:113;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1564:45:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;2423:32:113;852:6163:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6163:111;;-1:-1:-1;;;;;;852:6163:111;;;;;;;-1:-1:-1;;;;;852:6163:111;3975:40:24;852:6163:111;;3975:40:24;852:6163:111;;;;;;;-1:-1:-1;;852:6163:111;;;;;;4027:43:113;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:6163:111;2594:68:113;852:6163:111;;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;3932:39:113;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;3833:43:113;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;3901:31:23;852:6163:111;;;;;:::i;:::-;;;-1:-1:-1;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;;;;3901:31:23;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:6163:111;;;;-1:-1:-1;852:6163:111;477:31:88;852:6163:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;852:6163:111;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;477:31:88;;;852:6163:111;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;477:31:88;852:6163:111;477:31:88;;;;;;;:::i;:::-;518:79;;;852:6163:111;518:79:88;;852:6163:111;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;900:35:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;2953:94:113;852:6163:111;;;;;:::i;:::-;;;-1:-1:-1;852:6163:111;2953:94:113;852:6163:111;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;;;;2953:94:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;3103:92:113;852:6163:111;;;;;:::i;:::-;;;-1:-1:-1;852:6163:111;3103:92:113;852:6163:111;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;4396:31:113;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;-1:-1:-1;852:6163:111;2833:64:113;852:6163:111;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;2345:22:113;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1183:36:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;3543:54:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;2175:24:113;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;3741:36:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;5767:26:23;852:6163:111;;;;;;;:::i;:::-;;-1:-1:-1;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;3202:4:23;4919:24;852:6163:111;-1:-1:-1;852:6163:111;4919:24:23;852:6163:111;3202:4:23;:::i;:::-;5767:26;:::i;852:6163:111:-;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;466:39:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;4221:36:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;4313:27:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1466:3:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;2357:1:24;852:6163:111;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:6163:111:-;;;;;;-1:-1:-1;;852:6163:111;;;;;3437:50:113;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:6163:111;;;;;;-1:-1:-1;;852:6163:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:6163:111;;;;;;:::o;1167:340:84:-;;;852:6163:111;2615:37;1167:340:84;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:6163:111;1949:1:30;;1991;852:6163:111;;;1376:73:84;;1167:340;852:6163:111;;;;:::i;:::-;2615:37;852:6163;;;2615:37;;;;;;:::i;:::-;852:6163;;;;;;;-1:-1:-1;;;;;852:6163:111;2667:31;2663:95;;2772:20;;;;;852:6163;;;;;;;;;;2772:25;2768:92;;2874:29;;;852:6163;;2874:29;;852:6163;2874:43;;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;;;;;852:6163:111;;;2874:43;;2870:971;;1167:340:84;3856:23:111;;;852:6163;3855:24;852:6163;;;;;;;;3855:24;;852:6163;3855:24;:67;;;1167:340:84;3851:132:111;;4013:28;;;-1:-1:-1;3998:9:111;1949:1:30;;;3993:411:111;-1:-1:-1;;852:6163:111;;4418:43;;-1:-1:-1;;;;;;852:6163:111;;;4418:43;;4414:697;;3993:411;5224:34;5828:42;852:6163;5224:34;;5773:44;852:6163;;5224:34;5156:468;6611:32;5224:34;5156:468;5224:34;852:6163;5224:34;;852:6163;5290:19;5156:468;5290:19;5156:468;5290:19;;;852:6163;5345:23;5156:468;852:6163;5345:23;;;852:6163;;;;;;;;;;5414:33;;;852:6163;-1:-1:-1;;;;;852:6163:111;5492:32;;;852:6163;5492:32;;;852:6163;;5573:36;;-1:-1:-1;;;;;852:6163:111;5573:36;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;;;;:::i;:::-;;;;2615:37;5156:468;;852:6163;-1:-1:-1;;;;;852:6163:111;;;5156:468;;;852:6163;;5156:468;-1:-1:-1;;;;;852:6163:111;3856:23;5156:468;;852:6163;;5156:468;-1:-1:-1;;;;;852:6163:111;5156:468;;;852:6163;;5156:468;-1:-1:-1;;;;;852:6163:111;5156:468;;;852:6163;;5156:468;;:::i;:::-;852:6163;;5645:30;;-1:-1:-1;;;;;852:6163:111;1398:1:84;852:6163:111;;-1:-1:-1;;;;;;852:6163:111;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;5645:30;2615:37;5695:13;;852:6163;;;;-1:-1:-1;;;;;;852:6163:111;-1:-1:-1;;;;;852:6163:111;;;;;;;;;5719:44;819:34:75;837:15;819:34;:::i;:::-;1949:1:30;852:6163:111;;-1:-1:-1;;;;852:6163:111;;;;;;-1:-1:-1;;;852:6163:111;;;;;;;;5719:44;852:6163;;;;;;1949:1:30;852:6163:111;;-1:-1:-1;;;;;852:6163:111;;;;;;-1:-1:-1;;;;;;852:6163:111;;;;;;;;5773:44;852:6163;;;;;;;;;1398:1:84;852:6163:111;;;;;;;1398:1:84;852:6163:111;;5828:42;5881:38;852:6163;5156:468;5898:21;;852:6163;;;;;;;1398:1:84;852:6163:111;;;;;;;;;;;;1398:1:84;852:6163:111;;5881:38;5929:34;5156:468;5944:19;;852:6163;5929:34;1991:1:30;;5929:34:111;852:6163;-1:-1:-1;;;;;852:6163:111;;;;;;;5974:135;;3993:411;-1:-1:-1;6122:36:111;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;6118:157;;3993:411;-1:-1:-1;6288:35:111;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;6284:153;;3993:411;-1:-1:-1;6450:34:111;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;6446:152;;3993:411;-1:-1:-1;6611:32:111;852:6163;-1:-1:-1;;;;;852:6163:111;;;;;;;6607:145;;1167:340:84;:::o;6607:145:111:-;6673:68;;;:::i;:::-;;1167:340:84:o;6446:152:111:-;6514:73;;;:::i;:::-;;6446:152;;;6284:153;6353:73;;;:::i;:::-;;6284:153;;;6118:157;6188:76;;;:::i;:::-;;6118:157;;;5974:135;6037:61;;;:::i;:::-;;5974:135;;;4414:697;4481:23;;;852:6163;4481:37;;-1:-1:-1;;;;;852:6163:111;;;4481:37;:23;;4542:32;;;852:6163;4542:46;;-1:-1:-1;;;;;852:6163:111;;;4542:46;:32;;4616:36;;;852:6163;4616:50;;-1:-1:-1;;;;;852:6163:111;;;4616:50;;;:78;;;4538:396;4612:167;;4538:396;5828:42;852:6163;;4538:396;;5773:44;852:6163;;4538:396;5156:468;6611:32;4538:396;;4414:697;;;;;;;;;;;;;;;4612:167;852:6163;-1:-1:-1;;;4729:27:111;;;;;4616:78;4670:19;;;;852:6163;4670:24;4616:78;;4538:396;4807:36;;;852:6163;4807:50;;-1:-1:-1;;;;;852:6163:111;;;4807:50;;4803:131;;4538:396;5828:42;852:6163;;4538:396;;5773:44;852:6163;;4538:396;5156:468;6611:32;4538:396;;;4477:624;4958:32;;;852:6163;4958:46;;-1:-1:-1;;;;;852:6163:111;;;4958:46;;:74;;;4477:624;4954:147;;4477:624;5828:42;852:6163;;4477:624;;5773:44;852:6163;;4477:624;5156:468;6611:32;4477:624;;;4958:74;5008:19;;;;852:6163;5008:24;4958:74;;4050:3;4013:28;;852:6163;;4009:39;;;;;4073:31;;;:45;:31;;:::i;:45::-;;4069:114;;4201:55;;4224:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:6163:111;;;;;4201:22;852:6163;;;;;;;4201:55;852:6163;;;;;4201:55;4197:120;;4354:28;;;4331:62;:55;4354:31;;:28;;;;:31;:::i;4331:55::-;852:6163;;-1:-1:-1;;852:6163:111;1949:1:30;852:6163:111;;;;4331:62;852:6163;3998:9;;;;4197:120;852:6163;;-1:-1:-1;;;4283:19:111;;;;;4069:114;852:6163;;-1:-1:-1;;;4145:23:111;;;;;4009:39;;;;3851:132;852:6163;;-1:-1:-1;;;3945:27:111;;;;;3855:67;3883:28;;;;;852:6163;3883:39;;3855:67;;2870:971;2937:36;;;852:6163;2937:50;;-1:-1:-1;;;;;852:6163:111;;;2937:50;;2933:419;;2870:971;3370:34;;;852:6163;3370:48;;-1:-1:-1;;;;;852:6163:111;;;3370:48;;3366:465;;2870:971;;;3366:465;3442:21;;;852:6163;;3442:21;;3491:19;;;852:6163;3491:24;:74;;;3438:379;3487:157;2870:971;3487:157;852:6163;-1:-1:-1;;;3600:21:111;;;;;3491:74;-1:-1:-1;3519:32:111;;;852:6163;3519:46;;-1:-1:-1;;;;;852:6163:111;;;3519:46;;3491:74;;3438:379;3672:19;;;852:6163;3672:24;;;:74;;;3438:379;3668:149;3366:465;3668:149;852:6163;-1:-1:-1;;;3777:21:111;;;;;3672:74;-1:-1:-1;3700:32:111;;;852:6163;3700:46;;-1:-1:-1;;;;;852:6163:111;;;3700:46;;;3672:74;;2933:419;3011:23;;;852:6163;;3011:23;;3062:35;;;852:6163;3062:49;;-1:-1:-1;;;;;852:6163:111;;;3062:49;2933:419;3058:132;852:6163;-1:-1:-1;;;3146:21:111;;;;;3007:331;3218:35;;;852:6163;3218:49;;-1:-1:-1;;;;;852:6163:111;;;3218:49;3214:124;2933:419;3214:124;852:6163;-1:-1:-1;;;3298:21:111;;;;;2768:92;852:6163;;-1:-1:-1;;;2820:29:111;;;;;2663:95;852:6163;;-1:-1:-1;;;2721:26:111;;;;;1376:73:84;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:84;;;3405:215:24;-1:-1:-1;;;;;852:6163:111;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:6163:111;;-1:-1:-1;;;;;;852:6163:111;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:6163:111;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:6163:111;;;3534:31:24;1809:204:84;852:6163:111;1809:204:84;852:6163:111;;;:::i;:::-;;;;;6926:40;;852:6163;;;;6999:6;852:6163;;;;;;;;:::i;:::-;6926:40;;;852:6163;;;;;;;6926:40;852:6163;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;6999:6;:::i;4148:103:23:-;-1:-1:-1;852:6163:111;;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;;;;;966:10:28;852:6163:111;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:6163:111;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:6163:111;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:6163:111;;1398:1:84;852:6163:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;;;1398:1:84;852:6163:111;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;-1:-1:-1;;852:6163:111;7509:4:23;852:6163:111;;;966:10:28;;-1:-1:-1;;;;;852:6163:111;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:84;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;466:39:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;-1:-1:-1;;852:6163:111;7509:4:23;852:6163:111;;;966:10:28;;-1:-1:-1;;;;;852:6163: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;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;612:37:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;757:38:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;900:35:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;1041:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;1183:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;1329:40:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;852:6163:111;;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;3901:31:23;852:6163:111;7892:388:23;-1:-1:-1;852:6163:111;;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;-1:-1:-1;;852:6163:111;;;966:10:28;;-1:-1:-1;;;;;852:6163:111;;8155:40:23;-1:-1:-1;;8155:40:23;852:6163:111;8209:11:23;:::o;852:6163:111:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;;;:::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:6163:111;-1:-1:-1;;;;;852:6163:111;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:6163:111;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:6163:111;;;2763:40:24;2323:83:51;1019:819;;;;;;;1428:14:111;;1019:819:51;;;;;;;;;;;;;;;;7084:141:26;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:6163:111;;-1:-1:-1;;;7191:17:26;;;;;1455:1025:111;1596:1;852:6163;;1559:38;1555:119;;1688:23;;;852:6163;;-1:-1:-1;;;;;852:6163:111;1688:23;;852:6163;;1688:37;;:65;;1455:1025;1684:130;;852:6163;1951:42;852:6163;2320:36;852:6163;1824:72;852:6163;;;1824:72;1991:1:30;;1824:72:111;1907:34;1922:19;;;852:6163;1907:34;1991:1:30;;852:6163:111;;;;;;;;;;1951:42;852:6163;;;1951:42;852:6163;;1951:42;2008:33;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;2004:148;;1455:1025;-1:-1:-1;2165:32:111;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;2161:146;;-1:-1:-1;2320:36:111;852:6163;-1:-1:-1;;;;;852:6163:111;;;;;;;2316:158;;1455:1025;:::o;2316:158::-;2386:77;;;:::i;2161:146::-;2227:69;;;:::i;2004:148::-;2071:70;;;:::i;:::-;;2004:148;;;1684:130;1688:23;852:6163;-1:-1:-1;;;1776:27:111;;;;;1688:65;1729:19;;;;852:6163;1729:24;;1688:65;;1555:119;852:6163;;-1:-1:-1;;;1620:43:111;;;;;14296:213:71;852:6163:111;14374:24:71;;;;14370:103;;852:6163:111;14296:213:71;:::o;14370:103::-;852:6163:111;;;;14421:41:71;;;;;;14452:2;14421:41;;;852:6163:111;;;;;14421:41:71","linkReferences":{},"immutableReferences":{"60387":[{"start":1366,"length":32},{"start":1731,"length":32}],"71678":[{"start":8521,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155\",\"dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc","urls":["bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155","dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":111} \ No newline at end of file diff --git a/out/v1.1/VaultTokenized.sol/VaultTokenized.json b/out/v1.1/VaultTokenized.sol/VaultTokenized.json new file mode 100644 index 0000000..67d1ba2 --- /dev/null +++ b/out/v1.1/VaultTokenized.sol/VaultTokenized.json @@ -0,0 +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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","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":"0x60c03461011c576127d0906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516126879081610149823960805181818161055601526106c1015260a05181818161153001526121b40152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe6080604052600436106121aa575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b60036121aa57611058565b61102b565b61100e565b610ff0565b610fd3565b610fb6565b610f7c565b610f51565b610f05565b610ee8565b610ec0565b610ea3565b610e69565b610e41565b610e17565b610def565b610da9565b610d5c565b610d22565b610d08565b610ce4565b610c50565b610bf2565b610bbe565b610b99565b610b71565b610b31565b610b09565b610aa2565b610a7d565b610a43565b610a1b565b6109e1565b6109b7565b610872565b610840565b61081b565b6107f3565b6107d2565b610787565b61074d565b610701565b6106ac565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206126128339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068a575f8051602061263283398151915280548281169260ff82881c16801561067e575b61066d5767ffffffffffffffff199091169087161790555f80516020612632833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461063f949093909261060e92611a40565b5f80516020612632833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105a5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610724826106f0565b805f525f80516020612612833981519152602052610748600160405f200154611b2a565b611f99565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a4816106f0565b336001600160a01b038216036107c05761066b90600435611fcf565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206126328339815191525416604051908152f35b346103915760603660031901126103915761088b6104a7565b602435610897816106f0565b6001600160401b0391604435838111610391576108b89036906004016104bd565b5f805160206126328339815191529491855494838616806109a65760ff8760401c16908115610999575b50610987577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109829661094f958716906001600160401b03191617905561094a5f80516020612632833981519152600160401b68ff000000000000000019825416179055565b611165565b5f80516020612632833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e2565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610aba612172565b5f805160206125f283398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4e816106f0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f805160206125f2833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c44602435610c16816106f0565b6004355f525f80516020612612833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461039157604036600319011261039157600435610c6d816106f0565b6024356001600160401b038111610391575f91610c8f839236906004016104bd565b90816040519283928337810184815203915af4610cdc610cad61197c565b91610cce6040519384921515602084015260408084015260608301906119ab565b03601f1981018352826110c4565b805190602001fd5b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610da0602435610d7e816106f0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c44602435610dcd816106f0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f28826106f0565b805f525f80516020612612833981519152602052610f4c600160405f200154611b2a565b611fcf565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b60043561104b816106f0565b611053612172565b6119cf565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110a457604052565b611075565b606081019081106001600160401b038211176110a457604052565b90601f801991011681019081106001600160401b038211176110a457604052565b604051906110f282611089565b565b6040519061024082018281106001600160401b038211176110a457604052565b6001600160401b0381116110a457601f01601f191660200190565b92919261113b82611114565b9161114960405193846110c4565b829481845281830111610391578281602093845f960137010152565b906111bd909392936111756121e6565b61117d6121e6565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b0393808516611962575b50369161112f565b6111d2815191602080809483010191016120b4565b916111e683518380825183010191016122af565b805182166001600160a01b031615611950576040958682019065ffffffffffff611216835165ffffffffffff1690565b161561193f5761012083018051909290611240906001600160a01b03165b6001600160a01b031690565b1561180a575b606084019161125c6112588451151590565b1590565b806117fb575b6117ea5761018085015f825b61173d575b5050835161128a91506001600160a01b0316611234565b156115a7575b6101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f8361137a61144d9861136a60c06113e79801519361135a60e08201519361134a6112f161010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061132990610220906001600160a01b03169701516001600160a01b031690565b976113326110e5565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612457565b8b516113b6906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61141c6113f3426125bf565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61148a6114736080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61149760a0840151600455565b516001600160a01b031690565b848116611597575b506101408101516001600160a01b0316848116611587575b506101608101516001600160a01b0316848116611577575b506101a08101516001600160a01b0316848116611567575b5001516001600160a01b031690565b908116611557575b508083860151950151905194859363602bd8e760e01b908501526024840161214d565b7f000000000000000000000000000000000000000000000000000000000000000061243a565b50565b61156090611ddd565b505f61150b565b61157090611d6e565b505f6114f4565b61158090611cff565b505f6114dc565b61159090611c29565b505f6114c4565b6115a090611b78565b505f6114ac565b6101008401516115bf906001600160a01b0316611234565b6116d1576102008401516115db906001600160a01b0316611234565b611677576102208401516115f7906001600160a01b0316611234565b15158061166b575b61165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d985b5050505050505099505050979a9b505050959b9a5050945050611290565b8851630331eb0f60e41b8152600490fd5b5060e0840151156115ff565b61022084015161168f906001600160a01b0316611234565b1561165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d9861163c565b6102008401516116e9906001600160a01b0316611234565b1580611731575b61165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d9861163c565b5060e0840151156116f0565b815180518210156117e4576112346114978361175893612412565b156117d35761179161178a611771611497848651612412565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117c2579082826117ba6117ad61177161149785978751612412565b805460ff19166001179055565b01909161126e565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b50611273565b895163ebf503c560e01b8152600490fd5b50610180850151511515611262565b610140840151611822906001600160a01b0316611234565b156118da575b6101a0840151611840906001600160a01b0316611234565b1561184b575b611246565b6080840151156118965760a08401511580611877575b1561124657885163183c854560e21b8152600490fd5b506101c0840151611890906001600160a01b0316611234565b15611861565b60a0840151158015906118ba575b1561184657885163183c854560e21b8152600490fd5b506101c08401516118d3906001600160a01b0316611234565b15156118a4565b606084015115611911576101608401516118fc906001600160a01b0316611234565b61182857885163183c854560e21b8152600490fd5b610160840151611929906001600160a01b0316611234565b1561182857885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119769061196e6121e6565b6110536121e6565b5f6111b5565b3d156119a6573d9061198d82611114565b9161199b60405193846110c4565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a28575f805160206125f283398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a576001926001600160401b0392369161112f565b921603611aab57611a7481602080611554945183010191016120b4565b611a7e8151611aab565b61152e6040602083015192015191610cce60405193849263602bd8e760e01b60208501526024840161214d565b60c081805181010312610391576110f29060c060405191611acb83611089565b60208101518352604081015160208401526060810151611aea816106f0565b60408401526080810151611afd816106f0565b606084015260a0810151611b10816106f0565b60808401520151611b20816106f0565b60a0820152612457565b5f8181525f805160206126128339815191526020908152604080832033845290915290205460ff1615611b5a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126128339815191529060ff16611c23575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126128339815191529060ff905b5416611cf8575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126128339815191529060ff90611c94565b5f8181525f80516020612612833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c94565b5f8181525f80516020612612833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cf8575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b92919261206d82611114565b9161207b60405193846110c4565b829481845281830111610391578281602093845f96015e010152565b9080601f830112156103915781516120b192602001612061565b90565b906020828203126103915781516001600160401b039283821161039157019060608282031261039157604051926120ea846110a9565b825181811161039157830182601f82011215610391578281602061211093519101612061565b84526020830151818111610391578261212a918501612097565b60208501526040830151908111610391576121459201612097565b604082015290565b90916121646120b1936040845260408401906119ab565b9160208184039101526119ab565b5f805160206125f2833981519152546001600160a01b0316330361219257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121e2573d5ff35b3d5ffd5b60ff5f805160206126328339815191525460401c161561220257565b604051631afcd79f60e31b8152600490fd5b51906110f2826106f0565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110a4578360051b9060405194612273858401876110c4565b85528380860192820101928311610391578301905b828210612296575050505090565b83809183516122a4816106f0565b815201910190612288565b906020828203126103915781516001600160401b039283821161039157019061024082820312610391576122e16110f4565b926122eb83612214565b84526122f960208401612214565b602085015261230a6040840161221f565b604085015261231b60608401612232565b606085015261232c60808401612232565b608085015260a083015160a085015260c083015160c085015260e083015160e085015261010061235d818501612214565b9085015261012061236f818501612214565b90850152610140612381818501612214565b90850152610160612393818501612214565b908501526101809182840151918211610391576123b191840161223f565b908301526101a06123c3818301612214565b908301526101c06123d5818301612214565b908301526101e06123e7818301612214565b908301526102006123f9818301612214565b9083015261240b610220809201612214565b9082015290565b80518210156124265760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f806120b193602081519101845af461245161197c565b9161255c565b600381511061254a576040810180516001600160a01b039291908316158061253d575b61252b57816124c46124a260a0936124956124ff9651600f55565b6114976020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661251b575b5060808101516001600160a01b0316848116612512575001516001600160a01b031690565b9081166125095750565b61155490611f2a565b61157090611ebb565b61252490611e4c565b505f6124da565b604051630331eb0f60e41b8152600490fd5b506020820151151561247a565b6040516317a509b960e31b8152600490fd5b90612583575080511561257157805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806125b6575b612594575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561258c565b65ffffffffffff908181116125d2571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220acf50e81dd813b016a7a975621b62823bc794ae18e997c08ca5969f769df67e564736f6c63430008190033","sourceMap":"332:1303:114:-:0;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;332:1303:114;;;;;;;;;7896:76:26;;332:1303:114;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:84;;;;;1258:31:111;;332:1303:114;;;;;;;927:17:84;332:1303:114;;;;;;;;;;1258:31:111;332:1303:114;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;332:1303:114;;;;;;;;;;;;;8087:29:26;;332:1303:114;;8087:29:26;7981:146;;;;;7896:76;332:1303:114;;-1:-1:-1;;;7938:23:26;;;;;332:1303:114;-1:-1:-1;332:1303:114;;;;;;-1:-1:-1;332:1303:114;;;;;-1:-1:-1;332:1303:114;;;;-1:-1:-1;;;;;332:1303:114;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106121aa575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b60036121aa57611058565b61102b565b61100e565b610ff0565b610fd3565b610fb6565b610f7c565b610f51565b610f05565b610ee8565b610ec0565b610ea3565b610e69565b610e41565b610e17565b610def565b610da9565b610d5c565b610d22565b610d08565b610ce4565b610c50565b610bf2565b610bbe565b610b99565b610b71565b610b31565b610b09565b610aa2565b610a7d565b610a43565b610a1b565b6109e1565b6109b7565b610872565b610840565b61081b565b6107f3565b6107d2565b610787565b61074d565b610701565b6106ac565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206126128339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068a575f8051602061263283398151915280548281169260ff82881c16801561067e575b61066d5767ffffffffffffffff199091169087161790555f80516020612632833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461063f949093909261060e92611a40565b5f80516020612632833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105a5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610724826106f0565b805f525f80516020612612833981519152602052610748600160405f200154611b2a565b611f99565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a4816106f0565b336001600160a01b038216036107c05761066b90600435611fcf565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206126328339815191525416604051908152f35b346103915760603660031901126103915761088b6104a7565b602435610897816106f0565b6001600160401b0391604435838111610391576108b89036906004016104bd565b5f805160206126328339815191529491855494838616806109a65760ff8760401c16908115610999575b50610987577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109829661094f958716906001600160401b03191617905561094a5f80516020612632833981519152600160401b68ff000000000000000019825416179055565b611165565b5f80516020612632833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e2565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610aba612172565b5f805160206125f283398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4e816106f0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f805160206125f2833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c44602435610c16816106f0565b6004355f525f80516020612612833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461039157604036600319011261039157600435610c6d816106f0565b6024356001600160401b038111610391575f91610c8f839236906004016104bd565b90816040519283928337810184815203915af4610cdc610cad61197c565b91610cce6040519384921515602084015260408084015260608301906119ab565b03601f1981018352826110c4565b805190602001fd5b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610da0602435610d7e816106f0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c44602435610dcd816106f0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f28826106f0565b805f525f80516020612612833981519152602052610f4c600160405f200154611b2a565b611fcf565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b60043561104b816106f0565b611053612172565b6119cf565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110a457604052565b611075565b606081019081106001600160401b038211176110a457604052565b90601f801991011681019081106001600160401b038211176110a457604052565b604051906110f282611089565b565b6040519061024082018281106001600160401b038211176110a457604052565b6001600160401b0381116110a457601f01601f191660200190565b92919261113b82611114565b9161114960405193846110c4565b829481845281830111610391578281602093845f960137010152565b906111bd909392936111756121e6565b61117d6121e6565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b0393808516611962575b50369161112f565b6111d2815191602080809483010191016120b4565b916111e683518380825183010191016122af565b805182166001600160a01b031615611950576040958682019065ffffffffffff611216835165ffffffffffff1690565b161561193f5761012083018051909290611240906001600160a01b03165b6001600160a01b031690565b1561180a575b606084019161125c6112588451151590565b1590565b806117fb575b6117ea5761018085015f825b61173d575b5050835161128a91506001600160a01b0316611234565b156115a7575b6101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f8361137a61144d9861136a60c06113e79801519361135a60e08201519361134a6112f161010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061132990610220906001600160a01b03169701516001600160a01b031690565b976113326110e5565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612457565b8b516113b6906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61141c6113f3426125bf565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61148a6114736080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61149760a0840151600455565b516001600160a01b031690565b848116611597575b506101408101516001600160a01b0316848116611587575b506101608101516001600160a01b0316848116611577575b506101a08101516001600160a01b0316848116611567575b5001516001600160a01b031690565b908116611557575b508083860151950151905194859363602bd8e760e01b908501526024840161214d565b7f000000000000000000000000000000000000000000000000000000000000000061243a565b50565b61156090611ddd565b505f61150b565b61157090611d6e565b505f6114f4565b61158090611cff565b505f6114dc565b61159090611c29565b505f6114c4565b6115a090611b78565b505f6114ac565b6101008401516115bf906001600160a01b0316611234565b6116d1576102008401516115db906001600160a01b0316611234565b611677576102208401516115f7906001600160a01b0316611234565b15158061166b575b61165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d985b5050505050505099505050979a9b505050959b9a5050945050611290565b8851630331eb0f60e41b8152600490fd5b5060e0840151156115ff565b61022084015161168f906001600160a01b0316611234565b1561165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d9861163c565b6102008401516116e9906001600160a01b0316611234565b1580611731575b61165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d9861163c565b5060e0840151156116f0565b815180518210156117e4576112346114978361175893612412565b156117d35761179161178a611771611497848651612412565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117c2579082826117ba6117ad61177161149785978751612412565b805460ff19166001179055565b01909161126e565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b50611273565b895163ebf503c560e01b8152600490fd5b50610180850151511515611262565b610140840151611822906001600160a01b0316611234565b156118da575b6101a0840151611840906001600160a01b0316611234565b1561184b575b611246565b6080840151156118965760a08401511580611877575b1561124657885163183c854560e21b8152600490fd5b506101c0840151611890906001600160a01b0316611234565b15611861565b60a0840151158015906118ba575b1561184657885163183c854560e21b8152600490fd5b506101c08401516118d3906001600160a01b0316611234565b15156118a4565b606084015115611911576101608401516118fc906001600160a01b0316611234565b61182857885163183c854560e21b8152600490fd5b610160840151611929906001600160a01b0316611234565b1561182857885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119769061196e6121e6565b6110536121e6565b5f6111b5565b3d156119a6573d9061198d82611114565b9161199b60405193846110c4565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a28575f805160206125f283398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a576001926001600160401b0392369161112f565b921603611aab57611a7481602080611554945183010191016120b4565b611a7e8151611aab565b61152e6040602083015192015191610cce60405193849263602bd8e760e01b60208501526024840161214d565b60c081805181010312610391576110f29060c060405191611acb83611089565b60208101518352604081015160208401526060810151611aea816106f0565b60408401526080810151611afd816106f0565b606084015260a0810151611b10816106f0565b60808401520151611b20816106f0565b60a0820152612457565b5f8181525f805160206126128339815191526020908152604080832033845290915290205460ff1615611b5a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126128339815191529060ff16611c23575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126128339815191529060ff905b5416611cf8575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126128339815191529060ff90611c94565b5f8181525f80516020612612833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c94565b5f8181525f80516020612612833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cf8575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b92919261206d82611114565b9161207b60405193846110c4565b829481845281830111610391578281602093845f96015e010152565b9080601f830112156103915781516120b192602001612061565b90565b906020828203126103915781516001600160401b039283821161039157019060608282031261039157604051926120ea846110a9565b825181811161039157830182601f82011215610391578281602061211093519101612061565b84526020830151818111610391578261212a918501612097565b60208501526040830151908111610391576121459201612097565b604082015290565b90916121646120b1936040845260408401906119ab565b9160208184039101526119ab565b5f805160206125f2833981519152546001600160a01b0316330361219257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121e2573d5ff35b3d5ffd5b60ff5f805160206126328339815191525460401c161561220257565b604051631afcd79f60e31b8152600490fd5b51906110f2826106f0565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110a4578360051b9060405194612273858401876110c4565b85528380860192820101928311610391578301905b828210612296575050505090565b83809183516122a4816106f0565b815201910190612288565b906020828203126103915781516001600160401b039283821161039157019061024082820312610391576122e16110f4565b926122eb83612214565b84526122f960208401612214565b602085015261230a6040840161221f565b604085015261231b60608401612232565b606085015261232c60808401612232565b608085015260a083015160a085015260c083015160c085015260e083015160e085015261010061235d818501612214565b9085015261012061236f818501612214565b90850152610140612381818501612214565b90850152610160612393818501612214565b908501526101809182840151918211610391576123b191840161223f565b908301526101a06123c3818301612214565b908301526101c06123d5818301612214565b908301526101e06123e7818301612214565b908301526102006123f9818301612214565b9083015261240b610220809201612214565b9082015290565b80518210156124265760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f806120b193602081519101845af461245161197c565b9161255c565b600381511061254a576040810180516001600160a01b039291908316158061253d575b61252b57816124c46124a260a0936124956124ff9651600f55565b6114976020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661251b575b5060808101516001600160a01b0316848116612512575001516001600160a01b031690565b9081166125095750565b61155490611f2a565b61157090611ebb565b61252490611e4c565b505f6124da565b604051630331eb0f60e41b8152600490fd5b506020820151151561247a565b6040516317a509b960e31b8152600490fd5b90612583575080511561257157805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806125b6575b612594575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561258c565b65ffffffffffff908181116125d2571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220acf50e81dd813b016a7a975621b62823bc794ae18e997c08ca5969f769df67e564736f6c63430008190033","sourceMap":"332:1303:114:-:0;;;;;;2603:64:51;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;332:1303:114;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::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;;332:1303:114;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;332:1303:114;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;332:1303:114;-1:-1:-1;332:1303:114;;;;;;;;-1:-1:-1;;332:1303:114;;;;;3653:32:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;757:38:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;612:37:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;2084:35:113;332:1303:114;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;-1:-1:-1;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;;4919:24:23;332:1303:114;-1:-1:-1;332:1303:114;4919:24:23;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;332:1303:114;;3670:20:30;3666:88;;1991:1;;;1673:7:84;-1:-1:-1;;;;;332:1303:114;1659:10:84;:21;1655:71;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;;;;;;;;6431:44:26;;;;332:1303:114;6427:105:26;;-1:-1:-1;;332:1303:114;;;;;;;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;332:1303:114;-1:-1:-1;;;332:1303:114;;;6656:20:26;;;;332:1303:114;;;;1809:204:84;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;332:1303:114;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;332:1303:114;6427:105:26;332:1303:114;;-1:-1:-1;;;6498:23:26;;332:1303:114;;6498:23:26;6431:44;332:1303:114;;;;6450:25:26;;;6431:44;;1655:71:84;332:1303:114;;-1:-1:-1;;;1703:12:84;;332:1303:114;;1703:12:84;3666:88:30;332:1303:114;;-1:-1:-1;;;3713:30:30;;332:1303:114;;3713:30:30;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;;;655:32:84;-1:-1:-1;;;;;332:1303:114;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;:::o;:::-;;;;;;-1:-1:-1;;332:1303:114;;;;5350:25:23;332:1303:114;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;3202:4:23;4919:24;332:1303:114;-1:-1:-1;332:1303:114;4919:24:23;332:1303:114;3202:4:23;:::i;:::-;5350:25;:::i;332:1303:114:-;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1329:40:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;332:1303:114;;6441:34:23;6437:102;;6549:37;332:1303:114;;;6549:37:23;:::i;6437:102::-;332:1303:114;;-1:-1:-1;;;6498:30:23;;332:1303:114;;6498:30:23;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;4126:39:113;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;2255:34:113;332:1303:114;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;-1:-1:-1;;;;;;;;;;;;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;332:1303:114;;;;;;734:29:84;730:87;;332:1303:114;;;;;6431:44:26;;;;;332:1303:114;6427:105:26;;;6656:20;332:1303:114;6656:20:26;332:1303:114;1167:340:84;332:1303:114;;;;-1:-1:-1;;;;;332:1303:114;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;332:1303:114;;;;;;;;;6575:22:26;1167:340:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;332:1303:114;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;6656:20:26;;;;332:1303:114;6427:105:26;332:1303:114;;-1:-1:-1;;;6498:23:26;;332:1303:114;;6498:23:26;6431:44;332:1303:114;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:84;332:1303:114;;-1:-1:-1;;;786:20:84;;332:1303:114;;786:20:84;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;;;-1:-1:-1;332:1303:114;2718:59:113;332:1303:114;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1041:36:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;1989:39:113;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1564:45:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;2423:32:113;332:1303:114;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;;;332:1303:114;;;;;;;-1:-1:-1;;;;;332:1303:114;3975:40:24;332:1303:114;;3975:40:24;332:1303:114;;;;;;;-1:-1:-1;;332:1303:114;;;;;;4027:43:113;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;332:1303:114;2594:68:113;332:1303:114;;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;3932:39:113;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;3833:43:113;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;3901:31:23;332:1303:114;;;;;:::i;:::-;;;-1:-1:-1;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;;;;3901:31:23;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;332:1303:114;;;;-1:-1:-1;332:1303:114;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;332:1303:114;;;;;;;;;;477:31:88;;332:1303:114;;;;;;;;;;;:::i;:::-;477:31:88;;;;;;;;;:::i;:::-;518:79;;;332:1303:114;518:79:88;;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;900:35:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;2953:94:113;332:1303:114;;;;;:::i;:::-;;;-1:-1:-1;332:1303:114;2953:94:113;332:1303:114;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;;;;2953:94:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;3103:92:113;332:1303:114;;;;;:::i;:::-;;;-1:-1:-1;332:1303:114;3103:92:113;332:1303:114;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;4396:31:113;332:1303:114;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;-1:-1:-1;332:1303:114;2833:64:113;332:1303:114;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;2345:22:113;332:1303:114;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1183:36:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;3543:54:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;2175:24:113;332:1303:114;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;3741:36:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;5767:26:23;332:1303:114;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;3202:4:23;4919:24;332:1303:114;-1:-1:-1;332:1303:114;4919:24:23;332:1303:114;3202:4:23;:::i;:::-;5767:26;:::i;332:1303:114:-;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;466:39:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;4221:36:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;4313:27:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1466:3:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;2357:1:24;332:1303:114;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;332:1303:114:-;;;;;;-1:-1:-1;;332:1303:114;;;;;3437:50:113;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;:::o;:::-;;;477:31:88;;332:1303:114;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;:::o;:::-;-1:-1:-1;;;;;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:114;;;;;;:::o;1167:340:84:-;;332:1303:114;1167:340:84;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;1949;-1:-1:-1;;;;;332:1303:114;;;;1376:73:84;;1167:340;332:1303:114;;;;:::i;:::-;674:55;332:1303;;674:55;;;;;;;;;;;:::i;:::-;782:17;2615:37:111;782:17:114;;332:1303;;;;2615:37:111;;;;;;:::i;:::-;332:1303:114;;;;-1:-1:-1;;;;;332:1303:114;2667:31:111;2663:95;;2772:20;;;;;332:1303:114;;;;;;;;;;;2772:25:111;2768:92;;2874:29;;;332:1303:114;;2874:29:111;;332:1303:114;2874:43:111;;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;;;;;332:1303:114;;;2874:43:111;;2870:971;;1167:340:84;3856:23:111;;;332:1303:114;3855:24:111;332:1303:114;;;;;;;;3855:24:111;;332:1303:114;3855:24:111;:67;;;1167:340:84;3851:132:111;;4013:28;;;-1:-1:-1;3998:9:111;1949:1:30;;;3993:411:111;-1:-1:-1;;332:1303:114;;4418:43:111;;-1:-1:-1;;;;;;332:1303:114;;;4418:43:111;;4414:697;;3993:411;6611:32;5224:34;332:1303:114;5224:34:111;;5828:42;332:1303:114;5224:34:111;;;811:157:114;5224:34:111;;332:1303:114;;5224:34:111;863:95:114;5224:34:111;332:1303:114;863:95;5224:34:111;;5156:468;5224:34;5156:468;5773:44;5224:34;5156:468;5224:34;5686:22;5224:34;;332:1303:114;5290:19:111;5156:468;5290:19;;;332:1303:114;5345:23:111;5156:468;332:1303:114;5345:23:111;;;332:1303:114;;;;;;;;;;5414:33:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;5492:32:111;;;332:1303:114;5492:32:111;;;332:1303:114;;5573:36:111;;-1:-1:-1;;;;;332:1303:114;5573:36:111;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;:::i;:::-;;;;5156:468:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;5156:468:111;;;332:1303:114;;5156:468:111;-1:-1:-1;;;;;332:1303:114;3856:23:111;5156:468;;332:1303:114;;5156:468:111;-1:-1:-1;;;;;332:1303:114;5156:468:111;;;332:1303:114;;5156:468:111;-1:-1:-1;;;;;332:1303:114;5156:468:111;;;332:1303:114;;5156:468:111;;:::i;:::-;332:1303:114;;5645:30:111;;-1:-1:-1;;;;;332:1303:114;1398:1:84;332:1303:114;;-1:-1:-1;;;;;;332:1303:114;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;5645:30:111;5695:13;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;1949:1:30;332:1303:114;;;1949:1:30;332:1303:114;;5686:22:111;5719:44;819:34:75;837:15;819:34;:::i;:::-;1949:1:30;332:1303:114;;-1:-1:-1;;;;332:1303:114;;;;;;-1:-1:-1;;;332:1303:114;;;;;;;;5719:44:111;332:1303:114;;;;;;1949:1:30;332:1303:114;;-1:-1:-1;;;;;332:1303:114;;;;;;-1:-1:-1;;;;;;332:1303:114;;;;;;;;5773:44:111;332:1303:114;;;;;;;;;1398:1:84;332:1303:114;;;;;;;1398:1:84;332:1303:114;;5828:42:111;5881:38;332:1303:114;5156:468:111;5898:21;;332:1303:114;;;;;;;1398:1:84;332:1303:114;;;;;;;;;;;;1398:1:84;332:1303:114;;5881:38:111;5929:34;5156:468;5944:19;;332:1303:114;5929:34:111;1991:1:30;;5929:34:111;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;5974:135:111;;3993:411;-1:-1:-1;6122:36:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;6118:157:111;;3993:411;-1:-1:-1;6288:35:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;6284:153:111;;3993:411;-1:-1:-1;6450:34:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;6446:152:111;;3993:411;-1:-1:-1;6611:32:111;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;6607:145:111;;3993:411;930:11:114;;;;;;943:13;;;332:1303;;863:95;;;;;;;;;;;;;;:::i;:::-;1428:14:111;811:157:114;:::i;:::-;;1167:340:84:o;6607:145:111:-;6673:68;;;:::i;:::-;;6607:145;;;6446:152;6514:73;;;:::i;:::-;;6446:152;;;6284:153;6353:73;;;:::i;:::-;;6284:153;;;6118:157;6188:76;;;:::i;:::-;;6118:157;;;5974:135;6037:61;;;:::i;:::-;;5974:135;;;4414:697;4481:23;;;332:1303:114;4481:37:111;;-1:-1:-1;;;;;332:1303:114;;;4481:37:111;:23;;4542:32;;;332:1303:114;4542:46:111;;-1:-1:-1;;;;;332:1303:114;;;4542:46:111;:32;;4616:36;;;332:1303:114;4616:50:111;;-1:-1:-1;;;;;332:1303:114;;;4616:50:111;;;:78;;;4538:396;4612:167;;6611:32;4538:396;332:1303:114;4538:396:111;;5828:42;332:1303:114;4538:396:111;;;811:157:114;4538:396:111;;332:1303:114;;4538:396:111;863:95:114;4538:396:111;332:1303:114;863:95;4538:396:111;;5156:468;5686:22;4538:396;5156:468;5773:44;4538:396;;4414:697;;;;;;;;;;;;;;;;;;;;;;;;;;;4612:167;332:1303:114;;-1:-1:-1;;;4729:27:111;;;;;4616:78;4670:19;;;;332:1303:114;4670:24:111;4616:78;;4538:396;4807:36;;;332:1303:114;4807:50:111;;-1:-1:-1;;;;;332:1303:114;;;4807:50:111;;4803:131;;6611:32;4538:396;332:1303:114;4538:396:111;;5828:42;332:1303:114;4538:396:111;;;811:157:114;4538:396:111;;332:1303:114;;4538:396:111;863:95:114;4538:396:111;332:1303:114;863:95;4538:396:111;;5156:468;5686:22;4538:396;5156:468;5773:44;4538:396;;;4477:624;4958:32;;;332:1303:114;4958:46:111;;-1:-1:-1;;;;;332:1303:114;;;4958:46:111;;:74;;;4477:624;4954:147;;6611:32;4477:624;332:1303:114;4477:624:111;;5828:42;332:1303:114;4477:624:111;;;811:157:114;4477:624:111;;332:1303:114;;4477:624:111;863:95:114;4477:624:111;332:1303:114;863:95;4477:624:111;;5156:468;5686:22;4477:624;5156:468;5773:44;4477:624;;;4958:74;5008:19;;;;332:1303:114;5008:24:111;4958:74;;4050:3;4013:28;;332:1303:114;;4009:39:111;;;;;4073:31;;;:45;:31;;:::i;:45::-;;4069:114;;4201:55;;4224:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;332:1303:114;;;;;4201:22:111;332:1303:114;;;;;;;4201:55:111;332:1303:114;;;;;4201:55:111;4197:120;;4354:28;;;4331:62;:55;4354:31;;:28;;;;:31;:::i;4331:55::-;332:1303:114;;-1:-1:-1;;332:1303:114;1949:1:30;332:1303:114;;;;4331:62:111;332:1303:114;3998:9:111;;;;4197:120;332:1303:114;;-1:-1:-1;;;4283:19:111;;;;;4069:114;332:1303:114;;-1:-1:-1;;;4145:23:111;;;;;4009:39;;;;3851:132;332:1303:114;;-1:-1:-1;;;3945:27:111;;;;;3855:67;3883:28;;;;;332:1303:114;3883:39:111;;3855:67;;2870:971;2937:36;;;332:1303:114;2937:50:111;;-1:-1:-1;;;;;332:1303:114;;;2937:50:111;;2933:419;;2870:971;3370:34;;;332:1303:114;3370:48:111;;-1:-1:-1;;;;;332:1303:114;;;3370:48:111;;3366:465;;2870:971;;;3366:465;3442:21;;;332:1303:114;;3442:21:111;;3491:19;;;332:1303:114;3491:24:111;:74;;;3438:379;3487:157;2870:971;3487:157;332:1303:114;;-1:-1:-1;;;3600:21:111;;;;;3491:74;-1:-1:-1;3519:32:111;;;332:1303:114;3519:46:111;;-1:-1:-1;;;;;332:1303:114;;;3519:46:111;;3491:74;;3438:379;3672:19;;;332:1303:114;3672:24:111;;;:74;;;3438:379;3668:149;3366:465;3668:149;332:1303:114;;-1:-1:-1;;;3777:21:111;;;;;3672:74;-1:-1:-1;3700:32:111;;;332:1303:114;3700:46:111;;-1:-1:-1;;;;;332:1303:114;;;3700:46:111;;;3672:74;;2933:419;3011:23;;;332:1303:114;;3011:23:111;;3062:35;;;332:1303:114;3062:49:111;;-1:-1:-1;;;;;332:1303:114;;;3062:49:111;2933:419;3058:132;332:1303:114;;-1:-1:-1;;;3146:21:111;;;;;3007:331;3218:35;;;332:1303:114;3218:49:111;;-1:-1:-1;;;;;332:1303:114;;;3218:49:111;3214:124;2933:419;3214:124;332:1303:114;;-1:-1:-1;;;3298:21:111;;;;;2768:92;332:1303:114;;-1:-1:-1;;;2820:29:111;;;;;2663:95;332:1303:114;;-1:-1:-1;;;2721:26:111;;;;;1376:73:84;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:84;;;332:1303:114;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;332:1303:114;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:114;;;;;;;;-1:-1:-1;;332:1303:114;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;332:1303:114;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;;;332:1303:114;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;332:1303:114;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;332:1303:114;;;3534:31:24;1809:204:84;;332:1303:114;1110:1;1809:204:84;-1:-1:-1;;;;;1809:204:84;332:1303:114;;;:::i;:::-;;;1096:15;1110:1;;1200:58;332:1303;1200:58;332:1303;1345:165;332:1303;;1200:58;;;;;;:::i;:::-;;1312:17;;1200:58;:::i;:::-;1401:95;1481:13;1200:58;1468:11;;;1481:13;;;332:1303;1401:95;1481:13;332:1303;863:95;;;;;;1200:58;1401:95;;;;;;;:::i;1092:535::-;332:1303;;;;6926:40:111;;332:1303:114;;;;6999:6:111;332:1303:114;;;;;;;;:::i;:::-;6926:40:111;;;332:1303:114;;;;;;;6926:40:111;332:1303:114;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;6999:6:111;:::i;4148:103:23:-;-1:-1:-1;332:1303:114;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;;;;;966:10:28;332:1303:114;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;332:1303:114;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;332:1303:114;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;332:1303:114;;1398:1:84;332:1303:114;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;;;1398:1:84;332:1303:114;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;-1:-1:-1;;332:1303:114;7509:4:23;332:1303:114;;;966:10:28;;-1:-1:-1;;;;;332:1303:114;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:84;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;466:39:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;-1:-1:-1;;332:1303:114;7509:4:23;332:1303:114;;;966:10:28;;-1:-1:-1;;;;;332:1303:114;;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;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;612:37:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;757:38:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;900:35:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;1041:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;1183:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;1329:40:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;332:1303:114;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;3901:31:23;332:1303:114;7892:388:23;-1:-1:-1;332:1303:114;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;-1:-1:-1;;332:1303:114;;;966:10:28;;-1:-1:-1;;;;;332:1303:114;;8155:40:23;-1:-1:-1;;8155:40:23;332:1303:114;8209:11:23;:::o;332:1303:114:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:114;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;332:1303:114;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;332:1303:114;;;2763:40:24;2323:83:51;1019:819;;;;;;;1428:14:111;;1019:819:51;;;;;;;;;;;;;;;;7084:141:26;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;332:1303:114;;-1:-1:-1;;;7191:17:26;;;;;332:1303:114;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3900:253:57;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;1455:1025:111:-;1596:1;332:1303:114;;1559:38:111;1555:119;;1688:23;;;332:1303:114;;-1:-1:-1;;;;;332:1303:114;1688:23:111;;332:1303:114;;1688:37:111;;:65;;1455:1025;1684:130;;332:1303:114;1951:42:111;332:1303:114;2320:36:111;332:1303:114;1824:72:111;332:1303:114;;;1824:72:111;1991:1:30;;1824:72:111;1907:34;1922:19;;;332:1303:114;1907:34:111;1991:1:30;;332:1303:114;;;;;;;;;;1951:42:111;332:1303:114;;;1951:42:111;332:1303:114;;1951:42:111;2008:33;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;2004:148:111;;1455:1025;-1:-1:-1;2165:32:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;2161:146:111;;-1:-1:-1;2320:36:111;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;2316:158:111;;1455:1025;:::o;2316:158::-;2386:77;;;:::i;2161:146::-;2227:69;;;:::i;2004:148::-;2071:70;;;:::i;:::-;;2004:148;;;1684:130;1688:23;332:1303:114;-1:-1:-1;;;1776:27:111;;;;;1688:65;1729:19;;;;332:1303:114;1729:24:111;;1688:65;;1555:119;332:1303:114;;-1:-1:-1;;;1620:43:111;;;;;4421:582:57;;4593:8;;-1:-1:-1;332:1303:114;;5674:21:57;:17;;5799:158;;;;;;5670:354;332:1303:114;;-1:-1:-1;;;5994:19:57;;;;;4589:408;332:1303:114;;4841:22:57;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;332:1303:114;;-1:-1:-1;;;4917:24:57;;-1:-1:-1;;;;;332:1303:114;;;4917:24:57;;;332:1303:114;;;4917:24:57;4841:49;4867:18;;;:23;4841:49;;14296:213:71;332:1303:114;14374:24:71;;;;14370:103;;332:1303:114;14296:213:71;:::o;14370:103::-;332:1303:114;;;;14421:41:71;;;;;;14452:2;14421:41;;;332:1303:114;;;;;14421:41:71","linkReferences":{},"immutableReferences":{"60387":[{"start":1366,"length":32},{"start":1729,"length":32}],"71678":[{"start":5424,"length":32},{"start":8628,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155\",\"dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc","urls":["bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155","dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":114} \ No newline at end of file From 2c315c581f9a0617120670872b9ff0d8913a9ee6 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 24 Feb 2025 09:23:52 +0400 Subject: [PATCH 07/12] refactor: name error --- src/contracts/vault/v1.1/VaultImplementation.sol | 2 +- test/vault/v1.1/Vault.t.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/contracts/vault/v1.1/VaultImplementation.sol b/src/contracts/vault/v1.1/VaultImplementation.sol index 5f12493..5d051e8 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -97,7 +97,7 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran uint256 epoch ) public view returns (uint48) { if (epoch < prevEpochInitInternal) { - revert(); + revert InvalidEpoch(); } if (epoch < epochInitInternal) { diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index fecb9e2..aa6b10f 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -3034,7 +3034,7 @@ contract VaultTest is Test { assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 3); assertEq(vault.nextEpochDurationInternal(), newEpochDuration4); assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 3 * newEpochDuration3); - vm.expectRevert(); + vm.expectRevert(IVault.InvalidEpoch.selector); vault.epochStart(0); } From 2c6f46bc94b4bcf615ae9ed7d67ae37ce6043ea2 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 24 Feb 2025 09:34:18 +0400 Subject: [PATCH 08/12] chore: sync out --- out/VaultImplementation.sol/VaultImplementation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/out/VaultImplementation.sol/VaultImplementation.json b/out/VaultImplementation.sol/VaultImplementation.json index 6147d25..2da1f2e 100644 --- a/out/VaultImplementation.sol/VaultImplementation.json +++ b/out/VaultImplementation.sol/VaultImplementation.json @@ -1 +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":"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":"_Vault_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","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":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"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":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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"}],"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":"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614cc938819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614c1c90816100ad8239608051818181611458015261194a015260a051818181611e2001526123280152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131d6565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b918215610733578261071592613218565b9061071e613205565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613552565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613780565b6137ac565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613847565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131d6565b610aef61361e565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131d6565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138d9565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a2d565b5050610cbd89610ca242613eb9565b90613b0d565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613be9565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613205565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133c7565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131d6565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131d6565b61103761367b565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613205565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131d6565b61116e84612d48565b831161134a5761117e8385613143565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613ca7565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613205565b5160018152602090f35b6112d292613ca7565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131d6565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613205565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613ca7565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d7e565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d7e565b9788958584613d7e565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b9061349d565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131d6565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613205565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131d6565b611abd6136d2565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613205565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131d6565b6120f0613729565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613205565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131d6565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613205565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131d6565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e0b565b9485915f5460101c16613ca7565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131d6565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b98183613178565b83018093116108195760018201809211610819576126d691613178565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613103565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613780565b613847565b346105ca5760203660031901126105ca576004356127b16131d6565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613143565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a0460208501518361349d565b930151906133c7565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131d6565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b3957610715918391613218565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b600435613178565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613552565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d7e565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131d6565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613ca7565b612f65604051928392339684612fce565b0390a3906108d7613205565b94612f8c600191611719612f86898789612fb9565b35613e0b565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b6012548082106105ca576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b65ffffffffffff8060135460601c16801591821561312e575b50506131285760105490565b600f5490565b90915061313a42613eb9565b16105f8061311c565b5f5460101c6001600160a01b0390811691160361316657601554610eed91613d00565b60405163350b944160e11b8152600490fd5b9061319e90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d7e565b5f80516020614bc783398151915260028154146131f35760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061323342613eb9565b335f908152600e6020526040902061324a90613fd3565b91848303928311610819576132857febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361331499613be9565b505061329f61329342613eb9565b610cbd876116b3613f5f565b50506132b96132ad42613eb9565b610ca8846116b3613eeb565b50506133628161334d6132d66132d16107e842613eb9565b612c4e565b61332c6132eb825f52600660205260405f2090565b546132fe835f52600760205260405f2090565b5461330a82828b614026565b9d8e998a93612c5c565b613326855f52600660205260405f2090565b55612c5c565b61333e825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61336d838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b9080511561349357806020806133e293518301019101613396565b6133eb81614297565b906133fc825165ffffffffffff1690565b9065ffffffffffff80851692168281146134875782119182613432575b50506134295750610eed90614047565b60209150015190565b909150613440600a54612bb8565b63ffffffff831614918215613459575b50505f80613419565b61347f91925061347361346e611b19926133b2565b614297565b5165ffffffffffff1690565b115f80613450565b50505060209150015190565b50610eed90614047565b9080511561354857806020806134b893518301019101613396565b6134c181614321565b906134d2825165ffffffffffff1690565b9065ffffffffffff808516921682811461348757821191826134ff575b50506134295750610eed9061410e565b90915061350d600c54612bb8565b63ffffffff831614918215613526575b50505f806134ef565b61354091925061347361353b611b19926133b2565b614321565b115f8061351d565b50610eed9061410e565b91805115613614578060208061356d93518301019101613396565b9161357883826143a1565b92613589845165ffffffffffff1690565b9065ffffffffffff808516921682811461360857821191826135bf575b50506135b657610eed92506141ce565b50506020015190565b9091506135cc8354612bb8565b63ffffffff8316149182156135e5575b50505f806135a6565b6136009192506134736135fa611b19926133b2565b856143a1565b115f806135dc565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613671565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613671565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613671565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613671565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613840575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613840575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a159160016108d795018155613975565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613ad8575b50613a456144a2565b50929091815492613a54613eeb565b9481613ac3575b5015613aa057505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ab4926001600160d01b0316915061469e565b5050613abf8361398a565b9190565b65ffffffffffff83811691161490505f613a5b565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a3c565b919091600b9081548015613bb4575b50613b256144f7565b50929091815492613b34613f5f565b9481613b9f575b5015613b8057505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613b94926001600160d01b0316915061476e565b5050613abf836139be565b65ffffffffffff83811691161490505f613b3b565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b1c565b90929192600182019081548015613c77575b5084613c068461454c565b50949092845493613c1683613fd3565b9681613c62575b5015613c3f575050505f19810190811161081957613a158591613abf93613975565b613abf949293613c5b926001600160d01b03909116919061480d565b50506139f2565b65ffffffffffff83811691161490505f613c1d565b600160401b81101561088957806001613c939201845583613975565b8154905f199060031b1b191690555f613bfb565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d7157633b9aca009082821115613d5f577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613dfe5784831115613df15790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613cf6565b90613e186107e842613eb9565b821015613ea75760ff613e48613e36845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613e9557613e583383613178565b918215613e8357613e769061334d33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613975565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d7e565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613931565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613953565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613975565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613975565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613975565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d7e565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613975565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613cf6565b0160011c90565b61494f818a613cf6565b61494f8189613cf6565b61494f8188613cf6565b61494f8187613cf6565b61494f8186613cf6565b8093613cf6565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220645078b35b2b9a7fadb184d042fc0af2d0b700e0c10f74d6dcbb6d1533f2a49164736f6c63430008190033","sourceMap":"1252:21555:112:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21555;;;;;;;;1785:36;1252:21555;;;;;;;;;;1831:32;1252:21555;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;-1:-1:-1;1252:21555:112;;;;;-1:-1:-1;1252:21555:112;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131d6565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b918215610733578261071592613218565b9061071e613205565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613552565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613780565b6137ac565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613847565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131d6565b610aef61361e565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131d6565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138d9565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a2d565b5050610cbd89610ca242613eb9565b90613b0d565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613be9565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613205565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133c7565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131d6565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131d6565b61103761367b565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613205565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131d6565b61116e84612d48565b831161134a5761117e8385613143565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613ca7565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613205565b5160018152602090f35b6112d292613ca7565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131d6565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613205565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613ca7565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d7e565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d7e565b9788958584613d7e565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b9061349d565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131d6565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613205565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131d6565b611abd6136d2565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613205565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131d6565b6120f0613729565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613205565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131d6565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613205565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131d6565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e0b565b9485915f5460101c16613ca7565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131d6565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b98183613178565b83018093116108195760018201809211610819576126d691613178565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613103565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613780565b613847565b346105ca5760203660031901126105ca576004356127b16131d6565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613143565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a0460208501518361349d565b930151906133c7565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131d6565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b3957610715918391613218565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b600435613178565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613552565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d7e565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131d6565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613ca7565b612f65604051928392339684612fce565b0390a3906108d7613205565b94612f8c600191611719612f86898789612fb9565b35613e0b565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b6012548082106105ca576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b65ffffffffffff8060135460601c16801591821561312e575b50506131285760105490565b600f5490565b90915061313a42613eb9565b16105f8061311c565b5f5460101c6001600160a01b0390811691160361316657601554610eed91613d00565b60405163350b944160e11b8152600490fd5b9061319e90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d7e565b5f80516020614bc783398151915260028154146131f35760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061323342613eb9565b335f908152600e6020526040902061324a90613fd3565b91848303928311610819576132857febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361331499613be9565b505061329f61329342613eb9565b610cbd876116b3613f5f565b50506132b96132ad42613eb9565b610ca8846116b3613eeb565b50506133628161334d6132d66132d16107e842613eb9565b612c4e565b61332c6132eb825f52600660205260405f2090565b546132fe835f52600760205260405f2090565b5461330a82828b614026565b9d8e998a93612c5c565b613326855f52600660205260405f2090565b55612c5c565b61333e825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61336d838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b9080511561349357806020806133e293518301019101613396565b6133eb81614297565b906133fc825165ffffffffffff1690565b9065ffffffffffff80851692168281146134875782119182613432575b50506134295750610eed90614047565b60209150015190565b909150613440600a54612bb8565b63ffffffff831614918215613459575b50505f80613419565b61347f91925061347361346e611b19926133b2565b614297565b5165ffffffffffff1690565b115f80613450565b50505060209150015190565b50610eed90614047565b9080511561354857806020806134b893518301019101613396565b6134c181614321565b906134d2825165ffffffffffff1690565b9065ffffffffffff808516921682811461348757821191826134ff575b50506134295750610eed9061410e565b90915061350d600c54612bb8565b63ffffffff831614918215613526575b50505f806134ef565b61354091925061347361353b611b19926133b2565b614321565b115f8061351d565b50610eed9061410e565b91805115613614578060208061356d93518301019101613396565b9161357883826143a1565b92613589845165ffffffffffff1690565b9065ffffffffffff808516921682811461360857821191826135bf575b50506135b657610eed92506141ce565b50506020015190565b9091506135cc8354612bb8565b63ffffffff8316149182156135e5575b50505f806135a6565b6136009192506134736135fa611b19926133b2565b856143a1565b115f806135dc565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613671565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613671565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613671565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613671565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613840575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613840575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a159160016108d795018155613975565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613ad8575b50613a456144a2565b50929091815492613a54613eeb565b9481613ac3575b5015613aa057505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ab4926001600160d01b0316915061469e565b5050613abf8361398a565b9190565b65ffffffffffff83811691161490505f613a5b565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a3c565b919091600b9081548015613bb4575b50613b256144f7565b50929091815492613b34613f5f565b9481613b9f575b5015613b8057505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613b94926001600160d01b0316915061476e565b5050613abf836139be565b65ffffffffffff83811691161490505f613b3b565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b1c565b90929192600182019081548015613c77575b5084613c068461454c565b50949092845493613c1683613fd3565b9681613c62575b5015613c3f575050505f19810190811161081957613a158591613abf93613975565b613abf949293613c5b926001600160d01b03909116919061480d565b50506139f2565b65ffffffffffff83811691161490505f613c1d565b600160401b81101561088957806001613c939201845583613975565b8154905f199060031b1b191690555f613bfb565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d7157633b9aca009082821115613d5f577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613dfe5784831115613df15790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613cf6565b90613e186107e842613eb9565b821015613ea75760ff613e48613e36845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613e9557613e583383613178565b918215613e8357613e769061334d33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613975565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d7e565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613931565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613953565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613975565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613975565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613975565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d7e565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613975565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613cf6565b0160011c90565b61494f818a613cf6565b61494f8189613cf6565b61494f8188613cf6565b61494f8187613cf6565b61494f8186613cf6565b8093613cf6565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220645078b35b2b9a7fadb184d042fc0af2d0b700e0c10f74d6dcbb6d1533f2a49164736f6c63430008190033","sourceMap":"1252:21555:112:-: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;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21555:112;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:21555:112;-1:-1:-1;1252:21555:112;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;3653:32:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;757:38:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;612:37:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;2084:35:113;1252:21555:112;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;10963:21;10959:75;;11072:10;1252:21555;;;;6241:15;1252:21555;;;;;6241:33;;;:::i;:24::-;:33;:::i;:::-;11048:35;;11044:88;;1057:70:100;5822:21:112;;:::i;:::-;5466:22;;:::i;:::-;1057:70:100;;;:::i;:::-;11239:20:112;;;11235:82;;11342:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;;;11235:82;1252:21555;;-1:-1:-1;;;;;;11282:24:112;;1252:21555;;11282:24;11044:88;1252:21555;;-1:-1:-1;;;11106:15:112;;1252:21555;;11106:15;10959:75;1252:21555;;-1:-1:-1;;;11007:16:112;;1252:21555;;11007:16;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;4919:24:23;1252:21555:112;-1:-1:-1;1252:21555:112;4919:24:23;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;4525:25;819:34:75;837:15;819:34;:::i;:::-;4525:25:112;:::i;:::-;4874:10;;4870:65;;-1:-1:-1;;1252:21555:112;;;;;;;4951:21;1252:21555;4951:21;;:::i;:::-;1252:21555;;;;;;;;;;:::i;4870:65::-;1252:21555;;-1:-1:-1;;;4907:17:112;;1252:21555;;4907:17;1252:21555;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;;-1:-1:-1;;1252:21555:112;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;6025:59;1252:21555;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;6025:15;1252:21555;;;;;6025:59;:::i;:::-;1252:21555;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;5350:25:23;1252:21555:112;;;;;;;:::i;:::-;;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;3202:4:23;4919:24;1252:21555:112;-1:-1:-1;1252:21555:112;4919:24:23;1252:21555:112;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21555:112;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1329:40:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:21555:112;;6441:34:23;6437:102;;6549:37;1252:21555:112;;;6549:37:23;:::i;6437:102::-;1252:21555:112;;-1:-1:-1;;;6498:30:23;;1252:21555:112;;6498:30:23;1252:21555:112;;;;;;-1:-1:-1;;1252:21555:112;;;;;6400:22;1252:21555;;;;6400:46;;;1252:21555;;;;;;;;;;;6400:46;-1:-1:-1;6426:20:112;1252:21555;;;;;6400:46;;1252:21555;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21555:112;;;;;;;;;;;15971:26;15967:76;;-1:-1:-1;;1252:21555:112;;;;;-1:-1:-1;1252:21555:112;;;;;;16094:27;;1252:21555;;16094:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;15967:76;1252:21555;;-1:-1:-1;;;16020:12:112;;1252:21555;;16020:12;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;8912:24;;8908:81;;-1:-1:-1;1252:21555:112;;;;9003:55;;;1252:21555;8999:118;;1252:21555;;-1:-1:-1;;;9151:43:112;;;9188:4;9151:43;;;1252:21555;;;;;;;;;;;;;;;;;;;;;;;;;9151:43;;;;;;;;;;-1:-1:-1;9151:43:112;;;1252:21555;;9267:6;1252:21555;;;9188:4;;9240:10;;9267:6;;:::i;:::-;-1:-1:-1;1252:21555:112;;;9302:43;;;9188:4;9302:43;;;1252:21555;;;;;;;;;;9302:43;1252:21555;;;;;;9302:43;1252:21555;;;;;9302:43;;;;;;;:59;:43;-1:-1:-1;9302:43:112;;;1252:21555;9302:59;;;:::i;:::-;9376:20;;;9372:79;;1252:21555;;;;;9465:64;;1252:21555;9461:123;;5822:21;;1252:21555;5822:21;9940:93;5822:21;;:::i;:::-;5466:22;9864:66;5466:22;;:::i;:::-;9787:67;390:70:100;;;;;:::i;:::-;837:15:75;9823:30:112;837:15:75;819:34;837:15;819:34;:::i;:::-;9823:30:112;;:::i;:::-;9787:67;;:::i;:::-;837:15:75;;9901:28:112;837:15:75;819:34;837:15;819:34;:::i;9901:28:112:-;9864:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21555:112;;;;;;6241:15;1252:21555;;;;;837:15:75;9991:41:112;837:15:75;6241:33:112;:24;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;;;6241:15;1252:21555;;;;;;;6241:33;9991:41;:::i;:::-;9940:93;;:::i;:::-;-1:-1:-1;;1252:21555:112;;;;;;;;;;;9240:10;;10049:62;;1252:21555;;10049:62;3426:1:30;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;;;;9461:123;1252:21555;;-1:-1:-1;;;9552:21:112;;;9465:64;5822:21;9483:31;5822:21;;;:::i;9483:31::-;1252:21555;;-1:-1:-1;9465:64:112;;9372:79;-1:-1:-1;1252:21555:112;;-1:-1:-1;;;9419:21:112;;;9302:43;;;;;;-1:-1:-1;9302:43:112;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9151:::-;9267:6;9151:43;;;;;;;;;;;;;;;:::i;:::-;;;;;8999:118;-1:-1:-1;1252:21555:112;;-1:-1:-1;;;9081:25:112;;;9003:55;-1:-1:-1;9047:10:112;1252:21555;;;;9024:22;1252:21555;;;;;;;;9023:35;9003:55;;8908:81;1252:21555;;-1:-1:-1;;;8959:19:112;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;4126:39:113;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;2255:34:113;1252:21555:112;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5292:48;1252:21555;;;:::i;:::-;5292:48;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;;1329:40:113;;1252:21555:112;;4468:23:23;4464:108;;-1:-1:-1;19952:16:112;1252:21555;-1:-1:-1;;;;;1252:21555:112;;;;;;19952:37;;19948:87;;-1:-1:-1;;;;;;1252:21555:112;;;19952:16;1252:21555;;;;;;20096:38;;1252:21555;;20096:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;4464:108:23;1252:21555:112;;;;4514:47:23;;;;;;966:10:28;1252:21555:112;4514:47:23;;1252:21555:112;;;;;4514:47:23;1252:21555:112;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;16799:24;16795:74;;-1:-1:-1;;1252:21555:112;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;16918:25;;1252:21555;;16918:25;3426:1:30;;:::i;1252:21555:112:-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;-1:-1:-1;1252:21555:112;2718:59:113;1252:21555:112;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12639:19:112;;;:::i;:::-;12631:27;;12627:82;;12732:22;;;;:::i;:::-;-1:-1:-1;1252:21555:112;;;;12830:19;;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;-1:-1:-1;;;;;1252:21555:112;;;12830:19;1252:21555;;;-1:-1:-1;;;12830:44:112;;;12868:4;12830:44;;;1252:21555;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;12868:4;1252:21555;;;;;;;;12830:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12830:44:112;;;1252:21555;;;12937:5;1252:21555;12958:57;1252:21555;;-1:-1:-1;1252:21555:112;;;;12937:5;;;:::i;:::-;1252:21555;-1:-1:-1;;;12958:57:112;;1252:21555;;;;;;;12979:10;;12958:57;;;:::i;:::-;;;;;;;;;1564:45:113;12958:57:112;-1:-1:-1;12958:57:112;;;1252:21555;12958:73;;12954:128;;1252:21555;;13096:44;;;12868:4;13096:44;;;1252:21555;;;;;;;;;13096:44;1252:21555;;;;;;13096:44;;;;;;;;;;:60;:44;-1:-1:-1;13096:44:112;;;:60;;;:::i;:::-;:67;13092:126;;-1:-1:-1;13232:16:112;1252:21555;-1:-1:-1;;;;;1252:21555:112;;;;13228:116;;1252:21555;3426:1:30;;;:::i;:::-;1252:21555:112;13361:4;1252:21555;;;;;13228:116;13329:3;;;:::i;:::-;13228:116;;;;;13092:126;1252:21555;;-1:-1:-1;;;13186:21:112;;;12954:128;1252:21555;;-1:-1:-1;;;13054:17:112;;1252:21555;;13054:17;12958:57;;;;;;;;;;;;;;:::i;:::-;;;;12830:44;-1:-1:-1;12830:44:112;;;;;;;12958:57;12830:44;;;12937:5;12830:44;;;;-1:-1:-1;12830:44:112;;;;;;:::i;:::-;;;;;;;;;;;;;12627:82;-1:-1:-1;1252:21555:112;;-1:-1:-1;;;12681:17:112;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1041:36:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;4680:26;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;4680:26;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;1989:39:113;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1564:45:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;1575:42;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;2423:32:113;1252:21555:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13560:7:112;1252:21555;13546:21;;-1:-1:-1;;;;;1252:21555:112;;;13546:21;:10;:21;13542:71;;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;13694;;;;:::i;:::-;13734:17;;;;:53;;;1252:21555;13733:87;;;;1252:21555;13729:146;;1252:21555;5822:21;15739:48;5822:21;;;:::i;:::-;13969:17;13957:30;13969:17;;;:::i;:::-;1252:21555;;13957:11;1252:21555;;;;;;;13957:30;1252:21555;;14001:29;;;;;14071:30;;;;;:::i;:::-;3066:5:70;;;3463;;;1252:21555:112;3060:42:70;;14181:17:112;;;14177:384;;13997:1615;;;;;;;15626:17;15622:102;;13997:1615;1252:21555;;;;;;;;;;;;;;;;;;;;;;;15739:48;3426:1:30;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;15622:102;-1:-1:-1;1252:21555:112;15699:13;;1252:21555;;15659:18;;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;;15659:18;13985:1;1252:21555;-1:-1:-1;;;;;1252:21555:112;15699:13;;:::i;:::-;15622:102;;14177:384;14474:29;14242:50;14391:65;14242:50;14427:28;14343:29;14242:50;14486:16;14242:50;14506:40;14242:50;;;:::i;:::-;14343:29;;;:::i;:::-;837:15:75;819:34;837:15;819:34;:::i;:::-;14427:28:112;;:::i;14506:40::-;14486:16;;:::i;14474:29::-;1252:21555;14177:384;;;;;;;13997:1615;14614:26;;;;1252:21555;;13957:11;1252:21555;;;;;;;14614:26;1252:21555;14679:27;:45;:27;;;;;:::i;:45::-;3463:5:70;3066;;;3463;;;1252:21555:112;3060:42:70;;14804:17:112;;14800:802;;13997:1615;;;;;;;;14800:802;15525:26;14865:50;;14966:53;14865:50;15066:54;14865:50;15066:29;14865:50;15554:33;14865:50;;;;:::i;:::-;14966:53;;;;;;:::i;:::-;15066:29;;;;:::i;:::-;:54;:::i;:::-;15143:33;;;;15139:194;;14800:802;15351:65;837:15:75;15387:28:112;15467:40;837:15:75;;;819:34;837:15;819:34;:::i;15467:40:112:-;15434:30;15446:17;;;:::i;15434:30::-;1252:21555;15554:33;:::i;:::-;15525:26;1252:21555;;13957:11;1252:21555;;;;;;;15525:26;1252:21555;14800:802;;;;;;;15139:194;15226:33;15200:59;15351:65;15226:33;;;15467:40;15226:33;;;:::i;:::-;15200:59;;:::i;:::-;15281:33;;-1:-1:-1;15281:33:112;;-1:-1:-1;15139:194:112;;13729:146;1252:21555;;-1:-1:-1;;;13843:21:112;;1252:21555;;13843:21;13733:87;13792:28;;;;13733:87;;13734:53;13770:17;;;;:::i;:::-;13755:32;;13734:53;;13542:71;1252:21555;;-1:-1:-1;;;13590:12:112;;1252:21555;;13590:12;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;5127:1;1252:21555;;;;;;;5099:30;1252:21555;5099:30;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;4027:43:113;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;4525:25;819:34:75;837:15;819:34;:::i;1252:21555:112:-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21555:112;2594:68:113;1252:21555:112;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11929:14;1252:21555;;11929:14;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3932:39:113;1252:21555:112;;;;;;;;;;;;;;;5650:47;1252:21555;;;:::i;:::-;5650:47;;:::i;1252:21555::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20281:22:112;1252:21555;;;;;20277:89;;1252:21555;;-1:-1:-1;;;20381:49:112;;-1:-1:-1;;;;;1252:21555:112;;;20381:49;;;1252:21555;;;;;;;;;;;;;;;20381:49;20391:17;;;1252:21555;20381:49;;;;;;;-1:-1:-1;20381:49:112;;;1252:21555;20380:50;;20376:102;;1252:21555;;-1:-1:-1;;;20492:34:112;;1252:21555;;;;;20492:34;1252:21555;20492:34;1252:21555;;20492:34;;;;;;;-1:-1:-1;20492:34:112;;;1252:21555;20538:4;;;1252:21555;;20492:51;20488:107;;-1:-1:-1;20281:22:112;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;;;-1:-1:-1;;;;;;1252:21555:112;;;;;;;-1:-1:-1;;;1252:21555:112;;;20683:24;-1:-1:-1;;20683:24:112;3426:1:30;;:::i;20488:107:112:-;1252:21555;;-1:-1:-1;;;20566:18:112;;;20492:34;;;;;;;-1:-1:-1;20492:34:112;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20376:102;-1:-1:-1;1252:21555:112;;-1:-1:-1;;;20453:14:112;;;20381:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;20277:89;1252:21555;;-1:-1:-1;;;20326:29:112;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;3202:4:23;;:::i;:::-;17521:1:112;17490:32;;17486:106;;1252:21555;;;17606:29;1252:21555;;;;;;;;;;17606:34;;;:87;;;;1252:21555;17602:854;;;1252:21555;18470:21;1252:21555;;;;;;;;;18470:38;;;18466:101;;17606:29;1252:21555;18581:34;;1252:21555;;;;;;;;;18581:34;;17606:29;;18631:25;;19376:32;18631:25;19376:32;18631:25;;;17639:1;18273:25;1252:21555;;18631:25;17606:29;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;-1:-1:-1;18220:39:112;1252:21555;18760:43;18923:39;1252:21555;18470:21;1252:21555;;;;;18923:39;;18919:442;;18577:332;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;19376:32;;;;3426:1:30;;:::i;18919:442:112:-;19124:142;19172:94;19173:81;19280:70;837:15:75;18978:76:112;19002:52;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;19019:35;1252:21555;19002:52;;:::i;:::-;18978:76;1252:21555;;18978:76;17606:29;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;;;-1:-1:-1;;;1252:21555:112;;;;4680:26;4525:25;819:34:75;837:15;819:34;:::i;4680:26:112:-;1252:21555;19195:59;19019:35;1252:21555;19195:59;1252:21555;18470:21;1252:21555;;;;;19195:59;;;:::i;:::-;1252:21555;;19173:81;:::i;:::-;19172:94;:::i;:::-;17606:29;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;;;;-1:-1:-1;;;1252:21555:112;;;;;;;;19124:142;19280:70;1252:21555;;19280:70;18919:442;;;;18577:332;18824:39;;;;;;18820:89;;19376:32;18577:332;19376:32;18577:332;;;18466:101;1252:21555;;-1:-1:-1;;;18531:25:112;;1252:21555;;18531:25;17602:854;18122:46;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;18012:33;4680:26;4525:25;819:34:75;837:15;819:34;:::i;4680:26:112:-;1252:21555;17823:41;17847:17;1252:21555;17823:41;1252:21555;;17823:41;17878:49;1252:21555;17906:21;1252:21555;;;;;;;17606:29;1252:21555;;;;;;;;;;17606:29;1252:21555;;17878:49;17906:21;1252:21555;17941:57;;1252:21555;;;;;;;;17606:29;1252:21555;;;17606:29;1252:21555;;17941:57;17847:17;1252:21555;;18012:33;17606:29;1252:21555;18059:49;;1252:21555;;;;17906:21;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;;;;;-1:-1:-1;;;;;;1252:21555:112;;;;;;;;18059:49;17906:21;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;;;;-1:-1:-1;;;1252:21555:112;;;;;;;;18122:46;18182:77;18220:39;1252:21555;18182:77;1252:21555;;18182:77;18273:25;17639:1;18273:25;1252:21555;;18273:25;17606:29;1252:21555;;-1:-1:-1;;;;1252:21555:112;;;-1:-1:-1;18220:39:112;1252:21555;17602:854;;17606:87;837:15:75;;17644:49:112;819:34:75;837:15;819:34;:::i;17644:49:112:-;-1:-1:-1;17644:49:112;17606:87;;;17486:106;1252:21555;;-1:-1:-1;;;17545:36:112;;1252:21555;;17545:36;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;1666:40;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;5822:21;;:::i;:::-;1252:21555;;;;6626:11;1252:21555;;;;;;;;;;;;;6667:1;1252:21555;;;;;;;;;6626:11;1252:21555;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3833:43:113;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3901:31:23;1252:21555:112;;;;;:::i;:::-;;;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;3901:31:23;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21555:112;6241:15;1252:21555;;;6241:33;1252:21555;-1:-1:-1;1252:21555:112;6241:33;:::i;1252:21555::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21555:112;;;;-1:-1:-1;1252:21555:112;477:31:88;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;477:31:88;;;1252:21555:112;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;477:31:88;1252:21555:112;477:31:88;;;;;;;:::i;:::-;518:79;;;1252:21555:112;518:79:88;;1252:21555:112;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;900:35:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;16336:21;;16332:75;;-1:-1:-1;1252:21555:112;;;16421:22;1252:21555;;;;;;;;;;;;;16421:41;16417:91;;-1:-1:-1;;;;;1252:21555:112;;;;;9024:22;1252:21555;;;;;16574:44;;;;16518:40;;:31;1252:21555;;;;;;;;;;;;;;16518:40;1252:21555;;;;;;;;;;;;;;;16574:44;;;;3426:1:30;;:::i;16332:75:112:-;1252:21555;;-1:-1:-1;;;16380:16:112;;1252:21555;;16380:16;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;2953:94:113;1252:21555:112;;;;;:::i;:::-;;;-1:-1:-1;1252:21555:112;2953:94:113;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;2953:94:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3103:92:113;1252:21555:112;;;;;:::i;:::-;;;-1:-1:-1;1252:21555:112;3103:92:113;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;4396:31:113;1252:21555:112;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20850:20:112;1252:21555;;;;;20846:85;;-1:-1:-1;;;;;1252:21555:112;;;;;;20941:312;;1252:21555;20850:20;1252:21555;;-1:-1:-1;;;;1252:21555:112;-1:-1:-1;;;1252:21555:112;;;21263:27;21306:20;-1:-1:-1;21306:20:112;;3426:1:30;;:::i;20941:312:112:-;1252:21555;;-1:-1:-1;;;20988:45:112;;-1:-1:-1;;;;;1252:21555:112;;20988:45;;;1252:21555;;;20988:45;;1252:21555;;;;;;20988:45;20998:15;;;1252:21555;20988:45;;;;;;;-1:-1:-1;20988:45:112;;;20941:312;20987:46;;20983:104;;1252:21555;;-1:-1:-1;;;21105:30:112;;;1252:21555;21105:30;1252:21555;21105:30;;;;;;;;-1:-1:-1;21105:30:112;;;20941:312;21147:4;;;1252:21555;;21105:47;21101:109;;-1:-1:-1;20850:20:112;1252:21555;;-1:-1:-1;;;;;;1252:21555:112;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;20941:312;;;;;;21101:109;1252:21555;;-1:-1:-1;;;21179:16:112;;;21105:30;;;;;;;-1:-1:-1;21105:30:112;;;;;;:::i;:::-;;;;;;20983:104;1252:21555;;-1:-1:-1;;;21060:12:112;;1252:21555;;21060:12;20988:45;;;;;;;;;;;;;;:::i;:::-;;;;20846:85;1252:21555;;-1:-1:-1;;;20893:27:112;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;11550:23;;11546:79;;11711:6;1252:21555;11644:13;;;;:::i;:::-;1252:21555;;;-1:-1:-1;1252:21555:112;;;;11711:6;:::i;:::-;1252:21555;;;;;;;;;;;;11740:10;;11734:43;;1252:21555;11734:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;;;;;;;11546:79;1252:21555;;-1:-1:-1;;;11596:18:112;;1252:21555;;11596:18;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;-1:-1:-1;1252:21555:112;2833:64:113;1252:21555:112;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;2345:22:113;1252:21555:112;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1183:36:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;3543:54:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;5822:21;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;;900:35:113;;1252:21555:112;;4468:23:23;4464:108;;1252:21555:112;;;;17121:21;17117:71;;1252:21555;;17234:22;1252:21555;;;;;;;;17234:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;5466:22;;:::i;1252:21555::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;8030:24;;;:::i;:::-;8057:29;;;;;:::i;:::-;1252:21555;;;;;;;8111:1;1252:21555;;;;;;;8089:33;;;:::i;:::-;1252:21555;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;2175:24:113;1252:21555:112;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;3741:36:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;5767:26:23;1252:21555:112;;;;;;;:::i;:::-;;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;3202:4:23;4919:24;1252:21555:112;-1:-1:-1;1252:21555:112;4919:24:23;1252:21555:112;3202:4:23;:::i;:::-;5767:26;:::i;1252:21555:112:-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;;1183:36:113;;1252:21555:112;;4468:23:23;4464:108;;1252:21555:112;;19595:12;1252:21555;19595:29;19591:79;;1252:21555;;19723:30;1252:21555;19595:12;1252:21555;;;;;;19723:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;466:39:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;4221:36:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;4313:27:113;1252:21555:112;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;1466:3:113;1252:21555:112;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;:::i;:::-;6848:48;;1252:21555;;;;;;;:::i;:::-;;;;;;;;;;;;;;6910:16;;6906:111;;1252:21555;;7109:39;1057:70:100;7109:39:112;;5292:48;7072:77;7109:39;;;;7072:77;;:::i;:::-;7188:36;;5650:47;1252:21555;7188:36;;;5650:47;;:::i;:::-;7265:37;;;5292:48;;:::i;:::-;1057:70:100;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;6906:111;6965:41;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5292:48;1252:21555;7072:77;1252:21555;1057:70:100;1252:21555:112;;;:::i;:::-;;;;;6906:111;;;;;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21555:112;;10328:21;10324:75;;10413:11;;10409:73;;845:69:100;5466:22:112;;:::i;:::-;5822:21;;:::i;:::-;845:69:100;;;:::i;:::-;10618:10:112;1252:21555;;;;6241:15;1252:21555;;;;;10618:10;;;6241:33;;;:::i;:::-;10588:41;;10584:96;;10705:40;;;;;:::i;10584:96::-;1252:21555;;-1:-1:-1;;;10652:17:112;;1252:21555;;10652:17;10409:73;1252:21555;;-1:-1:-1;;;10447:24:112;;1252:21555;;10447:24;1252:21555;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21555:112;;;;;3437:50:113;1252:21555:112;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5898:193::-;-1:-1:-1;;;;;1252:21555:112;-1:-1:-1;1252:21555:112;;;6025:15;1252:21555;;;;;6025:59;;5898:193;;6025:59;:::i;2573:269::-;1252:21555;;2645:29;1252:21555;;;;2645:34;;;:86;;;;2573:269;2641:149;;2799:36;2573:269;:::o;2641:149::-;1252:21555;;2754:25;1252:21555;;;;2747:32;:::o;2645:86::-;837:15:75;;;819:34;837:15;819:34;:::i;:::-;1252:21555:112;2683:48;2645:86;;1252:21555;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13985:1;1252:21555;;;;;;;:::o;:::-;;;;;;;;;;:::o;2268:257::-;2336:29;1252:21555;;;;;;;;2336:34;;:86;;;;;2268:257;2332:145;;;1252:21555;;;2268:257;:::o;2332:145::-;1252:21555;;2445:21;1252:21555;;;2438:28;:::o;2336:86::-;837:15:75;;;819:34;837:15;819:34;:::i;:::-;1252:21555:112;2374:48;2336:86;;;7368:191;-1:-1:-1;;;;;1252:21555:112;-1:-1:-1;1252:21555:112;;;6241:15;1252:21555;;;;;6241:33;;;:::i;:::-;5822:21;;:::i;:::-;5466:22;;:::i;:::-;1252:21555;1884:1:100;1252:21555:112;;;;;;;1884:1:100;1252:21555:112;;;;;;;9478:25:70;;;:::i;1252:21555:112:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;:::o;8190:218::-;8303:10;1252:21555;;;-1:-1:-1;;;;;1252:21555:112;;;;;8330:20;;1252:21555;;8353:44;1252:21555;;;;;;;;;;;8353:44;;8391:4;8353:44;;;1252:21555;8353:44;;;;;;;8303:10;8353:44;;;8330:71;8190:218;:::o;8353:44::-;;;;;;;;;;;;;;:::i;8330:71::-;;8303:10;8190:218;:::o;1252:21555::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2890:760::-;2995:25;1252:21555;;;;;;;;;;;;;2983:37;;;;;;1252:21555;;3040:29;1252:21555;;;;;3040:34;;;;:79;;;;;2979:665;3036:143;;;;3199:95;1252:21555;3199:95;1252:21555;3224:41;3223:71;1252:21555;3199:21;1252:21555;3224:41;;:::i;:::-;1252:21555;;;;3223:71;;:::i;3036:143::-;1252:21555;;-1:-1:-1;;;3146:18:112;;;;;3040:79;3078:41;;-1:-1:-1;3040:79:112;;;;2979:665;1252:21555;;3315:29;1252:21555;;;;;;;3315:34;;;;:79;;;;;2979:665;-1:-1:-1;;3311:333:112;;;1252:21555;;3417:83;1252:21555;;3417:83;1252:21555;3438:37;3437:63;1252:21555;3417:17;1252:21555;3438:37;;:::i;:::-;1252:21555;;;3437:63;;:::i;3311:333::-;3538:95;1252:21555;;3562:71;1252:21555;;3563:41;3538:95;1252:21555;3538:21;1252:21555;3563:41;;:::i;:::-;1252:21555;;;;3562:71;;:::i;3315:79::-;3353:41;;-1:-1:-1;3315:79:112;;;;3361:103:30;;;;:::i;:::-;1252:21555:112;;-1:-1:-1;;;;;1252:21555:112;;;11959:23;;11955:79;;12088:11;;12084:70;;1252:21555;12180:10;;;;;;-1:-1:-1;1252:21555:112;;12325:49;;1252:21555;;;;12302:6;;1252:21555;;12259:18;;1252:21555;;-1:-1:-1;;;;;1252:21555:112;;;12259:18;12302:6;:::i;:::-;12325:49;1252:21555;;12336:10;;;;12325:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12192:3:112:-;12228:9;12211:27;1252:21555;12228:9;12221:17;12228:9;;;;;:::i;:::-;1252:21555;12221:17;:::i;12211:27::-;12192:3;1252:21555;12169:9;;12084:70;1252:21555;;-1:-1:-1;;;12122:21:112;;;;;1252:21555;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3698:708::-;3798:21;1252:21555;3790:29;;;3786:68;;3876:17;1252:21555;3868:25;;;;;;1252:21555;3933:91;1252:21555;3932:104;1252:21555;3965:59;3966:29;3933;1252:21555;;;3966:29;;:::i;:::-;1252:21555;;;;;3965:59;;:::i;3864:536::-;1252:21555;;4057:21;1252:21555;4057:26;;:59;;;;3864:536;4053:347;;;1252:21555;4139:92;1252:21555;;4168:51;4169:25;4140:79;1252:21555;4140:25;1252:21555;4169:25;;:::i;:::-;1252:21555;;;4168:51;;:::i;:::-;1252:21555;;;;4140:79;:::i;4053:347::-;4286:91;1252:21555;;4285:104;1252:21555;4318:59;4319:29;4286;1252:21555;;;4319:29;;:::i;:::-;1252:21555;;;;;4318:59;;:::i;:::-;1252:21555;;;;4286:91;:::i;4057:59::-;4087:29;;;;4057:59;;1918:302;1252:21555;;2003:29;1252:21555;;;;2003:34;;:86;;;;;1918:302;1999:159;;;;2174:39;1252:21555;1918:302;:::o;1999:159::-;2112:35;1252:21555;2105:42;:::o;2003:86::-;837:15:75;;;819:34;837:15;819:34;:::i;:::-;1252:21555:112;2041:48;2003:86;;;;8469:228;8570:10;1252:21555;;;-1:-1:-1;;;;;1252:21555:112;;;;;8561:19;8557:75;;8661:12;1252:21555;8648:42;;;:::i;8557:75::-;1252:21555;;-1:-1:-1;;;8603:18:112;;;;;7607:227;;7747:34;7607:227;1252:21555;-1:-1:-1;1252:21555:112;7747:18;1252:21555;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;;;;;;;7747:34;1252:21555;;-1:-1:-1;1252:21555:112;7783:11;1252:21555;;;-1:-1:-1;1252:21555:112;;7803:16;1252:21555;;;-1:-1:-1;1252:21555:112;;;1884:1:100;1252:21555:112;;;;;;;1884:1:100;1252:21555:112;;;;;;;9478:25:70;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:21555:112;;3670:20:30;3666:88;;1991:1;1252:21555:112;;3470:384:30:o;3666:88::-;1252:21555:112;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21555:112;3860:283:30:o;21339:960:112:-;21518:10;1252:21555;;;;6241:15;1252:21555;;;;;;21339:960;;;819:34:75;837:15;819:34;:::i;:::-;21518:10:112;1252:21555;;;;6241:15;1252:21555;;;;;6241:33;;;:::i;:::-;1252:21555;;;;;;;;;21502:93;22218:74;21502:93;;;22043:30;21502:93;;:::i;:::-;837:15:75;;21605:67:112;819:34:75;837:15;819:34;:::i;:::-;21642:29:112;5466:22;;;:::i;21605:67::-;837:15:75;;21682:68:112;819:34:75;837:15;819:34;:::i;:::-;21718:31:112;5822:21;;;:::i;21682:68::-;837:15:75;;22152:34:112;837:15:75;22152:25:112;21777:18;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;21777:18;:::i;:::-;22109:33;21828:18;;1252:21555;;13957:11;1252:21555;;;;;;;21828:18;1252:21555;21885:23;;1252:21555;;21885:16;1252:21555;;;;;;;21885:23;1252:21555;390:70:100;;;;;:::i;:::-;22043:30:112;;;;;;:::i;:::-;22022:18;;1252:21555;;13957:11;1252:21555;;;;;;;22022:18;1252:21555;22109:33;:::i;:::-;22083:23;;1252:21555;;21885:16;1252:21555;;;;;;;22083:23;1252:21555;;;22152:18;1252:21555;;;;;;;22152:25;1252:21555;;;;;;;;;;;;;;;;22152:34;:50;1252:21555;;;22152:50;:::i;:::-;1252:21555;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;21518:10;;1252:21555;;22218:74;21339:960::o;1252:21555::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:99:-;;1252:21555:112;;7686:17:99;7682:83;;1252:21555:112;7789:27:99;1252:21555:112;7789:27:99;1252:21555:112;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;1252:21555:112;8075:24:99;:::o;7975:84::-;1252:21555:112;;;8009:16:99;5292:13:112;1252:21555;8009:16:99;:::i;:::-;1252:21555:112;;;8001:24:99;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;1252:21555:112;;;;;8029:29:99;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21555:112;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21555:112;;7686:17:99;7682:83;;1252:21555:112;7789:27:99;1252:21555:112;7789:27:99;1252:21555:112;;7789:27:99;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21555:112;;;8009:16:99;5650:12:112;1252:21555;8009:16:99;:::i;:::-;1252:21555:112;;;8001:24:99;: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:21555:112;;7686:17:99;7682:83;;1252:21555:112;7789:27:99;1252:21555:112;7789:27:99;1252:21555:112;;7789:27:99;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21555:112;;;;;;;;;;;;;;;;7888:22:99;;;7884:77;;7975:21;-1:-1:-1;7975:84:99;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;1252:21555:112;8075:24:99;:::o;7975:84::-;1252:21555:112;;;8009:16:99;1252:21555:112;;8009:16:99;:::i;:::-;1252:21555:112;;;8001:24:99;: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:21555:112;7926:24:99;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;466:39:113;;1252:21555:112;;3901:31:23;1252:21555:112;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;757:38:113;;1252:21555:112;;3901:31:23;1252:21555:112;4148:103:23;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;1041:36:113;;1252:21555:112;;3901:31:23;1252:21555:112;4148:103:23;966:10:28;-1:-1:-1;1252:21555:112;;;;;;;;;612:37:113;;1252:21555:112;;3901:31:23;1252:21555:112;4148:103:23;-1:-1:-1;1252:21555:112;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;966:10:28;1252:21555:112;;;;;;;;;3901:31:23;1252:21555:112;7270:387:23;-1:-1:-1;1252:21555:112;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;-1:-1:-1;;1252:21555:112;7509:4:23;1252:21555:112;;;966:10:28;;-1:-1:-1;;;;;1252:21555:112;;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:21555:112;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;966:10:28;;-1:-1:-1;;;;;1252:21555:112;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21555:112;8209:11:23;:::o;1670:188:56:-;1252:21555:112;;-1:-1:-1;;;1797:53:56;;;;-1:-1:-1;;;;;1252:21555:112;;;1797:53:56;;;1252:21555:112;;;;;;;;;;;;;;;;;1797:53:56;;;1252:21555:112;;;;;;;-1:-1:-1;;;;;1252:21555:112;;;;;1797:53:56;1252:21555:112;;;1797:53:56;:::i;1252:21555:112:-;7178:12:99;1252:21555:112;;;;;;7178:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;-1:-1:-1;1252:21555:112;:::o;:::-;7178:12:99;1252:21555:112;;;;;;7178:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;-1:-1:-1;1252:21555:112;:::o;:::-;;;;;;;;-1:-1:-1;1252:21555:112;;-1:-1:-1;1252:21555:112;;;-1:-1:-1;1252:21555:112;:::o;:::-;6360:12:99;1252:21555:112;-1:-1:-1;;;1252:21555:112;;;;;;;;;6360:12:99;1252:21555:112;;;;;;6360:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;:::o;:::-;6360:12:99;1252:21555:112;-1:-1:-1;;;1252:21555:112;;;;;;;;;6360:12:99;1252:21555:112;;;;;;6360:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;:::o;:::-;;;;;-1:-1:-1;;;1252:21555:112;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:99;;;;6360:12;1252:21555:112;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21555:112;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;1252:21555:112;;;;;;;;;-1:-1:-1;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;6798:25:99;1252:21555:112;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;1252:21555:112;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21555:112;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;6356:75:99;;;6246:584;;;;6360:12;1252:21555:112;;;6360:24:99;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21555:112;;;;;;6578:12:99;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;1252:21555:112;;;;;;;;;-1:-1:-1;1252:21555:112;;;-1:-1:-1;1252:21555:112;;;;;;6798:25:99;1252:21555:112;6246:584:99:o;6600:188::-;8310:38:73;;-1:-1:-1;;;;;1252:21555:112;;-1:-1:-1;8310:38:73;:::i;:::-;6753:24:99;;;;;:::i;6604:::-;1252:21555:112;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;1252:21555:112;;;;;;;;;;;;;;;;-1:-1:-1;1252:21555:112;;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;6356:75:99;;;6246:584;;;;;6360:12;;;1252:21555:112;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21555:112;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;6644:21:99;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21555:112;;8310:38:73;;-1:-1:-1;;;;;1252:21555:112;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;1252:21555:112;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;1252:21555:112;;;;;;6360:12:99;1252:21555:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:99;;;1271:160:56;1252:21555:112;;-1:-1:-1;;;1380:43:56;;;;-1:-1:-1;;;;;1252:21555:112;;;1380:43:56;;;1252:21555:112;;;;;;;;;1380:43:56;;;1252:21555:112;;;;-1:-1:-1;;;;;1252:21555:112;;;;;;;;1380:43:56;1252:21555:112;;;1380:43:56;:::i;1252:21555:112:-;;;;;;;:::o;4996:4226:70:-;;1252:21555:112;;;;-1:-1:-1;;4996:4226:70;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:113;6270:20:70;;;;;6266:143;;1252:21555:112;6695:300:70;;;;;;;;1252:21555:112;;6695:300:70;;7259:375;;7700:21;1252:21555:112;4996:4226:70;:::o;6266:143::-;1829:135:60;;;3060:42:70;1829:135:60;;;;;5792:368:70;1252:21555:112;;1466:3:113;1252:21555:112;;;6119:26:70;:::o;4996:4226::-;;1252:21555:112;;;;-1:-1:-1;;1252:21555:112;4996:4226:70;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:60;-1:-1:-1;940:4:60;7214:31:70;;7259:375;;;8094:1;1252:21555:112;;8075:1:70;1252:21555:112;8074:21:70;1252:21555:112;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;;;;940:4:60;;1252:21555:112;7259:375:70;;;;-1:-1:-1;7259:375:70;;;6695:300;;;;;;1252:21555:112;6695:300:70;;7259:375;7700:21;1252:21555:112;4996:4226:70;:::o;6266:143::-;6330:16;;3066:5;1252:21555:112;940:4:60;3060:42:70;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;22305:460:112:-;;4525:25;819:34:75;837:15;819:34;:::i;4525:25:112:-;22398:23;;;22394:75;;1252:21555;22483:39;:27;;1252:21555;;22483:20;1252:21555;;;;;;;22483:27;22511:10;1252:21555;;;;;;;;;;;;;;22483:39;1252:21555;;22479:93;;22591:32;22511:10;22591:32;;:::i;:::-;22638:11;;;22634:68;;22712:39;22511:10;22712:27;22511:10;22712:27;1252:21555;;22483:20;1252:21555;;;;;;;22712:39;1252:21555;;-1:-1:-1;;1252:21555:112;22754:4;1252:21555;;;22305:460::o;22634:68::-;1252:21555;;-1:-1:-1;;;22672:19:112;;;;;22479:93;1252:21555;;-1:-1:-1;;;22545:16:112;;;;;22394:75;1252:21555;;-1:-1:-1;;;22444:14:112;;;;;14296:213:71;1252:21555:112;14374:24:71;;;;14370:103;;1252:21555:112;14296:213:71;:::o;14370:103::-;1252:21555:112;;;;14421:41:71;;;;;;14452:2;14421:41;;;1252:21555:112;;;;;14421:41:71;10580:184:99;5822:12:112;1252:21555;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;1252:21555:112;;10726:7:99;1252:21555:112;;10736:12:99;1252:21555:112;;;;;;10736:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;10580:184:99;:::o;10446:63:73:-;1252:21555:112;;;;;;;;5822:12;-1:-1:-1;14439:109:73;;;1252:21555:112;;;10446:63:73;;10580:184:99;5466:13:112;1252:21555;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;1252:21555:112;;10726:7:99;1252:21555:112;;10736:12:99;1252:21555:112;;;;;;10736:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;10580:184:99;:::o;10446:63:73:-;1252:21555:112;;;;;;;;5466:13;-1:-1:-1;14439:109:73;;;1252:21555:112;;;10446:63:73;;10580:184:99;1252:21555:112;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;1252:21555:112;;10726:7:99;1252:21555:112;;10736:12:99;:17;:12;;:17;:::i;:::-;1252:21555:112;;;;;;10580:184:99;:::o;10726:31::-;;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;1252:21555:112;;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;;-1:-1:-1;14439:109:73;;;1252:21555:112;;;10446:63:73;;1662:280:100;;;1884:1;1252:21555:112;;;;;;;1884:1:100;1252:21555:112;;;;;;;9478:25:70;;;:::i;6999:207:99:-;5292:13:112;1252:21555;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;1252:21555:112;;7168:7:99;1252:21555:112;;7178:17:99;1252:21555:112;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5292:13:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;14289:265;;10135:41;1252:21555:112;;;;;10135:48:73;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21555:112;;;;;;;10049:53:73;14439:109;5292:13:112;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;1252:21555:112;;;;;9870:48:73;9866:149;1252:21555:112;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;5650:12:112;1252:21555;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;-1:-1:-1;;;;;1252:21555:112;;7168:7:99;1252:21555:112;;7178:17:99;1252:21555:112;7178:17:99;;:::i;10120:63:73:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5650:12:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21555:112;;;;;;;10049:53:73;14439:109;5650:12:112;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;1252:21555:112;;;;;9870:48:73;9866:149;1252:21555:112;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:99;;1252:21555:112;;9737:15:73;-1:-1:-1;9762:18:73;9795:7;9801:1;9795:7;;9791:234;;6999:207:99;10049:53:73;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:73;;-1:-1:-1;;;;;1252:21555:112;;7168:7:99;1252:21555:112;;;7178:12:99;;:17;:12;;:17;:::i;10120:63:73:-;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:21555:112;;;;;;;10049:53:73;14439:109;;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;;-1:-1:-1;14439:109:73;;1252:21555:112;;;;;9870:48:73;9866:149;1252:21555:112;;;9938:10:73;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21555:112;;;;;;;:::i;:::-;-1:-1:-1;1252:21555:112;;;;;;;:::o;11486:272:99:-;1252:21555:112;;:::i;:::-;;;;:::i;:::-;;5292:13;1252:21555;;;;;;5292:13;-1:-1:-1;1252:21555:112;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;;;;;;;;;;11718:12:99;1252:21555:112;;;;;;11718:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;:::i;:::-;;;;11672:79:99;;1252:21555:112;11486:272:99;:::o;:::-;1252:21555:112;;:::i;:::-;;;;:::i;:::-;;5650:12;1252:21555;;;;;;5650:12;-1:-1:-1;1252:21555:112;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;;;;;;;;;;11718:12:99;1252:21555:112;;;;;;11718:12:99;-1:-1:-1;1252:21555:112;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;;;;;:::i;11486:272:99:-;;1252:21555:112;11718:12:99;11452:22:73;11718:31:99;11486:272;1252:21555:112;;:::i;:::-;;;;:::i;:::-;;11452:22:73;;:::i;:::-;1252:21555:112;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:99;:31;:::i;:::-;1252:21555:112;;;;;;;;;:::i;:::-;;;;;;;11672:79:99;;1252:21555:112;11486:272:99;:::o;7738:720:56:-;;-1:-1:-1;7875:421:56;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:56;;8310:15;;-1:-1:-1;;;;;;1252:21555:112;;8328:26:56;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21555:112;;-1:-1:-1;;;8401:40:56;;-1:-1:-1;;;;;1252:21555:112;;;8401:40:56;;;1252:21555:112;;;8401:40:56;8310:68;8377:1;8362:16;;8310:68;;1258:280:100;;;1252:21555:112;;;;;;;;;;;;;;;;9478:25:70;;;;;:::i;:::-;9552;;;;;;:29;;1252:21555:112;;;;;;;1258:280:100;:::o;10695:389:73:-;5822:12:112;1252:21555;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21555:112;;;;;;;;5822:12;10833:17:73;14439:109;;;1252:21555:112;11014:1:73;;1252:21555:112;;;;;;;11030:37:73:o;10695:389::-;5466:13:112;1252:21555;10871:8:73;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21555:112;;;;;;;;5466:13;10833:17:73;14439:109;;;1252:21555:112;11014:1:73;;1252:21555:112;;;;;;;11030:37:73:o;10695:389::-;1252:21555:112;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21555:112;;;;;;;;;;10833:17:73;14439:109;;10833:17;14439:109;;;1252:21555:112;11014:1:73;1252:21555:112;;;;;;;11030:37:73;:::o;1776:194:60:-;1829:135;;;;;;;;1252:21555:112;5822:12;1252:21555;;-1:-1:-1;;;1252:21555:112;;;;;;;;;5822:12;1252:21555;;;;;;5822:12;-1:-1:-1;1252:21555:112;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;:::o;:::-;5466:13;1252:21555;;-1:-1:-1;;;1252:21555:112;;;;;;;;;5466:13;1252:21555;;;;;;5466:13;-1:-1:-1;1252:21555:112;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21555:112;;;;:::o;:::-;;;-1:-1:-1;;;1252:21555:112;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21555:112;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;5822:12:112;1252:21555;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21555:112;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;1252:21555:112;;;;;;;;;;;;;;;;;12285:19:73;1252:21555:112;;12423:25:73;;:::o;12247:163::-;1252:21555:112;;12343:52:73;1252:21555:112;12353:41:73;1252:21555:112;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;1252:21555:112;;12353:41:73;;;1252:21555:112;12343:52:73;:::i;:::-;12247:163;;12099:89;1252:21555:112;;-1:-1:-1;;;12143:30:73;;;;;11860:713;1252:21555:112;12479:52:73;1252:21555:112;12489:41:73;1252:21555:112;;:::i;12489:41:73:-;-1:-1:-1;;;;;1252:21555:112;;12489:41:73;;;1252:21555:112;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5466:13:112;1252:21555;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21555:112;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;1252:21555:112;;;;;;;;;;;;;;;;;12247:163:73;1252:21555:112;;12343:52:73;1252:21555:112;12353:41:73;1252:21555:112;;:::i;12353:41:73:-;-1:-1:-1;;;;;1252:21555:112;;12353:41:73;;;1252:21555:112;12343:52:73;:::i;11860:713::-;1252:21555:112;12479:52:73;1252:21555:112;12489:41:73;1252:21555:112;;:::i;12489:41:73:-;-1:-1:-1;;;;;1252:21555:112;;12489:41:73;;;1252:21555:112;12343:52:73;:::i;11657:922::-;1252:21555:112;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21555:112;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21555:112;;;;;;;;;;;;;;;;;12247:163:73;1252:21555:112;;;12343:52:73;1252:21555:112;12353:41:73;1252:21555:112;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;1252:21555:112;;12353:41:73;;;1252:21555:112;12343:52:73;:::i;11860:713::-;1252:21555:112;;12479:52:73;1252:21555:112;12489:41:73;1252:21555:112;;:::i;12489:41:73:-;-1:-1:-1;;;;;1252:21555:112;;12489:41:73;;;1252:21555:112;12343:52:73;:::i;18080:5181:70:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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:21555:112;18246:1:70;1252:21555:112;22284:6:70;;;;:::i;:::-;1252:21555:112;;;;;22278:18:70;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:21555:112;23216:28:70;940:4:60;;18080:5181:70;:::o;19887:61::-;18246:1;1252:21555:112;19887:61:70;;19787:87;1252:21555:112;;;;;19787:87:70;;;19687;1252:21555:112;;;;;19687:87:70;;;19585:89;1252:21555:112;;;;;19585:89:70;;;19482:90;1252:21555:112;;;;;19482:90:70;;;19379;1252:21555:112;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;1252:21555:112;-1:-1:-1;1252:21555:112;;;;19274:92:70;;12929:433:73;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:70;;;;;1252:21555:112;;3731:5:70;;;1252:21555:112;;;;;;;;;5292:13;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;1252:21555:112;;;;;-1:-1:-1;13189:136:73;1252:21555:112;;;13248:10:73;;13189:136;;13105:230;;;13189:136;1252:21555:112;;;;;;;;;;;13189:136:73;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:70;;;;;1252:21555:112;;3731:5:70;;;1252:21555:112;;;;;;;;;5650:12;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;-1:-1:-1;;;;;;;;;;;14439:109:73;1252:21555:112;;;;;-1:-1:-1;13189:136:73;1252:21555:112;;;13248:10:73;;13189:136;;13105:230;;;13189:136;1252:21555:112;;;;;;;;;;;13189:136:73;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:70;;;;;;1252:21555:112;;3731:5:70;;;1252:21555:112;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;1252:21555:112;14439:109:73;;;-1:-1:-1;14439:109:73;;1252:21555:112;;;;;-1:-1:-1;13189:136:73;1252:21555:112;;;13248:10:73;;13189:136;;13105:230;;;;13189:136;1252:21555:112;;;;;;;;;;;13189:136:73;;","linkReferences":{},"immutableReferences":{"72315":[{"start":5208,"length":32},{"start":6474,"length":32}],"72318":[{"start":7712,"length":32},{"start":9000,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelay()":"c642b050","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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","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\":\"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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\"}],\"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\":\"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\":\"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\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[{\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"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\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"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)\":{\"params\":{\"epochDuration\":\"epoch duration\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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)\":{\"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.\"},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"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.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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.\"},\"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\":\"0xef0388f68f28f2e7549490774f83d7df268778dcc68df2e853c899784a8dde7e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b52afed6f3a9a08d38a84a9f37a40a1621f7bcaf988e99ccb468bbe0d6dafa3\",\"dweb:/ipfs/QmUEceS4nd5h3HqhNgyQLwKUT1AxuiEPKCjtT5sWBsTrLQ\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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}],"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":"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":"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":"nonpayable","type":"function","name":"_Vault_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[{"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","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":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","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":"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"}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"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."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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."},"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":"0xef0388f68f28f2e7549490774f83d7df268778dcc68df2e853c899784a8dde7e","urls":["bzz-raw://6b52afed6f3a9a08d38a84a9f37a40a1621f7bcaf988e99ccb468bbe0d6dafa3","dweb:/ipfs/QmUEceS4nd5h3HqhNgyQLwKUT1AxuiEPKCjtT5sWBsTrLQ"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file +{"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":"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":"_Vault_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","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":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"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":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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"}],"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":"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614cc938819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614c1c90816100ad8239608051818181611458015261194a015260a051818181611e2001526123280152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131e8565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b91821561073357826107159261322a565b9061071e613217565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613564565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613792565b6137be565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613859565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131e8565b610aef613630565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131e8565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138eb565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a3f565b5050610cbd89610ca242613eb9565b90613b1f565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613bfb565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613217565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133d9565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131e8565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131e8565b61103761368d565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613217565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131e8565b61116e84612d48565b831161134a5761117e8385613155565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613cb9565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613217565b5160018152602090f35b6112d292613cb9565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131e8565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613217565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613cb9565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d90565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d90565b9788958584613d90565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906134af565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131e8565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613217565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131e8565b611abd6136e4565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613217565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131e8565b6120f061373b565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613217565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131e8565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613217565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131e8565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e1d565b9485915f5460101c16613cb9565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131e8565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b9818361318a565b83018093116108195760018201809211610819576126d69161318a565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613115565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613792565b613859565b346105ca5760203660031901126105ca576004356127b16131e8565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613155565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a046020850151836134af565b930151906133d9565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131e8565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b395761071591839161322a565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b60043561318a565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613564565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d90565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131e8565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613cb9565b612f65604051928392339684612fce565b0390a3906108d7613217565b94612f8c600191611719612f86898789612fb9565b35613e1d565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b601254808210613103576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613140575b505061313a5760105490565b600f5490565b90915061314c42613eb9565b16105f8061312e565b5f5460101c6001600160a01b0390811691160361317857601554610eed91613d12565b60405163350b944160e11b8152600490fd5b906131b090825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d90565b5f80516020614bc783398151915260028154146132055760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061324542613eb9565b335f908152600e6020526040902061325c90613fd3565b91848303928311610819576132977febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361332699613bfb565b50506132b16132a542613eb9565b610cbd876116b3613f5f565b50506132cb6132bf42613eb9565b610ca8846116b3613eeb565b50506133748161335f6132e86132e36107e842613eb9565b612c4e565b61333e6132fd825f52600660205260405f2090565b54613310835f52600760205260405f2090565b5461331c82828b614026565b9d8e998a93612c5c565b613338855f52600660205260405f2090565b55612c5c565b613350825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61337f838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156134a557806020806133f4935183010191016133a8565b6133fd81614297565b9061340e825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613444575b505061343b5750610eed90614047565b60209150015190565b909150613452600a54612bb8565b63ffffffff83161491821561346b575b50505f8061342b565b613491919250613485613480611b19926133c4565b614297565b5165ffffffffffff1690565b115f80613462565b50505060209150015190565b50610eed90614047565b9080511561355a57806020806134ca935183010191016133a8565b6134d381614321565b906134e4825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613511575b505061343b5750610eed9061410e565b90915061351f600c54612bb8565b63ffffffff831614918215613538575b50505f80613501565b61355291925061348561354d611b19926133c4565b614321565b115f8061352f565b50610eed9061410e565b91805115613626578060208061357f935183010191016133a8565b9161358a83826143a1565b9261359b845165ffffffffffff1690565b9065ffffffffffff808516921682811461361a57821191826135d1575b50506135c857610eed92506141ce565b50506020015190565b9091506135de8354612bb8565b63ffffffff8316149182156135f7575b50505f806135b8565b61361291925061348561360c611b19926133c4565b856143a1565b115f806135ee565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613683565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613683565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613683565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613683565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a279160016108d795018155613987565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613aea575b50613a576144a2565b50929091815492613a66613eeb565b9481613ad5575b5015613ab257505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ac6926001600160d01b0316915061469e565b5050613ad18361399c565b9190565b65ffffffffffff83811691161490505f613a6d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a4e565b919091600b9081548015613bc6575b50613b376144f7565b50929091815492613b46613f5f565b9481613bb1575b5015613b9257505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ba6926001600160d01b0316915061476e565b5050613ad1836139d0565b65ffffffffffff83811691161490505f613b4d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b2e565b90929192600182019081548015613c89575b5084613c188461454c565b50949092845493613c2883613fd3565b9681613c74575b5015613c51575050505f19810190811161081957613a278591613ad193613987565b613ad1949293613c6d926001600160d01b03909116919061480d565b5050613a04565b65ffffffffffff83811691161490505f613c2f565b600160401b81101561088957806001613ca59201845583613987565b8154905f199060031b1b191690555f613c0d565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d8357633b9aca009082821115613d71577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613e105784831115613e035790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613d08565b90613e2a6107e842613eb9565b8210156131035760ff613e5a613e48845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613ea757613e6a338361318a565b918215613e9557613e889061335f33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613987565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d90565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613943565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613965565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613987565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613987565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613987565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d90565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613987565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613d08565b0160011c90565b61494f818a613d08565b61494f8189613d08565b61494f8188613d08565b61494f8187613d08565b61494f8186613d08565b8093613d08565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220fa591e2219364ea1984c87894dbebd2106764a1ad07593061fb15e9bd9d41b2864736f6c63430008190033","sourceMap":"1252:21568:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21568;;;;;;;;1785:36;1252:21568;;;;;;;;;;1831:32;1252:21568;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131e8565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b91821561073357826107159261322a565b9061071e613217565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613564565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613792565b6137be565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613859565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131e8565b610aef613630565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131e8565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138eb565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a3f565b5050610cbd89610ca242613eb9565b90613b1f565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613bfb565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613217565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133d9565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131e8565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131e8565b61103761368d565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613217565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131e8565b61116e84612d48565b831161134a5761117e8385613155565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613cb9565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613217565b5160018152602090f35b6112d292613cb9565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131e8565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613217565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613cb9565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d90565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d90565b9788958584613d90565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906134af565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131e8565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613217565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131e8565b611abd6136e4565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613217565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131e8565b6120f061373b565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613217565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131e8565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613217565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131e8565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e1d565b9485915f5460101c16613cb9565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131e8565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b9818361318a565b83018093116108195760018201809211610819576126d69161318a565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613115565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613792565b613859565b346105ca5760203660031901126105ca576004356127b16131e8565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613155565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a046020850151836134af565b930151906133d9565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131e8565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b395761071591839161322a565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b60043561318a565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613564565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d90565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131e8565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613cb9565b612f65604051928392339684612fce565b0390a3906108d7613217565b94612f8c600191611719612f86898789612fb9565b35613e1d565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b601254808210613103576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613140575b505061313a5760105490565b600f5490565b90915061314c42613eb9565b16105f8061312e565b5f5460101c6001600160a01b0390811691160361317857601554610eed91613d12565b60405163350b944160e11b8152600490fd5b906131b090825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d90565b5f80516020614bc783398151915260028154146132055760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061324542613eb9565b335f908152600e6020526040902061325c90613fd3565b91848303928311610819576132977febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361332699613bfb565b50506132b16132a542613eb9565b610cbd876116b3613f5f565b50506132cb6132bf42613eb9565b610ca8846116b3613eeb565b50506133748161335f6132e86132e36107e842613eb9565b612c4e565b61333e6132fd825f52600660205260405f2090565b54613310835f52600760205260405f2090565b5461331c82828b614026565b9d8e998a93612c5c565b613338855f52600660205260405f2090565b55612c5c565b613350825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61337f838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156134a557806020806133f4935183010191016133a8565b6133fd81614297565b9061340e825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613444575b505061343b5750610eed90614047565b60209150015190565b909150613452600a54612bb8565b63ffffffff83161491821561346b575b50505f8061342b565b613491919250613485613480611b19926133c4565b614297565b5165ffffffffffff1690565b115f80613462565b50505060209150015190565b50610eed90614047565b9080511561355a57806020806134ca935183010191016133a8565b6134d381614321565b906134e4825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613511575b505061343b5750610eed9061410e565b90915061351f600c54612bb8565b63ffffffff831614918215613538575b50505f80613501565b61355291925061348561354d611b19926133c4565b614321565b115f8061352f565b50610eed9061410e565b91805115613626578060208061357f935183010191016133a8565b9161358a83826143a1565b9261359b845165ffffffffffff1690565b9065ffffffffffff808516921682811461361a57821191826135d1575b50506135c857610eed92506141ce565b50506020015190565b9091506135de8354612bb8565b63ffffffff8316149182156135f7575b50505f806135b8565b61361291925061348561360c611b19926133c4565b856143a1565b115f806135ee565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613683565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613683565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613683565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613683565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a279160016108d795018155613987565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613aea575b50613a576144a2565b50929091815492613a66613eeb565b9481613ad5575b5015613ab257505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ac6926001600160d01b0316915061469e565b5050613ad18361399c565b9190565b65ffffffffffff83811691161490505f613a6d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a4e565b919091600b9081548015613bc6575b50613b376144f7565b50929091815492613b46613f5f565b9481613bb1575b5015613b9257505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ba6926001600160d01b0316915061476e565b5050613ad1836139d0565b65ffffffffffff83811691161490505f613b4d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b2e565b90929192600182019081548015613c89575b5084613c188461454c565b50949092845493613c2883613fd3565b9681613c74575b5015613c51575050505f19810190811161081957613a278591613ad193613987565b613ad1949293613c6d926001600160d01b03909116919061480d565b5050613a04565b65ffffffffffff83811691161490505f613c2f565b600160401b81101561088957806001613ca59201845583613987565b8154905f199060031b1b191690555f613c0d565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d8357633b9aca009082821115613d71577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613e105784831115613e035790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613d08565b90613e2a6107e842613eb9565b8210156131035760ff613e5a613e48845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613ea757613e6a338361318a565b918215613e9557613e889061335f33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613987565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d90565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613943565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613965565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613987565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613987565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613987565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d90565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613987565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613d08565b0160011c90565b61494f818a613d08565b61494f8189613d08565b61494f8188613d08565b61494f8187613d08565b61494f8186613d08565b8093613d08565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220fa591e2219364ea1984c87894dbebd2106764a1ad07593061fb15e9bd9d41b2864736f6c63430008190033","sourceMap":"1252:21568: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;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21568:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3653:32:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;757:38:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;612:37:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;2084:35:108;1252:21568:107;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;10976:21;10972:75;;11085:10;1252:21568;;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:24::-;:33;:::i;:::-;11061:35;;11057:88;;1057:70:95;5835:21:107;;:::i;:::-;5479:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11252:20:107;;;11248:82;;11355:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;;;11248:82;1252:21568;;-1:-1:-1;;;;;;11295:24:107;;1252:21568;;11295:24;11057:88;1252:21568;;-1:-1:-1;;;11119:15:107;;1252:21568;;11119:15;10972:75;1252:21568;;-1:-1:-1;;;11020:16:107;;1252:21568;;11020:16;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;4919:24:23;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;:::-;4538:25:107;:::i;:::-;4887:10;;4883:65;;-1:-1:-1;;1252:21568:107;;;;;;;4964:21;1252:21568;4964:21;;:::i;:::-;1252:21568;;;;;;;;;;:::i;4883:65::-;1252:21568;;-1:-1:-1;;;4920:17:107;;1252:21568;;4920:17;1252:21568;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;6038:59;1252:21568;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;6038:15;1252:21568;;;;;6038:59;:::i;:::-;1252:21568;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;5350:25:23;1252:21568:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;3202:4:23;4919:24;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21568:107;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1329:40:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:21568:107;;6441:34:23;6437:102;;6549:37;1252:21568:107;;;6549:37:23;:::i;6437:102::-;1252:21568:107;;-1:-1:-1;;;6498:30:23;;1252:21568:107;;6498:30:23;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;;6413:22;1252:21568;;;;6413:46;;;1252:21568;;;;;;;;;;;6413:46;-1:-1:-1;6439:20:107;1252:21568;;;;;6413:46;;1252:21568;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;;;;;15984:26;15980:76;;-1:-1:-1;;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;;;16107:27;;1252:21568;;16107:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;15980:76;1252:21568;;-1:-1:-1;;;16033:12:107;;1252:21568;;16033:12;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;8925:24;;8921:81;;-1:-1:-1;1252:21568:107;;;;9016:55;;;1252:21568;9012:118;;1252:21568;;-1:-1:-1;;;9164:43:107;;;9201:4;9164:43;;;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;;9164:43;;;;;;;;;;-1:-1:-1;9164:43:107;;;1252:21568;;9280:6;1252:21568;;;9201:4;;9253:10;;9280:6;;:::i;:::-;-1:-1:-1;1252:21568:107;;;9315:43;;;9201:4;9315:43;;;1252:21568;;;;;;;;;;9315:43;1252:21568;;;;;;9315:43;1252:21568;;;;;9315:43;;;;;;;:59;:43;-1:-1:-1;9315:43:107;;;1252:21568;9315:59;;;:::i;:::-;9389:20;;;9385:79;;1252:21568;;;;;9478:64;;1252:21568;9474:123;;5835:21;;1252:21568;5835:21;9953:93;5835:21;;:::i;:::-;5479:22;9877:66;5479:22;;:::i;:::-;9800:67;390:70:95;;;;;:::i;:::-;837:15:73;9836:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9836:30:107;;:::i;:::-;9800:67;;:::i;:::-;837:15:73;;9914:28:107;837:15:73;819:34;837:15;819:34;:::i;9914:28:107:-;9877:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21568:107;;;;;;6254:15;1252:21568;;;;;837:15:73;10004:41:107;837:15:73;6254:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;;6254:15;1252:21568;;;;;;;6254:33;10004:41;:::i;:::-;9953:93;;:::i;:::-;-1:-1:-1;;1252:21568:107;;;;;;;;;;;9253:10;;10062:62;;1252:21568;;10062:62;3426:1:30;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;;;;9474:123;1252:21568;;-1:-1:-1;;;9565:21:107;;;9478:64;5835:21;9496:31;5835:21;;;:::i;9496:31::-;1252:21568;;-1:-1:-1;9478:64:107;;9385:79;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;9432:21:107;;;9315:43;;;;;;-1:-1:-1;9315:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9164:::-;9280:6;9164:43;;;;;;;;;;;;;;;:::i;:::-;;;;;9012:118;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;9094:25:107;;;9016:55;-1:-1:-1;9060:10:107;1252:21568;;;;9037:22;1252:21568;;;;;;;;9036:35;9016:55;;8921:81;1252:21568;;-1:-1:-1;;;8972:19:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;4126:39:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;2255:34:108;1252:21568:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5305:48;1252:21568;;;:::i;:::-;5305:48;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;1329:40:108;;1252:21568:107;;4468:23:23;4464:108;;-1:-1:-1;19965:16:107;1252:21568;-1:-1:-1;;;;;1252:21568:107;;;;;;19965:37;;19961:87;;-1:-1:-1;;;;;;1252:21568:107;;;19965:16;1252:21568;;;;;;20109:38;;1252:21568;;20109:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;4464:108:23;1252:21568:107;;;;4514:47:23;;;;;;966:10:28;1252:21568:107;4514:47:23;;1252:21568:107;;;;;4514:47:23;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;16812:24;16808:74;;-1:-1:-1;;1252:21568:107;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;16931:25;;1252:21568;;16931:25;3426:1:30;;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;2718:59:108;1252:21568:107;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12652:19:107;;;:::i;:::-;12644:27;;12640:82;;12745:22;;;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;12843:19;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;;;;;1252:21568:107;;;12843:19;1252:21568;;;-1:-1:-1;;;12843:44:107;;;12881:4;12843:44;;;1252:21568;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;12881:4;1252:21568;;;;;;;;12843:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12843:44:107;;;1252:21568;;;12950:5;1252:21568;12971:57;1252:21568;;-1:-1:-1;1252:21568:107;;;;12950:5;;;:::i;:::-;1252:21568;-1:-1:-1;;;12971:57:107;;1252:21568;;;;;;;12992:10;;12971:57;;;:::i;:::-;;;;;;;;;1564:45:108;12971:57:107;-1:-1:-1;12971:57:107;;;1252:21568;12971:73;;12967:128;;1252:21568;;13109:44;;;12881:4;13109:44;;;1252:21568;;;;;;;;;13109:44;1252:21568;;;;;;13109:44;;;;;;;;;;:60;:44;-1:-1:-1;13109:44:107;;;:60;;;:::i;:::-;:67;13105:126;;-1:-1:-1;13245:16:107;1252:21568;-1:-1:-1;;;;;1252:21568:107;;;;13241:116;;1252:21568;3426:1:30;;;:::i;:::-;1252:21568:107;13374:4;1252:21568;;;;;13241:116;13342:3;;;:::i;:::-;13241:116;;;;;13105:126;1252:21568;;-1:-1:-1;;;13199:21:107;;;12967:128;1252:21568;;-1:-1:-1;;;13067:17:107;;1252:21568;;13067:17;12971:57;;;;;;;;;;;;;;:::i;:::-;;;;12843:44;-1:-1:-1;12843:44:107;;;;;;;12971:57;12843:44;;;12950:5;12843:44;;;;-1:-1:-1;12843:44:107;;;;;;:::i;:::-;;;;;;;;;;;;;12640:82;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;12694:17:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1041:36:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;4693:26;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1989:39:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1564:45:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1575:42;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;2423:32:108;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13573:7:107;1252:21568;13559:21;;-1:-1:-1;;;;;1252:21568:107;;;13559:21;:10;:21;13555:71;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;13707;;;;:::i;:::-;13747:17;;;;:53;;;1252:21568;13746:87;;;;1252:21568;13742:146;;1252:21568;5835:21;15752:48;5835:21;;;:::i;:::-;13982:17;13970:30;13982:17;;;:::i;:::-;1252:21568;;13970:11;1252:21568;;;;;;;13970:30;1252:21568;;14014:29;;;;;14084:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:21568:107;3060:42:68;;14194:17:107;;;14190:384;;14010:1615;;;;;;;15639:17;15635:102;;14010:1615;1252:21568;;;;;;;;;;;;;;;;;;;;;;;15752:48;3426:1:30;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;15635:102;-1:-1:-1;1252:21568:107;15712:13;;1252:21568;;15672:18;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;15672:18;13998:1;1252:21568;-1:-1:-1;;;;;1252:21568:107;15712:13;;:::i;:::-;15635:102;;14190:384;14487:29;14255:50;14404:65;14255:50;14440:28;14356:29;14255:50;14499:16;14255:50;14519:40;14255:50;;;:::i;:::-;14356:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14440:28:107;;:::i;14519:40::-;14499:16;;:::i;14487:29::-;1252:21568;14190:384;;;;;;;14010:1615;14627:26;;;;1252:21568;;13970:11;1252:21568;;;;;;;14627:26;1252:21568;14692:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:21568:107;3060:42:68;;14817:17:107;;14813:802;;14010:1615;;;;;;;;14813:802;15538:26;14878:50;;14979:53;14878:50;15079:54;14878:50;15079:29;14878:50;15567:33;14878:50;;;;:::i;:::-;14979:53;;;;;;:::i;:::-;15079:29;;;;:::i;:::-;:54;:::i;:::-;15156:33;;;;15152:194;;14813:802;15364:65;837:15:73;15400:28:107;15480:40;837:15:73;;;819:34;837:15;819:34;:::i;15480:40:107:-;15447:30;15459:17;;;:::i;15447:30::-;1252:21568;15567:33;:::i;:::-;15538:26;1252:21568;;13970:11;1252:21568;;;;;;;15538:26;1252:21568;14813:802;;;;;;;15152:194;15239:33;15213:59;15364:65;15239:33;;;15480:40;15239:33;;;:::i;:::-;15213:59;;:::i;:::-;15294:33;;-1:-1:-1;15294:33:107;;-1:-1:-1;15152:194:107;;13742:146;1252:21568;;-1:-1:-1;;;13856:21:107;;1252:21568;;13856:21;13746:87;13805:28;;;;13746:87;;13747:53;13783:17;;;;:::i;:::-;13768:32;;13747:53;;13555:71;1252:21568;;-1:-1:-1;;;13603:12:107;;1252:21568;;13603:12;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;5140:1;1252:21568;;;;;;;5112:30;1252:21568;5112:30;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;4027:43:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4538:25;819:34:73;837:15;819:34;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21568:107;2594:68:108;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11942:14;1252:21568;;11942:14;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3932:39:108;1252:21568:107;;;;;;;;;;;;;;;5663:47;1252:21568;;;:::i;:::-;5663:47;;:::i;1252:21568::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20294:22:107;1252:21568;;;;;20290:89;;1252:21568;;-1:-1:-1;;;20394:49:107;;-1:-1:-1;;;;;1252:21568:107;;;20394:49;;;1252:21568;;;;;;;;;;;;;;;20394:49;20404:17;;;1252:21568;20394:49;;;;;;;-1:-1:-1;20394:49:107;;;1252:21568;20393:50;;20389:102;;1252:21568;;-1:-1:-1;;;20505:34:107;;1252:21568;;;;;20505:34;1252:21568;20505:34;1252:21568;;20505:34;;;;;;;-1:-1:-1;20505:34:107;;;1252:21568;20551:4;;;1252:21568;;20505:51;20501:107;;-1:-1:-1;20294:22:107;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;;-1:-1:-1;;;;;;1252:21568:107;;;;;;;-1:-1:-1;;;1252:21568:107;;;20696:24;-1:-1:-1;;20696:24:107;3426:1:30;;:::i;20501:107:107:-;1252:21568;;-1:-1:-1;;;20579:18:107;;;20505:34;;;;;;;-1:-1:-1;20505:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20389:102;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;20466:14:107;;;20394:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;20290:89;1252:21568;;-1:-1:-1;;;20339:29:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;3202:4:23;;:::i;:::-;17534:1:107;17503:32;;17499:106;;1252:21568;;;17619:29;1252:21568;;;;;;;;;;17619:34;;;:87;;;;1252:21568;17615:854;;;1252:21568;18483:21;1252:21568;;;;;;;;;18483:38;;;18479:101;;17619:29;1252:21568;18594:34;;1252:21568;;;;;;;;;18594:34;;17619:29;;18644:25;;19389:32;18644:25;19389:32;18644:25;;;17652:1;18286:25;1252:21568;;18644:25;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;-1:-1:-1;18233:39:107;1252:21568;18773:43;18936:39;1252:21568;18483:21;1252:21568;;;;;18936:39;;18932:442;;18590:332;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;19389:32;;;;3426:1:30;;:::i;18932:442:107:-;19137:142;19185:94;19186:81;19293:70;837:15:73;18991:76:107;19015:52;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;19032:35;1252:21568;19015:52;;:::i;:::-;18991:76;1252:21568;;18991:76;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;-1:-1:-1;;;1252:21568:107;;;;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4693:26:107:-;1252:21568;19208:59;19032:35;1252:21568;19208:59;1252:21568;18483:21;1252:21568;;;;;19208:59;;;:::i;:::-;1252:21568;;19186:81;:::i;:::-;19185:94;:::i;:::-;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;19137:142;19293:70;1252:21568;;19293:70;18932:442;;;;18590:332;18837:39;;;;;;18833:89;;19389:32;18590:332;19389:32;18590:332;;;18479:101;1252:21568;;-1:-1:-1;;;18544:25:107;;1252:21568;;18544:25;17615:854;18135:46;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;18025:33;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4693:26:107:-;1252:21568;17836:41;17860:17;1252:21568;17836:41;1252:21568;;17836:41;17891:49;1252:21568;17919:21;1252:21568;;;;;;;17619:29;1252:21568;;;;;;;;;;17619:29;1252:21568;;17891:49;17919:21;1252:21568;17954:57;;1252:21568;;;;;;;;17619:29;1252:21568;;;17619:29;1252:21568;;17954:57;17860:17;1252:21568;;18025:33;17619:29;1252:21568;18072:49;;1252:21568;;;;17919:21;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;;;;-1:-1:-1;;;;;;1252:21568:107;;;;;;;;18072:49;17919:21;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;18135:46;18195:77;18233:39;1252:21568;18195:77;1252:21568;;18195:77;18286:25;17652:1;18286:25;1252:21568;;18286:25;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;-1:-1:-1;18233:39:107;1252:21568;17615:854;;17619:87;837:15:73;;17657:49:107;819:34:73;837:15;819:34;:::i;17657:49:107:-;-1:-1:-1;17657:49:107;17619:87;;;17499:106;1252:21568;;-1:-1:-1;;;17558:36:107;;1252:21568;;17558:36;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1666:40;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;5835:21;;:::i;:::-;1252:21568;;;;6639:11;1252:21568;;;;;;;;;;;;;6680:1;1252:21568;;;;;;;;;6639:11;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3833:43:108;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3901:31:23;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;3901:31:23;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21568:107;6254:15;1252:21568;;;6254:33;1252:21568;-1:-1:-1;1252:21568:107;6254:33;:::i;1252:21568::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21568:107;;;;-1:-1:-1;1252:21568:107;477:31:86;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;477:31:86;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;477:31:86;1252:21568:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:21568:107;518:79:86;;1252:21568:107;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;900:35:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;16349:21;;16345:75;;-1:-1:-1;1252:21568:107;;;16434:22;1252:21568;;;;;;;;;;;;;16434:41;16430:91;;-1:-1:-1;;;;;1252:21568:107;;;;;9037:22;1252:21568;;;;;16587:44;;;;16531:40;;:31;1252:21568;;;;;;;;;;;;;;16531:40;1252:21568;;;;;;;;;;;;;;;16587:44;;;;3426:1:30;;:::i;16345:75:107:-;1252:21568;;-1:-1:-1;;;16393:16:107;;1252:21568;;16393:16;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;2953:94:108;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;2953:94:108;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;2953:94:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3103:92:108;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;3103:92:108;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4396:31:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20863:20:107;1252:21568;;;;;20859:85;;-1:-1:-1;;;;;1252:21568:107;;;;;;20954:312;;1252:21568;20863:20;1252:21568;;-1:-1:-1;;;;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;21276:27;21319:20;-1:-1:-1;21319:20:107;;3426:1:30;;:::i;20954:312:107:-;1252:21568;;-1:-1:-1;;;21001:45:107;;-1:-1:-1;;;;;1252:21568:107;;21001:45;;;1252:21568;;;21001:45;;1252:21568;;;;;;21001:45;21011:15;;;1252:21568;21001:45;;;;;;;-1:-1:-1;21001:45:107;;;20954:312;21000:46;;20996:104;;1252:21568;;-1:-1:-1;;;21118:30:107;;;1252:21568;21118:30;1252:21568;21118:30;;;;;;;;-1:-1:-1;21118:30:107;;;20954:312;21160:4;;;1252:21568;;21118:47;21114:109;;-1:-1:-1;20863:20:107;1252:21568;;-1:-1:-1;;;;;;1252:21568:107;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;20954:312;;;;;;21114:109;1252:21568;;-1:-1:-1;;;21192:16:107;;;21118:30;;;;;;;-1:-1:-1;21118:30:107;;;;;;:::i;:::-;;;;;;20996:104;1252:21568;;-1:-1:-1;;;21073:12:107;;1252:21568;;21073:12;21001:45;;;;;;;;;;;;;;:::i;:::-;;;;20859:85;1252:21568;;-1:-1:-1;;;20906:27:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;11563:23;;11559:79;;11724:6;1252:21568;11657:13;;;;:::i;:::-;1252:21568;;;-1:-1:-1;1252:21568:107;;;;11724:6;:::i;:::-;1252:21568;;;;;;;;;;;;11753:10;;11747:43;;1252:21568;11747:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;11559:79;1252:21568;;-1:-1:-1;;;11609:18:107;;1252:21568;;11609:18;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;2833:64:108;1252:21568:107;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;2345:22:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1183:36:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3543:54:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;5835:21;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;900:35:108;;1252:21568:107;;4468:23:23;4464:108;;1252:21568:107;;;;17134:21;17130:71;;1252:21568;;17247:22;1252:21568;;;;;;;;17247:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;5479:22;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;8043:24;;;:::i;:::-;8070:29;;;;;:::i;:::-;1252:21568;;;;;;;8124:1;1252:21568;;;;;;;8102:33;;;:::i;:::-;1252:21568;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;2175:24:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3741:36:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;5767:26:23;1252:21568:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;3202:4:23;4919:24;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;1183:36:108;;1252:21568:107;;4468:23:23;4464:108;;1252:21568:107;;19608:12;1252:21568;19608:29;19604:79;;1252:21568;;19736:30;1252:21568;19608:12;1252:21568;;;;;;19736:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;466:39:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4221:36:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4313:27:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1466:3:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;:::i;:::-;6861:48;;1252:21568;;;;;;;:::i;:::-;;;;;;;;;;;;;;6923:16;;6919:111;;1252:21568;;7122:39;1057:70:95;7122:39:107;;5305:48;7085:77;7122:39;;;;7085:77;;:::i;:::-;7201:36;;5663:47;1252:21568;7201:36;;;5663:47;;:::i;:::-;7278:37;;;5305:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;6919:111;6978:41;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5305:48;1252:21568;7085:77;1252:21568;1057:70:95;1252:21568:107;;;:::i;:::-;;;;;6919:111;;;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;10341:21;10337:75;;10426:11;;10422:73;;845:69:95;5479:22:107;;:::i;:::-;5835:21;;:::i;:::-;845:69:95;;;:::i;:::-;10631:10:107;1252:21568;;;;6254:15;1252:21568;;;;;10631:10;;;6254:33;;;:::i;:::-;10601:41;;10597:96;;10718:40;;;;;:::i;10597:96::-;1252:21568;;-1:-1:-1;;;10665:17:107;;1252:21568;;10665:17;10422:73;1252:21568;;-1:-1:-1;;;10460:24:107;;1252:21568;;10460:24;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;3437:50:108;1252:21568:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5911:193::-;-1:-1:-1;;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;6038:15;1252:21568;;;;;6038:59;;5911:193;;6038:59;:::i;2573:269::-;1252:21568;;2645:29;1252:21568;;;;2645:34;;;:86;;;;2573:269;2641:149;;2799:36;2573:269;:::o;2641:149::-;1252:21568;;2754:25;1252:21568;;;;2747:32;:::o;2645:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2683:48;2645:86;;1252:21568;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13998:1;1252:21568;;;;;;;:::o;:::-;;;;;;;;;;:::o;2268:257::-;2336:29;1252:21568;;;;;;;;2336:34;;:86;;;;;2268:257;2332:145;;;1252:21568;;;2268:257;:::o;2332:145::-;1252:21568;;2445:21;1252:21568;;;2438:28;:::o;2336:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2374:48;2336:86;;;7381:191;-1:-1:-1;;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:::-;5835:21;;:::i;:::-;5479:22;;:::i;:::-;1252:21568;1884:1:95;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;1252:21568:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;:::o;8203:218::-;8316:10;1252:21568;;;-1:-1:-1;;;;;1252:21568:107;;;;;8343:20;;1252:21568;;8366:44;1252:21568;;;;;;;;;;;8366:44;;8404:4;8366:44;;;1252:21568;8366:44;;;;;;;8316:10;8366:44;;;8343:71;8203:218;:::o;8366:44::-;;;;;;;;;;;;;;:::i;8343:71::-;;8316:10;8203:218;:::o;1252:21568::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2890:760::-;2995:25;1252:21568;;;;;;;;;;;;;2983:37;;;;;;1252:21568;;3040:29;1252:21568;;;;;3040:34;;;;:79;;;;;2979:665;3036:143;;;;3199:95;1252:21568;3199:95;1252:21568;3224:41;3223:71;1252:21568;3199:21;1252:21568;3224:41;;:::i;:::-;1252:21568;;;;3223:71;;:::i;3036:143::-;1252:21568;;-1:-1:-1;;;3146:18:107;;;;;3040:79;3078:41;;-1:-1:-1;3040:79:107;;;;2979:665;1252:21568;;3315:29;1252:21568;;;;;;;3315:34;;;;:79;;;;;2979:665;-1:-1:-1;;3311:333:107;;;1252:21568;;3417:83;1252:21568;;3417:83;1252:21568;3438:37;3437:63;1252:21568;3417:17;1252:21568;3438:37;;:::i;:::-;1252:21568;;;3437:63;;:::i;3311:333::-;3538:95;1252:21568;;3562:71;1252:21568;;3563:41;3538:95;1252:21568;3538:21;1252:21568;3563:41;;:::i;:::-;1252:21568;;;;3562:71;;:::i;3315:79::-;3353:41;;-1:-1:-1;3315:79:107;;;;3361:103:30;;;;:::i;:::-;1252:21568:107;;-1:-1:-1;;;;;1252:21568:107;;;11972:23;;11968:79;;12101:11;;12097:70;;1252:21568;12193:10;;;;;;-1:-1:-1;1252:21568:107;;12338:49;;1252:21568;;;;12315:6;;1252:21568;;12272:18;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;12272:18;12315:6;:::i;:::-;12338:49;1252:21568;;12349:10;;;;12338:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12205:3:107:-;12241:9;12224:27;1252:21568;12241:9;12234:17;12241:9;;;;;:::i;:::-;1252:21568;12234:17;:::i;12224:27::-;12205:3;1252:21568;12182:9;;12097:70;1252:21568;;-1:-1:-1;;;12135:21:107;;;;;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3698:721::-;3798:21;1252:21568;3790:29;;;3786:81;;3889:17;1252:21568;3881:25;;;;;;1252:21568;3946:91;1252:21568;3945:104;1252:21568;3978:59;3979:29;3946;1252:21568;;;3979:29;;:::i;:::-;1252:21568;;;;;3978:59;;:::i;3877:536::-;1252:21568;;4070:21;1252:21568;4070:26;;:59;;;;3877:536;4066:347;;;1252:21568;4152:92;1252:21568;;4181:51;4182:25;4153:79;1252:21568;4153:25;1252:21568;4182:25;;:::i;:::-;1252:21568;;;4181:51;;:::i;:::-;1252:21568;;;;4153:79;:::i;4066:347::-;4299:91;1252:21568;;4298:104;1252:21568;4331:59;4332:29;4299;1252:21568;;;4332:29;;:::i;:::-;1252:21568;;;;;4331:59;;:::i;:::-;1252:21568;;;;4299:91;:::i;4070:59::-;4100:29;;;;4070:59;;3786:81;1252:21568;;-1:-1:-1;;;3842:14:107;;;;;1918:302;1252:21568;;2003:29;1252:21568;;;;2003:34;;:86;;;;;1918:302;1999:159;;;;2174:39;1252:21568;1918:302;:::o;1999:159::-;2112:35;1252:21568;2105:42;:::o;2003:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2041:48;2003:86;;;;8482:228;8583:10;1252:21568;;;-1:-1:-1;;;;;1252:21568:107;;;;;8574:19;8570:75;;8674:12;1252:21568;8661:42;;;:::i;8570:75::-;1252:21568;;-1:-1:-1;;;8616:18:107;;;;;7620:227;;7760:34;7620:227;1252:21568;-1:-1:-1;1252:21568:107;7760:18;1252:21568;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;7760:34;1252:21568;;-1:-1:-1;1252:21568:107;7796:11;1252:21568;;;-1:-1:-1;1252:21568:107;;7816:16;1252:21568;;;-1:-1:-1;1252:21568:107;;;1884:1:95;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:21568:107;;3670:20:30;3666:88;;1991:1;1252:21568:107;;3470:384:30:o;3666:88::-;1252:21568:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21568:107;3860:283:30:o;21352:960:107:-;21531:10;1252:21568;;;;6254:15;1252:21568;;;;;;21352:960;;;819:34:73;837:15;819:34;:::i;:::-;21531:10:107;1252:21568;;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:::-;1252:21568;;;;;;;;;21515:93;22231:74;21515:93;;;22056:30;21515:93;;:::i;:::-;837:15:73;;21618:67:107;819:34:73;837:15;819:34;:::i;:::-;21655:29:107;5479:22;;;:::i;21618:67::-;837:15:73;;21695:68:107;819:34:73;837:15;819:34;:::i;:::-;21731:31:107;5835:21;;;:::i;21695:68::-;837:15:73;;22165:34:107;837:15:73;22165:25:107;21790:18;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;21790:18;:::i;:::-;22122:33;21841:18;;1252:21568;;13970:11;1252:21568;;;;;;;21841:18;1252:21568;21898:23;;1252:21568;;21898:16;1252:21568;;;;;;;21898:23;1252:21568;390:70:95;;;;;:::i;:::-;22056:30:107;;;;;;:::i;:::-;22035:18;;1252:21568;;13970:11;1252:21568;;;;;;;22035:18;1252:21568;22122:33;:::i;:::-;22096:23;;1252:21568;;21898:16;1252:21568;;;;;;;22096:23;1252:21568;;;22165:18;1252:21568;;;;;;;22165:25;1252:21568;;;;;;;;;;;;;;;;22165:34;:50;1252:21568;;;22165:50;:::i;:::-;1252:21568;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;21531:10;;1252:21568;;22231:74;21352:960::o;1252:21568::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21568: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:21568:107;8075:24:94;:::o;7975:84::-;1252:21568:107;;;8009:16:94;5305:13:107;1252:21568;8009:16:94;:::i;:::-;1252:21568: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:21568:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21568:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21568:107;;;8009:16:94;5663:12:107;1252:21568;8009:16:94;:::i;:::-;1252:21568: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:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21568: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:21568:107;8075:24:94;:::o;7975:84::-;1252:21568:107;;;8009:16:94;1252:21568:107;;8009:16:94;:::i;:::-;1252:21568: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:21568:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;466:39:108;;1252:21568:107;;3901:31:23;1252:21568:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;757:38:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;1041:36:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;612:37:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;-1:-1:-1;1252:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;966:10:28;1252:21568:107;;;;;;;;;3901:31:23;1252:21568:107;7270:387:23;-1:-1:-1;1252:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;7509:4:23;1252:21568:107;;;966:10:28;;-1:-1:-1;;;;;1252:21568: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:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;966:10:28;;-1:-1:-1;;;;;1252:21568:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21568:107;8209:11:23;:::o;1670:188:55:-;1252:21568:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:21568:107;;;1797:53:55;;;1252:21568:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:21568:107;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;1797:53:55;1252:21568:107;;;1797:53:55;:::i;1252:21568:107:-;7178:12:94;1252:21568:107;;;;;;7178:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;-1:-1:-1;1252:21568:107;:::o;:::-;7178:12:94;1252:21568:107;;;;;;7178:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;-1:-1:-1;1252:21568:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:21568:107;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;:::o;:::-;6360:12:94;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;;;;;;;6360:12:94;1252:21568:107;;;;;;6360:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;:::o;:::-;6360:12:94;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;;;;;;;6360:12:94;1252:21568:107;;;;;;6360:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;6798:25:94;1252:21568:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;6356:75:94;;;6246:584;;;;6360:12;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;6798:25:94;1252:21568:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21568:107;;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;6360:12:94;1252:21568:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:21568:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:21568:107;;;1380:43:55;;;1252:21568:107;;;;;;;;;1380:43:55;;;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;1380:43:55;1252:21568:107;;;1380:43:55;:::i;1252:21568:107:-;;;;;;;:::o;4996:4226:68:-;;1252:21568:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:108;6270:20:68;;;;;6266:143;;1252:21568:107;6695:300:68;;;;;;;;1252:21568:107;;6695:300:68;;7259:375;;7700:21;1252:21568:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1252:21568:107;;1466:3:108;1252:21568:107;;;6119:26:68;:::o;4996:4226::-;;1252:21568:107;;;;-1:-1:-1;;1252:21568: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:21568:107;;8075:1:68;1252:21568:107;8074:21:68;1252:21568:107;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:21568:107;6695:300:68;;7259:375;7700:21;1252:21568:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:21568:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;22318:460:107:-;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;22411:23;;;22407:75;;1252:21568;22496:39;:27;;1252:21568;;22496:20;1252:21568;;;;;;;22496:27;22524:10;1252:21568;;;;;;;;;;;;;;22496:39;1252:21568;;22492:93;;22604:32;22524:10;22604:32;;:::i;:::-;22651:11;;;22647:68;;22725:39;22524:10;22725:27;22524:10;22725:27;1252:21568;;22496:20;1252:21568;;;;;;;22725:39;1252:21568;;-1:-1:-1;;1252:21568:107;22767:4;1252:21568;;;22318:460::o;22647:68::-;1252:21568;;-1:-1:-1;;;22685:19:107;;;;;22492:93;1252:21568;;-1:-1:-1;;;22558:16:107;;;;;14296:213:69;1252:21568:107;14374:24:69;;;;14370:103;;1252:21568:107;14296:213:69;:::o;14370:103::-;1252:21568:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:21568:107;;;;;14421:41:69;10580:184:94;5835:12:107;1252:21568;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;1252:21568:107;;;;;;10736:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;5835:12;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;10580:184:94;5479:13:107;1252:21568;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;1252:21568:107;;;;;;10736:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;5479:13;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;10580:184:94;1252:21568:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:21568:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5305:13:107;1252:21568;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:21568:107;;7168:7:94;1252:21568:107;;7178:17:94;1252:21568:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5305:13:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;1252:21568:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21568:107;;;;;;;10049:53:71;14439:109;5305:13:107;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5663:12:107;1252:21568;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:21568:107;;7168:7:94;1252:21568:107;;7178:17:94;1252:21568:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5663:12:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21568:107;;;;;;;10049:53:71;14439:109;5663:12:107;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:21568: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:21568:107;;7168:7:94;1252:21568: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:21568:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21568:107;;;;;;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;:::o;11486:272:94:-;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;5305:13;1252:21568;;;;;;5305:13;-1:-1:-1;1252:21568:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21568:107;;;;;;11718:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:21568:107;11486:272:94;:::o;:::-;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;5663:12;1252:21568;;;;;;5663:12;-1:-1:-1;1252:21568:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21568:107;;;;;;11718:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;:::i;11486:272:94:-;;1252:21568:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:21568:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:21568: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:21568:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21568:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:21568:107;;;8401:40:55;;;1252:21568:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:21568:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:21568:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5835:12:107;1252:21568;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;5835:12;10833:17:71;14439:109;;;1252:21568:107;11014:1:71;;1252:21568:107;;;;;;;11030:37:71:o;10695:389::-;5479:13:107;1252:21568;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;5479:13;10833:17:71;14439:109;;;1252:21568:107;11014:1:71;;1252:21568:107;;;;;;;11030:37:71:o;10695:389::-;1252:21568:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:21568:107;11014:1:71;1252:21568:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:21568:107;5835:12;1252:21568;;-1:-1:-1;;;1252:21568:107;;;;;;;;;5835:12;1252:21568;;;;;;5835:12;-1:-1:-1;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;:::o;:::-;5479:13;1252:21568;;-1:-1:-1;;;1252:21568:107;;;;;;;;;5479:13;1252:21568;;;;;;5479:13;-1:-1:-1;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5835:12:107;1252:21568;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21568:107;;;;;;;;;;;;;;;;;12285:19:71;1252:21568:107;;12423:25:71;;:::o;12247:163::-;1252:21568:107;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:21568:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:21568:107;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5479:13:107;1252:21568;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21568:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21568:107;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;11860:713::-;1252:21568:107;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568:107;12343:52:71;:::i;11657:922::-;1252:21568:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21568:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21568:107;;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;11860:713::-;1252:21568:107;;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568: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:21568:107;18246:1:68;1252:21568:107;22284:6:68;;;;:::i;:::-;1252:21568: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:21568:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:21568:107;19887:61:68;;19787:87;1252:21568:107;;;;;19787:87:68;;;19687;1252:21568:107;;;;;19687:87:68;;;19585:89;1252:21568:107;;;;;19585:89:68;;;19482:90;1252:21568:107;;;;;19482:90:68;;;19379;1252:21568:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;5305:13;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;5663:12;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"69958":[{"start":5208,"length":32},{"start":6474,"length":32}],"69961":[{"start":7712,"length":32},{"start":9000,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelay()":"c642b050","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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","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\":\"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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\"}],\"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\":\"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\":\"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\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[{\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"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\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"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)\":{\"params\":{\"epochDuration\":\"epoch duration\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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)\":{\"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.\"},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"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.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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.\"},\"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\":\"0xf55bdd6974494ad6084ad2774f23a551919e7cb54feaffed15fddedbe5f2ae8d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8b95c0b7a9393affd7dfc838709d9016e631fc6db85f77751924dcf73986bda8\",\"dweb:/ipfs/QmP7gxopAzjMNYN7yLVFccGpUE9vNovKtmBRaszJjECRBn\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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}],"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":"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":"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":"nonpayable","type":"function","name":"_Vault_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[{"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","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":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","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":"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"}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"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."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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."},"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":"0xf55bdd6974494ad6084ad2774f23a551919e7cb54feaffed15fddedbe5f2ae8d","urls":["bzz-raw://8b95c0b7a9393affd7dfc838709d9016e631fc6db85f77751924dcf73986bda8","dweb:/ipfs/QmP7gxopAzjMNYN7yLVFccGpUE9vNovKtmBRaszJjECRBn"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":107} \ No newline at end of file From 22d32c7520a9ea9487bd7418f3e18fcc693e5261 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 24 Feb 2025 09:57:08 +0400 Subject: [PATCH 09/12] fix: add exit window for small current epoch durations --- .../VaultImplementation.json | 2 +- .../VaultTokenizedImplementation.json | 2 +- out/VaultVotes.sol/VaultVotes.json | 2 +- .../VaultVotesImplementation.json | 2 +- out/v1.1/Vault.sol/Vault.json | 2 +- .../VaultTokenized.sol/VaultTokenized.json | 2 +- src/contracts/vault/v1.1/Vault.sol | 9 ++ src/interfaces/vault/v1.1/IVault.sol | 1 + test/vault/v1.1/VaultTokenized.t.sol | 96 +++++++++++++++++++ 9 files changed, 112 insertions(+), 6 deletions(-) diff --git a/out/VaultImplementation.sol/VaultImplementation.json b/out/VaultImplementation.sol/VaultImplementation.json index 2da1f2e..03cbe52 100644 --- a/out/VaultImplementation.sol/VaultImplementation.json +++ b/out/VaultImplementation.sol/VaultImplementation.json @@ -1 +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":"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":"_Vault_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","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":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"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":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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"}],"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":"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614cc938819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614c1c90816100ad8239608051818181611458015261194a015260a051818181611e2001526123280152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131e8565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b91821561073357826107159261322a565b9061071e613217565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613564565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613792565b6137be565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613859565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131e8565b610aef613630565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131e8565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138eb565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a3f565b5050610cbd89610ca242613eb9565b90613b1f565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613bfb565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613217565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133d9565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131e8565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131e8565b61103761368d565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613217565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131e8565b61116e84612d48565b831161134a5761117e8385613155565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613cb9565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613217565b5160018152602090f35b6112d292613cb9565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131e8565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613217565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613cb9565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d90565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d90565b9788958584613d90565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906134af565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131e8565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613217565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131e8565b611abd6136e4565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613217565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131e8565b6120f061373b565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613217565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131e8565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613217565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131e8565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e1d565b9485915f5460101c16613cb9565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131e8565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b9818361318a565b83018093116108195760018201809211610819576126d69161318a565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613115565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613792565b613859565b346105ca5760203660031901126105ca576004356127b16131e8565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613155565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a046020850151836134af565b930151906133d9565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131e8565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b395761071591839161322a565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b60043561318a565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613564565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d90565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131e8565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613cb9565b612f65604051928392339684612fce565b0390a3906108d7613217565b94612f8c600191611719612f86898789612fb9565b35613e1d565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b601254808210613103576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613140575b505061313a5760105490565b600f5490565b90915061314c42613eb9565b16105f8061312e565b5f5460101c6001600160a01b0390811691160361317857601554610eed91613d12565b60405163350b944160e11b8152600490fd5b906131b090825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d90565b5f80516020614bc783398151915260028154146132055760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061324542613eb9565b335f908152600e6020526040902061325c90613fd3565b91848303928311610819576132977febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361332699613bfb565b50506132b16132a542613eb9565b610cbd876116b3613f5f565b50506132cb6132bf42613eb9565b610ca8846116b3613eeb565b50506133748161335f6132e86132e36107e842613eb9565b612c4e565b61333e6132fd825f52600660205260405f2090565b54613310835f52600760205260405f2090565b5461331c82828b614026565b9d8e998a93612c5c565b613338855f52600660205260405f2090565b55612c5c565b613350825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61337f838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156134a557806020806133f4935183010191016133a8565b6133fd81614297565b9061340e825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613444575b505061343b5750610eed90614047565b60209150015190565b909150613452600a54612bb8565b63ffffffff83161491821561346b575b50505f8061342b565b613491919250613485613480611b19926133c4565b614297565b5165ffffffffffff1690565b115f80613462565b50505060209150015190565b50610eed90614047565b9080511561355a57806020806134ca935183010191016133a8565b6134d381614321565b906134e4825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613511575b505061343b5750610eed9061410e565b90915061351f600c54612bb8565b63ffffffff831614918215613538575b50505f80613501565b61355291925061348561354d611b19926133c4565b614321565b115f8061352f565b50610eed9061410e565b91805115613626578060208061357f935183010191016133a8565b9161358a83826143a1565b9261359b845165ffffffffffff1690565b9065ffffffffffff808516921682811461361a57821191826135d1575b50506135c857610eed92506141ce565b50506020015190565b9091506135de8354612bb8565b63ffffffff8316149182156135f7575b50505f806135b8565b61361291925061348561360c611b19926133c4565b856143a1565b115f806135ee565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613683565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613683565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613683565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613683565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a279160016108d795018155613987565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613aea575b50613a576144a2565b50929091815492613a66613eeb565b9481613ad5575b5015613ab257505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ac6926001600160d01b0316915061469e565b5050613ad18361399c565b9190565b65ffffffffffff83811691161490505f613a6d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a4e565b919091600b9081548015613bc6575b50613b376144f7565b50929091815492613b46613f5f565b9481613bb1575b5015613b9257505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ba6926001600160d01b0316915061476e565b5050613ad1836139d0565b65ffffffffffff83811691161490505f613b4d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b2e565b90929192600182019081548015613c89575b5084613c188461454c565b50949092845493613c2883613fd3565b9681613c74575b5015613c51575050505f19810190811161081957613a278591613ad193613987565b613ad1949293613c6d926001600160d01b03909116919061480d565b5050613a04565b65ffffffffffff83811691161490505f613c2f565b600160401b81101561088957806001613ca59201845583613987565b8154905f199060031b1b191690555f613c0d565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d8357633b9aca009082821115613d71577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613e105784831115613e035790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613d08565b90613e2a6107e842613eb9565b8210156131035760ff613e5a613e48845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613ea757613e6a338361318a565b918215613e9557613e889061335f33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613987565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d90565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613943565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613965565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613987565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613987565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613987565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d90565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613987565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613d08565b0160011c90565b61494f818a613d08565b61494f8189613d08565b61494f8188613d08565b61494f8187613d08565b61494f8186613d08565b8093613d08565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220fa591e2219364ea1984c87894dbebd2106764a1ad07593061fb15e9bd9d41b2864736f6c63430008190033","sourceMap":"1252:21568:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21568;;;;;;;;1785:36;1252:21568;;;;;;;;;;1831:32;1252:21568;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131e8565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b91821561073357826107159261322a565b9061071e613217565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613564565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613792565b6137be565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613859565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131e8565b610aef613630565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131e8565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138eb565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a3f565b5050610cbd89610ca242613eb9565b90613b1f565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613bfb565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613217565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133d9565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131e8565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131e8565b61103761368d565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613217565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131e8565b61116e84612d48565b831161134a5761117e8385613155565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613cb9565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613217565b5160018152602090f35b6112d292613cb9565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131e8565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613217565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613cb9565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d90565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d90565b9788958584613d90565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906134af565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131e8565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613217565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131e8565b611abd6136e4565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613217565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131e8565b6120f061373b565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613217565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131e8565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613217565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131e8565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e1d565b9485915f5460101c16613cb9565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131e8565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b9818361318a565b83018093116108195760018201809211610819576126d69161318a565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613115565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613792565b613859565b346105ca5760203660031901126105ca576004356127b16131e8565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613155565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a046020850151836134af565b930151906133d9565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131e8565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b395761071591839161322a565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b60043561318a565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613564565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d90565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131e8565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613cb9565b612f65604051928392339684612fce565b0390a3906108d7613217565b94612f8c600191611719612f86898789612fb9565b35613e1d565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b601254808210613103576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613140575b505061313a5760105490565b600f5490565b90915061314c42613eb9565b16105f8061312e565b5f5460101c6001600160a01b0390811691160361317857601554610eed91613d12565b60405163350b944160e11b8152600490fd5b906131b090825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d90565b5f80516020614bc783398151915260028154146132055760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061324542613eb9565b335f908152600e6020526040902061325c90613fd3565b91848303928311610819576132977febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361332699613bfb565b50506132b16132a542613eb9565b610cbd876116b3613f5f565b50506132cb6132bf42613eb9565b610ca8846116b3613eeb565b50506133748161335f6132e86132e36107e842613eb9565b612c4e565b61333e6132fd825f52600660205260405f2090565b54613310835f52600760205260405f2090565b5461331c82828b614026565b9d8e998a93612c5c565b613338855f52600660205260405f2090565b55612c5c565b613350825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61337f838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156134a557806020806133f4935183010191016133a8565b6133fd81614297565b9061340e825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613444575b505061343b5750610eed90614047565b60209150015190565b909150613452600a54612bb8565b63ffffffff83161491821561346b575b50505f8061342b565b613491919250613485613480611b19926133c4565b614297565b5165ffffffffffff1690565b115f80613462565b50505060209150015190565b50610eed90614047565b9080511561355a57806020806134ca935183010191016133a8565b6134d381614321565b906134e4825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613511575b505061343b5750610eed9061410e565b90915061351f600c54612bb8565b63ffffffff831614918215613538575b50505f80613501565b61355291925061348561354d611b19926133c4565b614321565b115f8061352f565b50610eed9061410e565b91805115613626578060208061357f935183010191016133a8565b9161358a83826143a1565b9261359b845165ffffffffffff1690565b9065ffffffffffff808516921682811461361a57821191826135d1575b50506135c857610eed92506141ce565b50506020015190565b9091506135de8354612bb8565b63ffffffff8316149182156135f7575b50505f806135b8565b61361291925061348561360c611b19926133c4565b856143a1565b115f806135ee565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613683565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613683565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613683565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613683565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a279160016108d795018155613987565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613aea575b50613a576144a2565b50929091815492613a66613eeb565b9481613ad5575b5015613ab257505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ac6926001600160d01b0316915061469e565b5050613ad18361399c565b9190565b65ffffffffffff83811691161490505f613a6d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a4e565b919091600b9081548015613bc6575b50613b376144f7565b50929091815492613b46613f5f565b9481613bb1575b5015613b9257505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ba6926001600160d01b0316915061476e565b5050613ad1836139d0565b65ffffffffffff83811691161490505f613b4d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b2e565b90929192600182019081548015613c89575b5084613c188461454c565b50949092845493613c2883613fd3565b9681613c74575b5015613c51575050505f19810190811161081957613a278591613ad193613987565b613ad1949293613c6d926001600160d01b03909116919061480d565b5050613a04565b65ffffffffffff83811691161490505f613c2f565b600160401b81101561088957806001613ca59201845583613987565b8154905f199060031b1b191690555f613c0d565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d8357633b9aca009082821115613d71577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613e105784831115613e035790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613d08565b90613e2a6107e842613eb9565b8210156131035760ff613e5a613e48845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613ea757613e6a338361318a565b918215613e9557613e889061335f33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613987565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d90565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613943565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613965565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613987565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613987565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613987565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d90565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613987565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613d08565b0160011c90565b61494f818a613d08565b61494f8189613d08565b61494f8188613d08565b61494f8187613d08565b61494f8186613d08565b8093613d08565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220fa591e2219364ea1984c87894dbebd2106764a1ad07593061fb15e9bd9d41b2864736f6c63430008190033","sourceMap":"1252:21568: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;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21568:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3653:32:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;757:38:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;612:37:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;2084:35:108;1252:21568:107;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;10976:21;10972:75;;11085:10;1252:21568;;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:24::-;:33;:::i;:::-;11061:35;;11057:88;;1057:70:95;5835:21:107;;:::i;:::-;5479:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11252:20:107;;;11248:82;;11355:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;;;11248:82;1252:21568;;-1:-1:-1;;;;;;11295:24:107;;1252:21568;;11295:24;11057:88;1252:21568;;-1:-1:-1;;;11119:15:107;;1252:21568;;11119:15;10972:75;1252:21568;;-1:-1:-1;;;11020:16:107;;1252:21568;;11020:16;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;4919:24:23;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;:::-;4538:25:107;:::i;:::-;4887:10;;4883:65;;-1:-1:-1;;1252:21568:107;;;;;;;4964:21;1252:21568;4964:21;;:::i;:::-;1252:21568;;;;;;;;;;:::i;4883:65::-;1252:21568;;-1:-1:-1;;;4920:17:107;;1252:21568;;4920:17;1252:21568;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;6038:59;1252:21568;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;6038:15;1252:21568;;;;;6038:59;:::i;:::-;1252:21568;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;5350:25:23;1252:21568:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;3202:4:23;4919:24;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21568:107;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1329:40:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:21568:107;;6441:34:23;6437:102;;6549:37;1252:21568:107;;;6549:37:23;:::i;6437:102::-;1252:21568:107;;-1:-1:-1;;;6498:30:23;;1252:21568:107;;6498:30:23;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;;6413:22;1252:21568;;;;6413:46;;;1252:21568;;;;;;;;;;;6413:46;-1:-1:-1;6439:20:107;1252:21568;;;;;6413:46;;1252:21568;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;;;;;15984:26;15980:76;;-1:-1:-1;;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;;;16107:27;;1252:21568;;16107:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;15980:76;1252:21568;;-1:-1:-1;;;16033:12:107;;1252:21568;;16033:12;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;8925:24;;8921:81;;-1:-1:-1;1252:21568:107;;;;9016:55;;;1252:21568;9012:118;;1252:21568;;-1:-1:-1;;;9164:43:107;;;9201:4;9164:43;;;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;;9164:43;;;;;;;;;;-1:-1:-1;9164:43:107;;;1252:21568;;9280:6;1252:21568;;;9201:4;;9253:10;;9280:6;;:::i;:::-;-1:-1:-1;1252:21568:107;;;9315:43;;;9201:4;9315:43;;;1252:21568;;;;;;;;;;9315:43;1252:21568;;;;;;9315:43;1252:21568;;;;;9315:43;;;;;;;:59;:43;-1:-1:-1;9315:43:107;;;1252:21568;9315:59;;;:::i;:::-;9389:20;;;9385:79;;1252:21568;;;;;9478:64;;1252:21568;9474:123;;5835:21;;1252:21568;5835:21;9953:93;5835:21;;:::i;:::-;5479:22;9877:66;5479:22;;:::i;:::-;9800:67;390:70:95;;;;;:::i;:::-;837:15:73;9836:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9836:30:107;;:::i;:::-;9800:67;;:::i;:::-;837:15:73;;9914:28:107;837:15:73;819:34;837:15;819:34;:::i;9914:28:107:-;9877:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21568:107;;;;;;6254:15;1252:21568;;;;;837:15:73;10004:41:107;837:15:73;6254:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;;6254:15;1252:21568;;;;;;;6254:33;10004:41;:::i;:::-;9953:93;;:::i;:::-;-1:-1:-1;;1252:21568:107;;;;;;;;;;;9253:10;;10062:62;;1252:21568;;10062:62;3426:1:30;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;;;;9474:123;1252:21568;;-1:-1:-1;;;9565:21:107;;;9478:64;5835:21;9496:31;5835:21;;;:::i;9496:31::-;1252:21568;;-1:-1:-1;9478:64:107;;9385:79;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;9432:21:107;;;9315:43;;;;;;-1:-1:-1;9315:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9164:::-;9280:6;9164:43;;;;;;;;;;;;;;;:::i;:::-;;;;;9012:118;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;9094:25:107;;;9016:55;-1:-1:-1;9060:10:107;1252:21568;;;;9037:22;1252:21568;;;;;;;;9036:35;9016:55;;8921:81;1252:21568;;-1:-1:-1;;;8972:19:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;4126:39:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;2255:34:108;1252:21568:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5305:48;1252:21568;;;:::i;:::-;5305:48;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;1329:40:108;;1252:21568:107;;4468:23:23;4464:108;;-1:-1:-1;19965:16:107;1252:21568;-1:-1:-1;;;;;1252:21568:107;;;;;;19965:37;;19961:87;;-1:-1:-1;;;;;;1252:21568:107;;;19965:16;1252:21568;;;;;;20109:38;;1252:21568;;20109:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;4464:108:23;1252:21568:107;;;;4514:47:23;;;;;;966:10:28;1252:21568:107;4514:47:23;;1252:21568:107;;;;;4514:47:23;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;16812:24;16808:74;;-1:-1:-1;;1252:21568:107;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;16931:25;;1252:21568;;16931:25;3426:1:30;;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;2718:59:108;1252:21568:107;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12652:19:107;;;:::i;:::-;12644:27;;12640:82;;12745:22;;;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;12843:19;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;;;;;1252:21568:107;;;12843:19;1252:21568;;;-1:-1:-1;;;12843:44:107;;;12881:4;12843:44;;;1252:21568;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;12881:4;1252:21568;;;;;;;;12843:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12843:44:107;;;1252:21568;;;12950:5;1252:21568;12971:57;1252:21568;;-1:-1:-1;1252:21568:107;;;;12950:5;;;:::i;:::-;1252:21568;-1:-1:-1;;;12971:57:107;;1252:21568;;;;;;;12992:10;;12971:57;;;:::i;:::-;;;;;;;;;1564:45:108;12971:57:107;-1:-1:-1;12971:57:107;;;1252:21568;12971:73;;12967:128;;1252:21568;;13109:44;;;12881:4;13109:44;;;1252:21568;;;;;;;;;13109:44;1252:21568;;;;;;13109:44;;;;;;;;;;:60;:44;-1:-1:-1;13109:44:107;;;:60;;;:::i;:::-;:67;13105:126;;-1:-1:-1;13245:16:107;1252:21568;-1:-1:-1;;;;;1252:21568:107;;;;13241:116;;1252:21568;3426:1:30;;;:::i;:::-;1252:21568:107;13374:4;1252:21568;;;;;13241:116;13342:3;;;:::i;:::-;13241:116;;;;;13105:126;1252:21568;;-1:-1:-1;;;13199:21:107;;;12967:128;1252:21568;;-1:-1:-1;;;13067:17:107;;1252:21568;;13067:17;12971:57;;;;;;;;;;;;;;:::i;:::-;;;;12843:44;-1:-1:-1;12843:44:107;;;;;;;12971:57;12843:44;;;12950:5;12843:44;;;;-1:-1:-1;12843:44:107;;;;;;:::i;:::-;;;;;;;;;;;;;12640:82;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;12694:17:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1041:36:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;4693:26;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1989:39:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1564:45:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1575:42;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;2423:32:108;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13573:7:107;1252:21568;13559:21;;-1:-1:-1;;;;;1252:21568:107;;;13559:21;:10;:21;13555:71;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;13707;;;;:::i;:::-;13747:17;;;;:53;;;1252:21568;13746:87;;;;1252:21568;13742:146;;1252:21568;5835:21;15752:48;5835:21;;;:::i;:::-;13982:17;13970:30;13982:17;;;:::i;:::-;1252:21568;;13970:11;1252:21568;;;;;;;13970:30;1252:21568;;14014:29;;;;;14084:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:21568:107;3060:42:68;;14194:17:107;;;14190:384;;14010:1615;;;;;;;15639:17;15635:102;;14010:1615;1252:21568;;;;;;;;;;;;;;;;;;;;;;;15752:48;3426:1:30;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;15635:102;-1:-1:-1;1252:21568:107;15712:13;;1252:21568;;15672:18;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;15672:18;13998:1;1252:21568;-1:-1:-1;;;;;1252:21568:107;15712:13;;:::i;:::-;15635:102;;14190:384;14487:29;14255:50;14404:65;14255:50;14440:28;14356:29;14255:50;14499:16;14255:50;14519:40;14255:50;;;:::i;:::-;14356:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14440:28:107;;:::i;14519:40::-;14499:16;;:::i;14487:29::-;1252:21568;14190:384;;;;;;;14010:1615;14627:26;;;;1252:21568;;13970:11;1252:21568;;;;;;;14627:26;1252:21568;14692:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:21568:107;3060:42:68;;14817:17:107;;14813:802;;14010:1615;;;;;;;;14813:802;15538:26;14878:50;;14979:53;14878:50;15079:54;14878:50;15079:29;14878:50;15567:33;14878:50;;;;:::i;:::-;14979:53;;;;;;:::i;:::-;15079:29;;;;:::i;:::-;:54;:::i;:::-;15156:33;;;;15152:194;;14813:802;15364:65;837:15:73;15400:28:107;15480:40;837:15:73;;;819:34;837:15;819:34;:::i;15480:40:107:-;15447:30;15459:17;;;:::i;15447:30::-;1252:21568;15567:33;:::i;:::-;15538:26;1252:21568;;13970:11;1252:21568;;;;;;;15538:26;1252:21568;14813:802;;;;;;;15152:194;15239:33;15213:59;15364:65;15239:33;;;15480:40;15239:33;;;:::i;:::-;15213:59;;:::i;:::-;15294:33;;-1:-1:-1;15294:33:107;;-1:-1:-1;15152:194:107;;13742:146;1252:21568;;-1:-1:-1;;;13856:21:107;;1252:21568;;13856:21;13746:87;13805:28;;;;13746:87;;13747:53;13783:17;;;;:::i;:::-;13768:32;;13747:53;;13555:71;1252:21568;;-1:-1:-1;;;13603:12:107;;1252:21568;;13603:12;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;5140:1;1252:21568;;;;;;;5112:30;1252:21568;5112:30;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;4027:43:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4538:25;819:34:73;837:15;819:34;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21568:107;2594:68:108;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11942:14;1252:21568;;11942:14;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3932:39:108;1252:21568:107;;;;;;;;;;;;;;;5663:47;1252:21568;;;:::i;:::-;5663:47;;:::i;1252:21568::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20294:22:107;1252:21568;;;;;20290:89;;1252:21568;;-1:-1:-1;;;20394:49:107;;-1:-1:-1;;;;;1252:21568:107;;;20394:49;;;1252:21568;;;;;;;;;;;;;;;20394:49;20404:17;;;1252:21568;20394:49;;;;;;;-1:-1:-1;20394:49:107;;;1252:21568;20393:50;;20389:102;;1252:21568;;-1:-1:-1;;;20505:34:107;;1252:21568;;;;;20505:34;1252:21568;20505:34;1252:21568;;20505:34;;;;;;;-1:-1:-1;20505:34:107;;;1252:21568;20551:4;;;1252:21568;;20505:51;20501:107;;-1:-1:-1;20294:22:107;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;;-1:-1:-1;;;;;;1252:21568:107;;;;;;;-1:-1:-1;;;1252:21568:107;;;20696:24;-1:-1:-1;;20696:24:107;3426:1:30;;:::i;20501:107:107:-;1252:21568;;-1:-1:-1;;;20579:18:107;;;20505:34;;;;;;;-1:-1:-1;20505:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20389:102;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;20466:14:107;;;20394:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;20290:89;1252:21568;;-1:-1:-1;;;20339:29:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;3202:4:23;;:::i;:::-;17534:1:107;17503:32;;17499:106;;1252:21568;;;17619:29;1252:21568;;;;;;;;;;17619:34;;;:87;;;;1252:21568;17615:854;;;1252:21568;18483:21;1252:21568;;;;;;;;;18483:38;;;18479:101;;17619:29;1252:21568;18594:34;;1252:21568;;;;;;;;;18594:34;;17619:29;;18644:25;;19389:32;18644:25;19389:32;18644:25;;;17652:1;18286:25;1252:21568;;18644:25;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;-1:-1:-1;18233:39:107;1252:21568;18773:43;18936:39;1252:21568;18483:21;1252:21568;;;;;18936:39;;18932:442;;18590:332;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;19389:32;;;;3426:1:30;;:::i;18932:442:107:-;19137:142;19185:94;19186:81;19293:70;837:15:73;18991:76:107;19015:52;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;19032:35;1252:21568;19015:52;;:::i;:::-;18991:76;1252:21568;;18991:76;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;-1:-1:-1;;;1252:21568:107;;;;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4693:26:107:-;1252:21568;19208:59;19032:35;1252:21568;19208:59;1252:21568;18483:21;1252:21568;;;;;19208:59;;;:::i;:::-;1252:21568;;19186:81;:::i;:::-;19185:94;:::i;:::-;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;19137:142;19293:70;1252:21568;;19293:70;18932:442;;;;18590:332;18837:39;;;;;;18833:89;;19389:32;18590:332;19389:32;18590:332;;;18479:101;1252:21568;;-1:-1:-1;;;18544:25:107;;1252:21568;;18544:25;17615:854;18135:46;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;18025:33;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4693:26:107:-;1252:21568;17836:41;17860:17;1252:21568;17836:41;1252:21568;;17836:41;17891:49;1252:21568;17919:21;1252:21568;;;;;;;17619:29;1252:21568;;;;;;;;;;17619:29;1252:21568;;17891:49;17919:21;1252:21568;17954:57;;1252:21568;;;;;;;;17619:29;1252:21568;;;17619:29;1252:21568;;17954:57;17860:17;1252:21568;;18025:33;17619:29;1252:21568;18072:49;;1252:21568;;;;17919:21;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;;;;-1:-1:-1;;;;;;1252:21568:107;;;;;;;;18072:49;17919:21;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;18135:46;18195:77;18233:39;1252:21568;18195:77;1252:21568;;18195:77;18286:25;17652:1;18286:25;1252:21568;;18286:25;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;-1:-1:-1;18233:39:107;1252:21568;17615:854;;17619:87;837:15:73;;17657:49:107;819:34:73;837:15;819:34;:::i;17657:49:107:-;-1:-1:-1;17657:49:107;17619:87;;;17499:106;1252:21568;;-1:-1:-1;;;17558:36:107;;1252:21568;;17558:36;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1666:40;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;5835:21;;:::i;:::-;1252:21568;;;;6639:11;1252:21568;;;;;;;;;;;;;6680:1;1252:21568;;;;;;;;;6639:11;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3833:43:108;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3901:31:23;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;3901:31:23;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21568:107;6254:15;1252:21568;;;6254:33;1252:21568;-1:-1:-1;1252:21568:107;6254:33;:::i;1252:21568::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21568:107;;;;-1:-1:-1;1252:21568:107;477:31:86;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;477:31:86;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;477:31:86;1252:21568:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:21568:107;518:79:86;;1252:21568:107;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;900:35:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;16349:21;;16345:75;;-1:-1:-1;1252:21568:107;;;16434:22;1252:21568;;;;;;;;;;;;;16434:41;16430:91;;-1:-1:-1;;;;;1252:21568:107;;;;;9037:22;1252:21568;;;;;16587:44;;;;16531:40;;:31;1252:21568;;;;;;;;;;;;;;16531:40;1252:21568;;;;;;;;;;;;;;;16587:44;;;;3426:1:30;;:::i;16345:75:107:-;1252:21568;;-1:-1:-1;;;16393:16:107;;1252:21568;;16393:16;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;2953:94:108;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;2953:94:108;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;2953:94:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3103:92:108;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;3103:92:108;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4396:31:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20863:20:107;1252:21568;;;;;20859:85;;-1:-1:-1;;;;;1252:21568:107;;;;;;20954:312;;1252:21568;20863:20;1252:21568;;-1:-1:-1;;;;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;21276:27;21319:20;-1:-1:-1;21319:20:107;;3426:1:30;;:::i;20954:312:107:-;1252:21568;;-1:-1:-1;;;21001:45:107;;-1:-1:-1;;;;;1252:21568:107;;21001:45;;;1252:21568;;;21001:45;;1252:21568;;;;;;21001:45;21011:15;;;1252:21568;21001:45;;;;;;;-1:-1:-1;21001:45:107;;;20954:312;21000:46;;20996:104;;1252:21568;;-1:-1:-1;;;21118:30:107;;;1252:21568;21118:30;1252:21568;21118:30;;;;;;;;-1:-1:-1;21118:30:107;;;20954:312;21160:4;;;1252:21568;;21118:47;21114:109;;-1:-1:-1;20863:20:107;1252:21568;;-1:-1:-1;;;;;;1252:21568:107;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;20954:312;;;;;;21114:109;1252:21568;;-1:-1:-1;;;21192:16:107;;;21118:30;;;;;;;-1:-1:-1;21118:30:107;;;;;;:::i;:::-;;;;;;20996:104;1252:21568;;-1:-1:-1;;;21073:12:107;;1252:21568;;21073:12;21001:45;;;;;;;;;;;;;;:::i;:::-;;;;20859:85;1252:21568;;-1:-1:-1;;;20906:27:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;11563:23;;11559:79;;11724:6;1252:21568;11657:13;;;;:::i;:::-;1252:21568;;;-1:-1:-1;1252:21568:107;;;;11724:6;:::i;:::-;1252:21568;;;;;;;;;;;;11753:10;;11747:43;;1252:21568;11747:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;11559:79;1252:21568;;-1:-1:-1;;;11609:18:107;;1252:21568;;11609:18;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;2833:64:108;1252:21568:107;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;2345:22:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1183:36:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3543:54:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;5835:21;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;900:35:108;;1252:21568:107;;4468:23:23;4464:108;;1252:21568:107;;;;17134:21;17130:71;;1252:21568;;17247:22;1252:21568;;;;;;;;17247:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;5479:22;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;8043:24;;;:::i;:::-;8070:29;;;;;:::i;:::-;1252:21568;;;;;;;8124:1;1252:21568;;;;;;;8102:33;;;:::i;:::-;1252:21568;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;2175:24:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3741:36:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;5767:26:23;1252:21568:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;3202:4:23;4919:24;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;1183:36:108;;1252:21568:107;;4468:23:23;4464:108;;1252:21568:107;;19608:12;1252:21568;19608:29;19604:79;;1252:21568;;19736:30;1252:21568;19608:12;1252:21568;;;;;;19736:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;466:39:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4221:36:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4313:27:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1466:3:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;:::i;:::-;6861:48;;1252:21568;;;;;;;:::i;:::-;;;;;;;;;;;;;;6923:16;;6919:111;;1252:21568;;7122:39;1057:70:95;7122:39:107;;5305:48;7085:77;7122:39;;;;7085:77;;:::i;:::-;7201:36;;5663:47;1252:21568;7201:36;;;5663:47;;:::i;:::-;7278:37;;;5305:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;6919:111;6978:41;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5305:48;1252:21568;7085:77;1252:21568;1057:70:95;1252:21568:107;;;:::i;:::-;;;;;6919:111;;;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;10341:21;10337:75;;10426:11;;10422:73;;845:69:95;5479:22:107;;:::i;:::-;5835:21;;:::i;:::-;845:69:95;;;:::i;:::-;10631:10:107;1252:21568;;;;6254:15;1252:21568;;;;;10631:10;;;6254:33;;;:::i;:::-;10601:41;;10597:96;;10718:40;;;;;:::i;10597:96::-;1252:21568;;-1:-1:-1;;;10665:17:107;;1252:21568;;10665:17;10422:73;1252:21568;;-1:-1:-1;;;10460:24:107;;1252:21568;;10460:24;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;3437:50:108;1252:21568:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5911:193::-;-1:-1:-1;;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;6038:15;1252:21568;;;;;6038:59;;5911:193;;6038:59;:::i;2573:269::-;1252:21568;;2645:29;1252:21568;;;;2645:34;;;:86;;;;2573:269;2641:149;;2799:36;2573:269;:::o;2641:149::-;1252:21568;;2754:25;1252:21568;;;;2747:32;:::o;2645:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2683:48;2645:86;;1252:21568;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13998:1;1252:21568;;;;;;;:::o;:::-;;;;;;;;;;:::o;2268:257::-;2336:29;1252:21568;;;;;;;;2336:34;;:86;;;;;2268:257;2332:145;;;1252:21568;;;2268:257;:::o;2332:145::-;1252:21568;;2445:21;1252:21568;;;2438:28;:::o;2336:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2374:48;2336:86;;;7381:191;-1:-1:-1;;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:::-;5835:21;;:::i;:::-;5479:22;;:::i;:::-;1252:21568;1884:1:95;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;1252:21568:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;:::o;8203:218::-;8316:10;1252:21568;;;-1:-1:-1;;;;;1252:21568:107;;;;;8343:20;;1252:21568;;8366:44;1252:21568;;;;;;;;;;;8366:44;;8404:4;8366:44;;;1252:21568;8366:44;;;;;;;8316:10;8366:44;;;8343:71;8203:218;:::o;8366:44::-;;;;;;;;;;;;;;:::i;8343:71::-;;8316:10;8203:218;:::o;1252:21568::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2890:760::-;2995:25;1252:21568;;;;;;;;;;;;;2983:37;;;;;;1252:21568;;3040:29;1252:21568;;;;;3040:34;;;;:79;;;;;2979:665;3036:143;;;;3199:95;1252:21568;3199:95;1252:21568;3224:41;3223:71;1252:21568;3199:21;1252:21568;3224:41;;:::i;:::-;1252:21568;;;;3223:71;;:::i;3036:143::-;1252:21568;;-1:-1:-1;;;3146:18:107;;;;;3040:79;3078:41;;-1:-1:-1;3040:79:107;;;;2979:665;1252:21568;;3315:29;1252:21568;;;;;;;3315:34;;;;:79;;;;;2979:665;-1:-1:-1;;3311:333:107;;;1252:21568;;3417:83;1252:21568;;3417:83;1252:21568;3438:37;3437:63;1252:21568;3417:17;1252:21568;3438:37;;:::i;:::-;1252:21568;;;3437:63;;:::i;3311:333::-;3538:95;1252:21568;;3562:71;1252:21568;;3563:41;3538:95;1252:21568;3538:21;1252:21568;3563:41;;:::i;:::-;1252:21568;;;;3562:71;;:::i;3315:79::-;3353:41;;-1:-1:-1;3315:79:107;;;;3361:103:30;;;;:::i;:::-;1252:21568:107;;-1:-1:-1;;;;;1252:21568:107;;;11972:23;;11968:79;;12101:11;;12097:70;;1252:21568;12193:10;;;;;;-1:-1:-1;1252:21568:107;;12338:49;;1252:21568;;;;12315:6;;1252:21568;;12272:18;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;12272:18;12315:6;:::i;:::-;12338:49;1252:21568;;12349:10;;;;12338:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12205:3:107:-;12241:9;12224:27;1252:21568;12241:9;12234:17;12241:9;;;;;:::i;:::-;1252:21568;12234:17;:::i;12224:27::-;12205:3;1252:21568;12182:9;;12097:70;1252:21568;;-1:-1:-1;;;12135:21:107;;;;;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3698:721::-;3798:21;1252:21568;3790:29;;;3786:81;;3889:17;1252:21568;3881:25;;;;;;1252:21568;3946:91;1252:21568;3945:104;1252:21568;3978:59;3979:29;3946;1252:21568;;;3979:29;;:::i;:::-;1252:21568;;;;;3978:59;;:::i;3877:536::-;1252:21568;;4070:21;1252:21568;4070:26;;:59;;;;3877:536;4066:347;;;1252:21568;4152:92;1252:21568;;4181:51;4182:25;4153:79;1252:21568;4153:25;1252:21568;4182:25;;:::i;:::-;1252:21568;;;4181:51;;:::i;:::-;1252:21568;;;;4153:79;:::i;4066:347::-;4299:91;1252:21568;;4298:104;1252:21568;4331:59;4332:29;4299;1252:21568;;;4332:29;;:::i;:::-;1252:21568;;;;;4331:59;;:::i;:::-;1252:21568;;;;4299:91;:::i;4070:59::-;4100:29;;;;4070:59;;3786:81;1252:21568;;-1:-1:-1;;;3842:14:107;;;;;1918:302;1252:21568;;2003:29;1252:21568;;;;2003:34;;:86;;;;;1918:302;1999:159;;;;2174:39;1252:21568;1918:302;:::o;1999:159::-;2112:35;1252:21568;2105:42;:::o;2003:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2041:48;2003:86;;;;8482:228;8583:10;1252:21568;;;-1:-1:-1;;;;;1252:21568:107;;;;;8574:19;8570:75;;8674:12;1252:21568;8661:42;;;:::i;8570:75::-;1252:21568;;-1:-1:-1;;;8616:18:107;;;;;7620:227;;7760:34;7620:227;1252:21568;-1:-1:-1;1252:21568:107;7760:18;1252:21568;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;7760:34;1252:21568;;-1:-1:-1;1252:21568:107;7796:11;1252:21568;;;-1:-1:-1;1252:21568:107;;7816:16;1252:21568;;;-1:-1:-1;1252:21568:107;;;1884:1:95;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:21568:107;;3670:20:30;3666:88;;1991:1;1252:21568:107;;3470:384:30:o;3666:88::-;1252:21568:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21568:107;3860:283:30:o;21352:960:107:-;21531:10;1252:21568;;;;6254:15;1252:21568;;;;;;21352:960;;;819:34:73;837:15;819:34;:::i;:::-;21531:10:107;1252:21568;;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:::-;1252:21568;;;;;;;;;21515:93;22231:74;21515:93;;;22056:30;21515:93;;:::i;:::-;837:15:73;;21618:67:107;819:34:73;837:15;819:34;:::i;:::-;21655:29:107;5479:22;;;:::i;21618:67::-;837:15:73;;21695:68:107;819:34:73;837:15;819:34;:::i;:::-;21731:31:107;5835:21;;;:::i;21695:68::-;837:15:73;;22165:34:107;837:15:73;22165:25:107;21790:18;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;21790:18;:::i;:::-;22122:33;21841:18;;1252:21568;;13970:11;1252:21568;;;;;;;21841:18;1252:21568;21898:23;;1252:21568;;21898:16;1252:21568;;;;;;;21898:23;1252:21568;390:70:95;;;;;:::i;:::-;22056:30:107;;;;;;:::i;:::-;22035:18;;1252:21568;;13970:11;1252:21568;;;;;;;22035:18;1252:21568;22122:33;:::i;:::-;22096:23;;1252:21568;;21898:16;1252:21568;;;;;;;22096:23;1252:21568;;;22165:18;1252:21568;;;;;;;22165:25;1252:21568;;;;;;;;;;;;;;;;22165:34;:50;1252:21568;;;22165:50;:::i;:::-;1252:21568;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;21531:10;;1252:21568;;22231:74;21352:960::o;1252:21568::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21568: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:21568:107;8075:24:94;:::o;7975:84::-;1252:21568:107;;;8009:16:94;5305:13:107;1252:21568;8009:16:94;:::i;:::-;1252:21568: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:21568:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21568:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21568:107;;;8009:16:94;5663:12:107;1252:21568;8009:16:94;:::i;:::-;1252:21568: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:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21568: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:21568:107;8075:24:94;:::o;7975:84::-;1252:21568:107;;;8009:16:94;1252:21568:107;;8009:16:94;:::i;:::-;1252:21568: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:21568:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;466:39:108;;1252:21568:107;;3901:31:23;1252:21568:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;757:38:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;1041:36:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;612:37:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;-1:-1:-1;1252:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;966:10:28;1252:21568:107;;;;;;;;;3901:31:23;1252:21568:107;7270:387:23;-1:-1:-1;1252:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;7509:4:23;1252:21568:107;;;966:10:28;;-1:-1:-1;;;;;1252:21568: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:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;966:10:28;;-1:-1:-1;;;;;1252:21568:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21568:107;8209:11:23;:::o;1670:188:55:-;1252:21568:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:21568:107;;;1797:53:55;;;1252:21568:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:21568:107;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;1797:53:55;1252:21568:107;;;1797:53:55;:::i;1252:21568:107:-;7178:12:94;1252:21568:107;;;;;;7178:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;-1:-1:-1;1252:21568:107;:::o;:::-;7178:12:94;1252:21568:107;;;;;;7178:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;-1:-1:-1;1252:21568:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:21568:107;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;:::o;:::-;6360:12:94;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;;;;;;;6360:12:94;1252:21568:107;;;;;;6360:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;:::o;:::-;6360:12:94;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;;;;;;;6360:12:94;1252:21568:107;;;;;;6360:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;6798:25:94;1252:21568:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;6356:75:94;;;6246:584;;;;6360:12;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;6798:25:94;1252:21568:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21568:107;;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;6360:12:94;1252:21568:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:21568:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:21568:107;;;1380:43:55;;;1252:21568:107;;;;;;;;;1380:43:55;;;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;1380:43:55;1252:21568:107;;;1380:43:55;:::i;1252:21568:107:-;;;;;;;:::o;4996:4226:68:-;;1252:21568:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:108;6270:20:68;;;;;6266:143;;1252:21568:107;6695:300:68;;;;;;;;1252:21568:107;;6695:300:68;;7259:375;;7700:21;1252:21568:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1252:21568:107;;1466:3:108;1252:21568:107;;;6119:26:68;:::o;4996:4226::-;;1252:21568:107;;;;-1:-1:-1;;1252:21568: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:21568:107;;8075:1:68;1252:21568:107;8074:21:68;1252:21568:107;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:21568:107;6695:300:68;;7259:375;7700:21;1252:21568:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:21568:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;22318:460:107:-;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;22411:23;;;22407:75;;1252:21568;22496:39;:27;;1252:21568;;22496:20;1252:21568;;;;;;;22496:27;22524:10;1252:21568;;;;;;;;;;;;;;22496:39;1252:21568;;22492:93;;22604:32;22524:10;22604:32;;:::i;:::-;22651:11;;;22647:68;;22725:39;22524:10;22725:27;22524:10;22725:27;1252:21568;;22496:20;1252:21568;;;;;;;22725:39;1252:21568;;-1:-1:-1;;1252:21568:107;22767:4;1252:21568;;;22318:460::o;22647:68::-;1252:21568;;-1:-1:-1;;;22685:19:107;;;;;22492:93;1252:21568;;-1:-1:-1;;;22558:16:107;;;;;14296:213:69;1252:21568:107;14374:24:69;;;;14370:103;;1252:21568:107;14296:213:69;:::o;14370:103::-;1252:21568:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:21568:107;;;;;14421:41:69;10580:184:94;5835:12:107;1252:21568;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;1252:21568:107;;;;;;10736:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;5835:12;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;10580:184:94;5479:13:107;1252:21568;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;1252:21568:107;;;;;;10736:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;5479:13;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;10580:184:94;1252:21568:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:21568:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5305:13:107;1252:21568;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:21568:107;;7168:7:94;1252:21568:107;;7178:17:94;1252:21568:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5305:13:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;1252:21568:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21568:107;;;;;;;10049:53:71;14439:109;5305:13:107;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5663:12:107;1252:21568;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:21568:107;;7168:7:94;1252:21568:107;;7178:17:94;1252:21568:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5663:12:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21568:107;;;;;;;10049:53:71;14439:109;5663:12:107;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:21568: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:21568:107;;7168:7:94;1252:21568: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:21568:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21568:107;;;;;;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;:::o;11486:272:94:-;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;5305:13;1252:21568;;;;;;5305:13;-1:-1:-1;1252:21568:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21568:107;;;;;;11718:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:21568:107;11486:272:94;:::o;:::-;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;5663:12;1252:21568;;;;;;5663:12;-1:-1:-1;1252:21568:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21568:107;;;;;;11718:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;:::i;11486:272:94:-;;1252:21568:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:21568:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:21568: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:21568:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21568:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:21568:107;;;8401:40:55;;;1252:21568:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:21568:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:21568:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5835:12:107;1252:21568;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;5835:12;10833:17:71;14439:109;;;1252:21568:107;11014:1:71;;1252:21568:107;;;;;;;11030:37:71:o;10695:389::-;5479:13:107;1252:21568;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;5479:13;10833:17:71;14439:109;;;1252:21568:107;11014:1:71;;1252:21568:107;;;;;;;11030:37:71:o;10695:389::-;1252:21568:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:21568:107;11014:1:71;1252:21568:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:21568:107;5835:12;1252:21568;;-1:-1:-1;;;1252:21568:107;;;;;;;;;5835:12;1252:21568;;;;;;5835:12;-1:-1:-1;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;:::o;:::-;5479:13;1252:21568;;-1:-1:-1;;;1252:21568:107;;;;;;;;;5479:13;1252:21568;;;;;;5479:13;-1:-1:-1;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5835:12:107;1252:21568;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21568:107;;;;;;;;;;;;;;;;;12285:19:71;1252:21568:107;;12423:25:71;;:::o;12247:163::-;1252:21568:107;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:21568:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:21568:107;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5479:13:107;1252:21568;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21568:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21568:107;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;11860:713::-;1252:21568:107;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568:107;12343:52:71;:::i;11657:922::-;1252:21568:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21568:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21568:107;;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;11860:713::-;1252:21568:107;;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568: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:21568:107;18246:1:68;1252:21568:107;22284:6:68;;;;:::i;:::-;1252:21568: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:21568:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:21568:107;19887:61:68;;19787:87;1252:21568:107;;;;;19787:87:68;;;19687;1252:21568:107;;;;;19687:87:68;;;19585:89;1252:21568:107;;;;;19585:89:68;;;19482:90;1252:21568:107;;;;;19482:90:68;;;19379;1252:21568:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;5305:13;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;5663:12;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"69958":[{"start":5208,"length":32},{"start":6474,"length":32}],"69961":[{"start":7712,"length":32},{"start":9000,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelay()":"c642b050","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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","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\":\"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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\"}],\"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\":\"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\":\"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\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[{\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"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\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"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)\":{\"params\":{\"epochDuration\":\"epoch duration\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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)\":{\"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.\"},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"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.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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.\"},\"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\":\"0xf55bdd6974494ad6084ad2774f23a551919e7cb54feaffed15fddedbe5f2ae8d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8b95c0b7a9393affd7dfc838709d9016e631fc6db85f77751924dcf73986bda8\",\"dweb:/ipfs/QmP7gxopAzjMNYN7yLVFccGpUE9vNovKtmBRaszJjECRBn\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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}],"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":"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":"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":"nonpayable","type":"function","name":"_Vault_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[{"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","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":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","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":"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"}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"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."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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."},"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":"0xf55bdd6974494ad6084ad2774f23a551919e7cb54feaffed15fddedbe5f2ae8d","urls":["bzz-raw://8b95c0b7a9393affd7dfc838709d9016e631fc6db85f77751924dcf73986bda8","dweb:/ipfs/QmP7gxopAzjMNYN7yLVFccGpUE9vNovKtmBRaszJjECRBn"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":107} \ No newline at end of file +{"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":"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":"_Vault_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","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":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"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":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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"}],"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614cc938819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614c1c90816100ad8239608051818181611458015261194a015260a051818181611e2001526123280152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131e8565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b91821561073357826107159261322a565b9061071e613217565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613564565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613792565b6137be565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613859565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131e8565b610aef613630565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131e8565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138eb565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a3f565b5050610cbd89610ca242613eb9565b90613b1f565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613bfb565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613217565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133d9565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131e8565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131e8565b61103761368d565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613217565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131e8565b61116e84612d48565b831161134a5761117e8385613155565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613cb9565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613217565b5160018152602090f35b6112d292613cb9565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131e8565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613217565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613cb9565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d90565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d90565b9788958584613d90565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906134af565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131e8565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613217565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131e8565b611abd6136e4565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613217565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131e8565b6120f061373b565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613217565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131e8565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613217565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131e8565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e1d565b9485915f5460101c16613cb9565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131e8565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b9818361318a565b83018093116108195760018201809211610819576126d69161318a565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613115565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613792565b613859565b346105ca5760203660031901126105ca576004356127b16131e8565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613155565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a046020850151836134af565b930151906133d9565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131e8565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b395761071591839161322a565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b60043561318a565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613564565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d90565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131e8565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613cb9565b612f65604051928392339684612fce565b0390a3906108d7613217565b94612f8c600191611719612f86898789612fb9565b35613e1d565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b601254808210613103576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613140575b505061313a5760105490565b600f5490565b90915061314c42613eb9565b16105f8061312e565b5f5460101c6001600160a01b0390811691160361317857601554610eed91613d12565b60405163350b944160e11b8152600490fd5b906131b090825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d90565b5f80516020614bc783398151915260028154146132055760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061324542613eb9565b335f908152600e6020526040902061325c90613fd3565b91848303928311610819576132977febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361332699613bfb565b50506132b16132a542613eb9565b610cbd876116b3613f5f565b50506132cb6132bf42613eb9565b610ca8846116b3613eeb565b50506133748161335f6132e86132e36107e842613eb9565b612c4e565b61333e6132fd825f52600660205260405f2090565b54613310835f52600760205260405f2090565b5461331c82828b614026565b9d8e998a93612c5c565b613338855f52600660205260405f2090565b55612c5c565b613350825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61337f838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156134a557806020806133f4935183010191016133a8565b6133fd81614297565b9061340e825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613444575b505061343b5750610eed90614047565b60209150015190565b909150613452600a54612bb8565b63ffffffff83161491821561346b575b50505f8061342b565b613491919250613485613480611b19926133c4565b614297565b5165ffffffffffff1690565b115f80613462565b50505060209150015190565b50610eed90614047565b9080511561355a57806020806134ca935183010191016133a8565b6134d381614321565b906134e4825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613511575b505061343b5750610eed9061410e565b90915061351f600c54612bb8565b63ffffffff831614918215613538575b50505f80613501565b61355291925061348561354d611b19926133c4565b614321565b115f8061352f565b50610eed9061410e565b91805115613626578060208061357f935183010191016133a8565b9161358a83826143a1565b9261359b845165ffffffffffff1690565b9065ffffffffffff808516921682811461361a57821191826135d1575b50506135c857610eed92506141ce565b50506020015190565b9091506135de8354612bb8565b63ffffffff8316149182156135f7575b50505f806135b8565b61361291925061348561360c611b19926133c4565b856143a1565b115f806135ee565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613683565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613683565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613683565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613683565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a279160016108d795018155613987565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613aea575b50613a576144a2565b50929091815492613a66613eeb565b9481613ad5575b5015613ab257505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ac6926001600160d01b0316915061469e565b5050613ad18361399c565b9190565b65ffffffffffff83811691161490505f613a6d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a4e565b919091600b9081548015613bc6575b50613b376144f7565b50929091815492613b46613f5f565b9481613bb1575b5015613b9257505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ba6926001600160d01b0316915061476e565b5050613ad1836139d0565b65ffffffffffff83811691161490505f613b4d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b2e565b90929192600182019081548015613c89575b5084613c188461454c565b50949092845493613c2883613fd3565b9681613c74575b5015613c51575050505f19810190811161081957613a278591613ad193613987565b613ad1949293613c6d926001600160d01b03909116919061480d565b5050613a04565b65ffffffffffff83811691161490505f613c2f565b600160401b81101561088957806001613ca59201845583613987565b8154905f199060031b1b191690555f613c0d565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d8357633b9aca009082821115613d71577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613e105784831115613e035790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613d08565b90613e2a6107e842613eb9565b8210156131035760ff613e5a613e48845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613ea757613e6a338361318a565b918215613e9557613e889061335f33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613987565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d90565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613943565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613965565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613987565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613987565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613987565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d90565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613987565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613d08565b0160011c90565b61494f818a613d08565b61494f8189613d08565b61494f8188613d08565b61494f8187613d08565b61494f8186613d08565b8093613d08565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220a9f326954cff8e5263453131c97e40d00cc8e612c316b4d620d2fc7a34366ff964736f6c63430008190033","sourceMap":"1252:21568:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21568;;;;;;;;1785:36;1252:21568;;;;;;;;;;1831:32;1252:21568;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131e8565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b91821561073357826107159261322a565b9061071e613217565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613564565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613792565b6137be565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613859565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131e8565b610aef613630565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131e8565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138eb565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a3f565b5050610cbd89610ca242613eb9565b90613b1f565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613bfb565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613217565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133d9565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131e8565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131e8565b61103761368d565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613217565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131e8565b61116e84612d48565b831161134a5761117e8385613155565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613cb9565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613217565b5160018152602090f35b6112d292613cb9565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131e8565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613217565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613cb9565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d90565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d90565b9788958584613d90565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906134af565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131e8565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613217565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131e8565b611abd6136e4565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613217565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131e8565b6120f061373b565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613217565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131e8565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613217565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131e8565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e1d565b9485915f5460101c16613cb9565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131e8565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b9818361318a565b83018093116108195760018201809211610819576126d69161318a565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613115565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613792565b613859565b346105ca5760203660031901126105ca576004356127b16131e8565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613155565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a046020850151836134af565b930151906133d9565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131e8565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b395761071591839161322a565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b60043561318a565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613564565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d90565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131e8565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613cb9565b612f65604051928392339684612fce565b0390a3906108d7613217565b94612f8c600191611719612f86898789612fb9565b35613e1d565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b601254808210613103576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613140575b505061313a5760105490565b600f5490565b90915061314c42613eb9565b16105f8061312e565b5f5460101c6001600160a01b0390811691160361317857601554610eed91613d12565b60405163350b944160e11b8152600490fd5b906131b090825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d90565b5f80516020614bc783398151915260028154146132055760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061324542613eb9565b335f908152600e6020526040902061325c90613fd3565b91848303928311610819576132977febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361332699613bfb565b50506132b16132a542613eb9565b610cbd876116b3613f5f565b50506132cb6132bf42613eb9565b610ca8846116b3613eeb565b50506133748161335f6132e86132e36107e842613eb9565b612c4e565b61333e6132fd825f52600660205260405f2090565b54613310835f52600760205260405f2090565b5461331c82828b614026565b9d8e998a93612c5c565b613338855f52600660205260405f2090565b55612c5c565b613350825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61337f838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156134a557806020806133f4935183010191016133a8565b6133fd81614297565b9061340e825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613444575b505061343b5750610eed90614047565b60209150015190565b909150613452600a54612bb8565b63ffffffff83161491821561346b575b50505f8061342b565b613491919250613485613480611b19926133c4565b614297565b5165ffffffffffff1690565b115f80613462565b50505060209150015190565b50610eed90614047565b9080511561355a57806020806134ca935183010191016133a8565b6134d381614321565b906134e4825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613511575b505061343b5750610eed9061410e565b90915061351f600c54612bb8565b63ffffffff831614918215613538575b50505f80613501565b61355291925061348561354d611b19926133c4565b614321565b115f8061352f565b50610eed9061410e565b91805115613626578060208061357f935183010191016133a8565b9161358a83826143a1565b9261359b845165ffffffffffff1690565b9065ffffffffffff808516921682811461361a57821191826135d1575b50506135c857610eed92506141ce565b50506020015190565b9091506135de8354612bb8565b63ffffffff8316149182156135f7575b50505f806135b8565b61361291925061348561360c611b19926133c4565b856143a1565b115f806135ee565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613683565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613683565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613683565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613683565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a279160016108d795018155613987565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613aea575b50613a576144a2565b50929091815492613a66613eeb565b9481613ad5575b5015613ab257505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ac6926001600160d01b0316915061469e565b5050613ad18361399c565b9190565b65ffffffffffff83811691161490505f613a6d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a4e565b919091600b9081548015613bc6575b50613b376144f7565b50929091815492613b46613f5f565b9481613bb1575b5015613b9257505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ba6926001600160d01b0316915061476e565b5050613ad1836139d0565b65ffffffffffff83811691161490505f613b4d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b2e565b90929192600182019081548015613c89575b5084613c188461454c565b50949092845493613c2883613fd3565b9681613c74575b5015613c51575050505f19810190811161081957613a278591613ad193613987565b613ad1949293613c6d926001600160d01b03909116919061480d565b5050613a04565b65ffffffffffff83811691161490505f613c2f565b600160401b81101561088957806001613ca59201845583613987565b8154905f199060031b1b191690555f613c0d565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d8357633b9aca009082821115613d71577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613e105784831115613e035790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613d08565b90613e2a6107e842613eb9565b8210156131035760ff613e5a613e48845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613ea757613e6a338361318a565b918215613e9557613e889061335f33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613987565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d90565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613943565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613965565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613987565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613987565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613987565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d90565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613987565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613d08565b0160011c90565b61494f818a613d08565b61494f8189613d08565b61494f8188613d08565b61494f8187613d08565b61494f8186613d08565b8093613d08565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220a9f326954cff8e5263453131c97e40d00cc8e612c316b4d620d2fc7a34366ff964736f6c63430008190033","sourceMap":"1252:21568: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;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21568:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3653:32:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;757:38:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;612:37:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;2084:35:108;1252:21568:107;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;10976:21;10972:75;;11085:10;1252:21568;;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:24::-;:33;:::i;:::-;11061:35;;11057:88;;1057:70:95;5835:21:107;;:::i;:::-;5479:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11252:20:107;;;11248:82;;11355:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;;;11248:82;1252:21568;;-1:-1:-1;;;;;;11295:24:107;;1252:21568;;11295:24;11057:88;1252:21568;;-1:-1:-1;;;11119:15:107;;1252:21568;;11119:15;10972:75;1252:21568;;-1:-1:-1;;;11020:16:107;;1252:21568;;11020:16;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;4919:24:23;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;:::-;4538:25:107;:::i;:::-;4887:10;;4883:65;;-1:-1:-1;;1252:21568:107;;;;;;;4964:21;1252:21568;4964:21;;:::i;:::-;1252:21568;;;;;;;;;;:::i;4883:65::-;1252:21568;;-1:-1:-1;;;4920:17:107;;1252:21568;;4920:17;1252:21568;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;6038:59;1252:21568;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;6038:15;1252:21568;;;;;6038:59;:::i;:::-;1252:21568;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;5350:25:23;1252:21568:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;3202:4:23;4919:24;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21568:107;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1329:40:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:21568:107;;6441:34:23;6437:102;;6549:37;1252:21568:107;;;6549:37:23;:::i;6437:102::-;1252:21568:107;;-1:-1:-1;;;6498:30:23;;1252:21568:107;;6498:30:23;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;;6413:22;1252:21568;;;;6413:46;;;1252:21568;;;;;;;;;;;6413:46;-1:-1:-1;6439:20:107;1252:21568;;;;;6413:46;;1252:21568;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;;;;;15984:26;15980:76;;-1:-1:-1;;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;;;16107:27;;1252:21568;;16107:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;15980:76;1252:21568;;-1:-1:-1;;;16033:12:107;;1252:21568;;16033:12;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;8925:24;;8921:81;;-1:-1:-1;1252:21568:107;;;;9016:55;;;1252:21568;9012:118;;1252:21568;;-1:-1:-1;;;9164:43:107;;;9201:4;9164:43;;;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;;9164:43;;;;;;;;;;-1:-1:-1;9164:43:107;;;1252:21568;;9280:6;1252:21568;;;9201:4;;9253:10;;9280:6;;:::i;:::-;-1:-1:-1;1252:21568:107;;;9315:43;;;9201:4;9315:43;;;1252:21568;;;;;;;;;;9315:43;1252:21568;;;;;;9315:43;1252:21568;;;;;9315:43;;;;;;;:59;:43;-1:-1:-1;9315:43:107;;;1252:21568;9315:59;;;:::i;:::-;9389:20;;;9385:79;;1252:21568;;;;;9478:64;;1252:21568;9474:123;;5835:21;;1252:21568;5835:21;9953:93;5835:21;;:::i;:::-;5479:22;9877:66;5479:22;;:::i;:::-;9800:67;390:70:95;;;;;:::i;:::-;837:15:73;9836:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9836:30:107;;:::i;:::-;9800:67;;:::i;:::-;837:15:73;;9914:28:107;837:15:73;819:34;837:15;819:34;:::i;9914:28:107:-;9877:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21568:107;;;;;;6254:15;1252:21568;;;;;837:15:73;10004:41:107;837:15:73;6254:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;;6254:15;1252:21568;;;;;;;6254:33;10004:41;:::i;:::-;9953:93;;:::i;:::-;-1:-1:-1;;1252:21568:107;;;;;;;;;;;9253:10;;10062:62;;1252:21568;;10062:62;3426:1:30;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;;;;9474:123;1252:21568;;-1:-1:-1;;;9565:21:107;;;9478:64;5835:21;9496:31;5835:21;;;:::i;9496:31::-;1252:21568;;-1:-1:-1;9478:64:107;;9385:79;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;9432:21:107;;;9315:43;;;;;;-1:-1:-1;9315:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9164:::-;9280:6;9164:43;;;;;;;;;;;;;;;:::i;:::-;;;;;9012:118;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;9094:25:107;;;9016:55;-1:-1:-1;9060:10:107;1252:21568;;;;9037:22;1252:21568;;;;;;;;9036:35;9016:55;;8921:81;1252:21568;;-1:-1:-1;;;8972:19:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;4126:39:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;2255:34:108;1252:21568:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5305:48;1252:21568;;;:::i;:::-;5305:48;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;1329:40:108;;1252:21568:107;;4468:23:23;4464:108;;-1:-1:-1;19965:16:107;1252:21568;-1:-1:-1;;;;;1252:21568:107;;;;;;19965:37;;19961:87;;-1:-1:-1;;;;;;1252:21568:107;;;19965:16;1252:21568;;;;;;20109:38;;1252:21568;;20109:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;4464:108:23;1252:21568:107;;;;4514:47:23;;;;;;966:10:28;1252:21568:107;4514:47:23;;1252:21568:107;;;;;4514:47:23;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;16812:24;16808:74;;-1:-1:-1;;1252:21568:107;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;16931:25;;1252:21568;;16931:25;3426:1:30;;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;2718:59:108;1252:21568:107;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12652:19:107;;;:::i;:::-;12644:27;;12640:82;;12745:22;;;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;12843:19;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;;;;;1252:21568:107;;;12843:19;1252:21568;;;-1:-1:-1;;;12843:44:107;;;12881:4;12843:44;;;1252:21568;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;12881:4;1252:21568;;;;;;;;12843:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12843:44:107;;;1252:21568;;;12950:5;1252:21568;12971:57;1252:21568;;-1:-1:-1;1252:21568:107;;;;12950:5;;;:::i;:::-;1252:21568;-1:-1:-1;;;12971:57:107;;1252:21568;;;;;;;12992:10;;12971:57;;;:::i;:::-;;;;;;;;;1564:45:108;12971:57:107;-1:-1:-1;12971:57:107;;;1252:21568;12971:73;;12967:128;;1252:21568;;13109:44;;;12881:4;13109:44;;;1252:21568;;;;;;;;;13109:44;1252:21568;;;;;;13109:44;;;;;;;;;;:60;:44;-1:-1:-1;13109:44:107;;;:60;;;:::i;:::-;:67;13105:126;;-1:-1:-1;13245:16:107;1252:21568;-1:-1:-1;;;;;1252:21568:107;;;;13241:116;;1252:21568;3426:1:30;;;:::i;:::-;1252:21568:107;13374:4;1252:21568;;;;;13241:116;13342:3;;;:::i;:::-;13241:116;;;;;13105:126;1252:21568;;-1:-1:-1;;;13199:21:107;;;12967:128;1252:21568;;-1:-1:-1;;;13067:17:107;;1252:21568;;13067:17;12971:57;;;;;;;;;;;;;;:::i;:::-;;;;12843:44;-1:-1:-1;12843:44:107;;;;;;;12971:57;12843:44;;;12950:5;12843:44;;;;-1:-1:-1;12843:44:107;;;;;;:::i;:::-;;;;;;;;;;;;;12640:82;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;12694:17:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1041:36:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;4693:26;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1989:39:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1564:45:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1575:42;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;2423:32:108;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13573:7:107;1252:21568;13559:21;;-1:-1:-1;;;;;1252:21568:107;;;13559:21;:10;:21;13555:71;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;13707;;;;:::i;:::-;13747:17;;;;:53;;;1252:21568;13746:87;;;;1252:21568;13742:146;;1252:21568;5835:21;15752:48;5835:21;;;:::i;:::-;13982:17;13970:30;13982:17;;;:::i;:::-;1252:21568;;13970:11;1252:21568;;;;;;;13970:30;1252:21568;;14014:29;;;;;14084:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:21568:107;3060:42:68;;14194:17:107;;;14190:384;;14010:1615;;;;;;;15639:17;15635:102;;14010:1615;1252:21568;;;;;;;;;;;;;;;;;;;;;;;15752:48;3426:1:30;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;15635:102;-1:-1:-1;1252:21568:107;15712:13;;1252:21568;;15672:18;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;15672:18;13998:1;1252:21568;-1:-1:-1;;;;;1252:21568:107;15712:13;;:::i;:::-;15635:102;;14190:384;14487:29;14255:50;14404:65;14255:50;14440:28;14356:29;14255:50;14499:16;14255:50;14519:40;14255:50;;;:::i;:::-;14356:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14440:28:107;;:::i;14519:40::-;14499:16;;:::i;14487:29::-;1252:21568;14190:384;;;;;;;14010:1615;14627:26;;;;1252:21568;;13970:11;1252:21568;;;;;;;14627:26;1252:21568;14692:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:21568:107;3060:42:68;;14817:17:107;;14813:802;;14010:1615;;;;;;;;14813:802;15538:26;14878:50;;14979:53;14878:50;15079:54;14878:50;15079:29;14878:50;15567:33;14878:50;;;;:::i;:::-;14979:53;;;;;;:::i;:::-;15079:29;;;;:::i;:::-;:54;:::i;:::-;15156:33;;;;15152:194;;14813:802;15364:65;837:15:73;15400:28:107;15480:40;837:15:73;;;819:34;837:15;819:34;:::i;15480:40:107:-;15447:30;15459:17;;;:::i;15447:30::-;1252:21568;15567:33;:::i;:::-;15538:26;1252:21568;;13970:11;1252:21568;;;;;;;15538:26;1252:21568;14813:802;;;;;;;15152:194;15239:33;15213:59;15364:65;15239:33;;;15480:40;15239:33;;;:::i;:::-;15213:59;;:::i;:::-;15294:33;;-1:-1:-1;15294:33:107;;-1:-1:-1;15152:194:107;;13742:146;1252:21568;;-1:-1:-1;;;13856:21:107;;1252:21568;;13856:21;13746:87;13805:28;;;;13746:87;;13747:53;13783:17;;;;:::i;:::-;13768:32;;13747:53;;13555:71;1252:21568;;-1:-1:-1;;;13603:12:107;;1252:21568;;13603:12;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;5140:1;1252:21568;;;;;;;5112:30;1252:21568;5112:30;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;4027:43:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4538:25;819:34:73;837:15;819:34;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21568:107;2594:68:108;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11942:14;1252:21568;;11942:14;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3932:39:108;1252:21568:107;;;;;;;;;;;;;;;5663:47;1252:21568;;;:::i;:::-;5663:47;;:::i;1252:21568::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20294:22:107;1252:21568;;;;;20290:89;;1252:21568;;-1:-1:-1;;;20394:49:107;;-1:-1:-1;;;;;1252:21568:107;;;20394:49;;;1252:21568;;;;;;;;;;;;;;;20394:49;20404:17;;;1252:21568;20394:49;;;;;;;-1:-1:-1;20394:49:107;;;1252:21568;20393:50;;20389:102;;1252:21568;;-1:-1:-1;;;20505:34:107;;1252:21568;;;;;20505:34;1252:21568;20505:34;1252:21568;;20505:34;;;;;;;-1:-1:-1;20505:34:107;;;1252:21568;20551:4;;;1252:21568;;20505:51;20501:107;;-1:-1:-1;20294:22:107;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;;-1:-1:-1;;;;;;1252:21568:107;;;;;;;-1:-1:-1;;;1252:21568:107;;;20696:24;-1:-1:-1;;20696:24:107;3426:1:30;;:::i;20501:107:107:-;1252:21568;;-1:-1:-1;;;20579:18:107;;;20505:34;;;;;;;-1:-1:-1;20505:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20389:102;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;20466:14:107;;;20394:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;20290:89;1252:21568;;-1:-1:-1;;;20339:29:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;3202:4:23;;:::i;:::-;17534:1:107;17503:32;;17499:106;;1252:21568;;;17619:29;1252:21568;;;;;;;;;;17619:34;;;:87;;;;1252:21568;17615:854;;;1252:21568;18483:21;1252:21568;;;;;;;;;18483:38;;;18479:101;;17619:29;1252:21568;18594:34;;1252:21568;;;;;;;;;18594:34;;17619:29;;18644:25;;19389:32;18644:25;19389:32;18644:25;;;17652:1;18286:25;1252:21568;;18644:25;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;-1:-1:-1;18233:39:107;1252:21568;18773:43;18936:39;1252:21568;18483:21;1252:21568;;;;;18936:39;;18932:442;;18590:332;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;19389:32;;;;3426:1:30;;:::i;18932:442:107:-;19137:142;19185:94;19186:81;19293:70;837:15:73;18991:76:107;19015:52;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;19032:35;1252:21568;19015:52;;:::i;:::-;18991:76;1252:21568;;18991:76;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;-1:-1:-1;;;1252:21568:107;;;;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4693:26:107:-;1252:21568;19208:59;19032:35;1252:21568;19208:59;1252:21568;18483:21;1252:21568;;;;;19208:59;;;:::i;:::-;1252:21568;;19186:81;:::i;:::-;19185:94;:::i;:::-;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;19137:142;19293:70;1252:21568;;19293:70;18932:442;;;;18590:332;18837:39;;;;;;18833:89;;19389:32;18590:332;19389:32;18590:332;;;18479:101;1252:21568;;-1:-1:-1;;;18544:25:107;;1252:21568;;18544:25;17615:854;18135:46;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;18025:33;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4693:26:107:-;1252:21568;17836:41;17860:17;1252:21568;17836:41;1252:21568;;17836:41;17891:49;1252:21568;17919:21;1252:21568;;;;;;;17619:29;1252:21568;;;;;;;;;;17619:29;1252:21568;;17891:49;17919:21;1252:21568;17954:57;;1252:21568;;;;;;;;17619:29;1252:21568;;;17619:29;1252:21568;;17954:57;17860:17;1252:21568;;18025:33;17619:29;1252:21568;18072:49;;1252:21568;;;;17919:21;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;;;;-1:-1:-1;;;;;;1252:21568:107;;;;;;;;18072:49;17919:21;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;18135:46;18195:77;18233:39;1252:21568;18195:77;1252:21568;;18195:77;18286:25;17652:1;18286:25;1252:21568;;18286:25;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;-1:-1:-1;18233:39:107;1252:21568;17615:854;;17619:87;837:15:73;;17657:49:107;819:34:73;837:15;819:34;:::i;17657:49:107:-;-1:-1:-1;17657:49:107;17619:87;;;17499:106;1252:21568;;-1:-1:-1;;;17558:36:107;;1252:21568;;17558:36;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1666:40;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;5835:21;;:::i;:::-;1252:21568;;;;6639:11;1252:21568;;;;;;;;;;;;;6680:1;1252:21568;;;;;;;;;6639:11;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3833:43:108;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3901:31:23;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;3901:31:23;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21568:107;6254:15;1252:21568;;;6254:33;1252:21568;-1:-1:-1;1252:21568:107;6254:33;:::i;1252:21568::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21568:107;;;;-1:-1:-1;1252:21568:107;477:31:86;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;477:31:86;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;477:31:86;1252:21568:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:21568:107;518:79:86;;1252:21568:107;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;900:35:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;16349:21;;16345:75;;-1:-1:-1;1252:21568:107;;;16434:22;1252:21568;;;;;;;;;;;;;16434:41;16430:91;;-1:-1:-1;;;;;1252:21568:107;;;;;9037:22;1252:21568;;;;;16587:44;;;;16531:40;;:31;1252:21568;;;;;;;;;;;;;;16531:40;1252:21568;;;;;;;;;;;;;;;16587:44;;;;3426:1:30;;:::i;16345:75:107:-;1252:21568;;-1:-1:-1;;;16393:16:107;;1252:21568;;16393:16;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;2953:94:108;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;2953:94:108;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;2953:94:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3103:92:108;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;3103:92:108;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4396:31:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20863:20:107;1252:21568;;;;;20859:85;;-1:-1:-1;;;;;1252:21568:107;;;;;;20954:312;;1252:21568;20863:20;1252:21568;;-1:-1:-1;;;;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;21276:27;21319:20;-1:-1:-1;21319:20:107;;3426:1:30;;:::i;20954:312:107:-;1252:21568;;-1:-1:-1;;;21001:45:107;;-1:-1:-1;;;;;1252:21568:107;;21001:45;;;1252:21568;;;21001:45;;1252:21568;;;;;;21001:45;21011:15;;;1252:21568;21001:45;;;;;;;-1:-1:-1;21001:45:107;;;20954:312;21000:46;;20996:104;;1252:21568;;-1:-1:-1;;;21118:30:107;;;1252:21568;21118:30;1252:21568;21118:30;;;;;;;;-1:-1:-1;21118:30:107;;;20954:312;21160:4;;;1252:21568;;21118:47;21114:109;;-1:-1:-1;20863:20:107;1252:21568;;-1:-1:-1;;;;;;1252:21568:107;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;20954:312;;;;;;21114:109;1252:21568;;-1:-1:-1;;;21192:16:107;;;21118:30;;;;;;;-1:-1:-1;21118:30:107;;;;;;:::i;:::-;;;;;;20996:104;1252:21568;;-1:-1:-1;;;21073:12:107;;1252:21568;;21073:12;21001:45;;;;;;;;;;;;;;:::i;:::-;;;;20859:85;1252:21568;;-1:-1:-1;;;20906:27:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;11563:23;;11559:79;;11724:6;1252:21568;11657:13;;;;:::i;:::-;1252:21568;;;-1:-1:-1;1252:21568:107;;;;11724:6;:::i;:::-;1252:21568;;;;;;;;;;;;11753:10;;11747:43;;1252:21568;11747:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;11559:79;1252:21568;;-1:-1:-1;;;11609:18:107;;1252:21568;;11609:18;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;2833:64:108;1252:21568:107;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;2345:22:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1183:36:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3543:54:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;5835:21;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;900:35:108;;1252:21568:107;;4468:23:23;4464:108;;1252:21568:107;;;;17134:21;17130:71;;1252:21568;;17247:22;1252:21568;;;;;;;;17247:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;5479:22;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;8043:24;;;:::i;:::-;8070:29;;;;;:::i;:::-;1252:21568;;;;;;;8124:1;1252:21568;;;;;;;8102:33;;;:::i;:::-;1252:21568;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;2175:24:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3741:36:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;5767:26:23;1252:21568:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;3202:4:23;4919:24;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;1183:36:108;;1252:21568:107;;4468:23:23;4464:108;;1252:21568:107;;19608:12;1252:21568;19608:29;19604:79;;1252:21568;;19736:30;1252:21568;19608:12;1252:21568;;;;;;19736:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;466:39:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4221:36:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4313:27:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1466:3:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;:::i;:::-;6861:48;;1252:21568;;;;;;;:::i;:::-;;;;;;;;;;;;;;6923:16;;6919:111;;1252:21568;;7122:39;1057:70:95;7122:39:107;;5305:48;7085:77;7122:39;;;;7085:77;;:::i;:::-;7201:36;;5663:47;1252:21568;7201:36;;;5663:47;;:::i;:::-;7278:37;;;5305:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;6919:111;6978:41;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5305:48;1252:21568;7085:77;1252:21568;1057:70:95;1252:21568:107;;;:::i;:::-;;;;;6919:111;;;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;10341:21;10337:75;;10426:11;;10422:73;;845:69:95;5479:22:107;;:::i;:::-;5835:21;;:::i;:::-;845:69:95;;;:::i;:::-;10631:10:107;1252:21568;;;;6254:15;1252:21568;;;;;10631:10;;;6254:33;;;:::i;:::-;10601:41;;10597:96;;10718:40;;;;;:::i;10597:96::-;1252:21568;;-1:-1:-1;;;10665:17:107;;1252:21568;;10665:17;10422:73;1252:21568;;-1:-1:-1;;;10460:24:107;;1252:21568;;10460:24;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;3437:50:108;1252:21568:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5911:193::-;-1:-1:-1;;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;6038:15;1252:21568;;;;;6038:59;;5911:193;;6038:59;:::i;2573:269::-;1252:21568;;2645:29;1252:21568;;;;2645:34;;;:86;;;;2573:269;2641:149;;2799:36;2573:269;:::o;2641:149::-;1252:21568;;2754:25;1252:21568;;;;2747:32;:::o;2645:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2683:48;2645:86;;1252:21568;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13998:1;1252:21568;;;;;;;:::o;:::-;;;;;;;;;;:::o;2268:257::-;2336:29;1252:21568;;;;;;;;2336:34;;:86;;;;;2268:257;2332:145;;;1252:21568;;;2268:257;:::o;2332:145::-;1252:21568;;2445:21;1252:21568;;;2438:28;:::o;2336:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2374:48;2336:86;;;7381:191;-1:-1:-1;;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:::-;5835:21;;:::i;:::-;5479:22;;:::i;:::-;1252:21568;1884:1:95;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;1252:21568:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;:::o;8203:218::-;8316:10;1252:21568;;;-1:-1:-1;;;;;1252:21568:107;;;;;8343:20;;1252:21568;;8366:44;1252:21568;;;;;;;;;;;8366:44;;8404:4;8366:44;;;1252:21568;8366:44;;;;;;;8316:10;8366:44;;;8343:71;8203:218;:::o;8366:44::-;;;;;;;;;;;;;;:::i;8343:71::-;;8316:10;8203:218;:::o;1252:21568::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2890:760::-;2995:25;1252:21568;;;;;;;;;;;;;2983:37;;;;;;1252:21568;;3040:29;1252:21568;;;;;3040:34;;;;:79;;;;;2979:665;3036:143;;;;3199:95;1252:21568;3199:95;1252:21568;3224:41;3223:71;1252:21568;3199:21;1252:21568;3224:41;;:::i;:::-;1252:21568;;;;3223:71;;:::i;3036:143::-;1252:21568;;-1:-1:-1;;;3146:18:107;;;;;3040:79;3078:41;;-1:-1:-1;3040:79:107;;;;2979:665;1252:21568;;3315:29;1252:21568;;;;;;;3315:34;;;;:79;;;;;2979:665;-1:-1:-1;;3311:333:107;;;1252:21568;;3417:83;1252:21568;;3417:83;1252:21568;3438:37;3437:63;1252:21568;3417:17;1252:21568;3438:37;;:::i;:::-;1252:21568;;;3437:63;;:::i;3311:333::-;3538:95;1252:21568;;3562:71;1252:21568;;3563:41;3538:95;1252:21568;3538:21;1252:21568;3563:41;;:::i;:::-;1252:21568;;;;3562:71;;:::i;3315:79::-;3353:41;;-1:-1:-1;3315:79:107;;;;3361:103:30;;;;:::i;:::-;1252:21568:107;;-1:-1:-1;;;;;1252:21568:107;;;11972:23;;11968:79;;12101:11;;12097:70;;1252:21568;12193:10;;;;;;-1:-1:-1;1252:21568:107;;12338:49;;1252:21568;;;;12315:6;;1252:21568;;12272:18;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;12272:18;12315:6;:::i;:::-;12338:49;1252:21568;;12349:10;;;;12338:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12205:3:107:-;12241:9;12224:27;1252:21568;12241:9;12234:17;12241:9;;;;;:::i;:::-;1252:21568;12234:17;:::i;12224:27::-;12205:3;1252:21568;12182:9;;12097:70;1252:21568;;-1:-1:-1;;;12135:21:107;;;;;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3698:721::-;3798:21;1252:21568;3790:29;;;3786:81;;3889:17;1252:21568;3881:25;;;;;;1252:21568;3946:91;1252:21568;3945:104;1252:21568;3978:59;3979:29;3946;1252:21568;;;3979:29;;:::i;:::-;1252:21568;;;;;3978:59;;:::i;3877:536::-;1252:21568;;4070:21;1252:21568;4070:26;;:59;;;;3877:536;4066:347;;;1252:21568;4152:92;1252:21568;;4181:51;4182:25;4153:79;1252:21568;4153:25;1252:21568;4182:25;;:::i;:::-;1252:21568;;;4181:51;;:::i;:::-;1252:21568;;;;4153:79;:::i;4066:347::-;4299:91;1252:21568;;4298:104;1252:21568;4331:59;4332:29;4299;1252:21568;;;4332:29;;:::i;:::-;1252:21568;;;;;4331:59;;:::i;:::-;1252:21568;;;;4299:91;:::i;4070:59::-;4100:29;;;;4070:59;;3786:81;1252:21568;;-1:-1:-1;;;3842:14:107;;;;;1918:302;1252:21568;;2003:29;1252:21568;;;;2003:34;;:86;;;;;1918:302;1999:159;;;;2174:39;1252:21568;1918:302;:::o;1999:159::-;2112:35;1252:21568;2105:42;:::o;2003:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2041:48;2003:86;;;;8482:228;8583:10;1252:21568;;;-1:-1:-1;;;;;1252:21568:107;;;;;8574:19;8570:75;;8674:12;1252:21568;8661:42;;;:::i;8570:75::-;1252:21568;;-1:-1:-1;;;8616:18:107;;;;;7620:227;;7760:34;7620:227;1252:21568;-1:-1:-1;1252:21568:107;7760:18;1252:21568;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;7760:34;1252:21568;;-1:-1:-1;1252:21568:107;7796:11;1252:21568;;;-1:-1:-1;1252:21568:107;;7816:16;1252:21568;;;-1:-1:-1;1252:21568:107;;;1884:1:95;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:21568:107;;3670:20:30;3666:88;;1991:1;1252:21568:107;;3470:384:30:o;3666:88::-;1252:21568:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21568:107;3860:283:30:o;21352:960:107:-;21531:10;1252:21568;;;;6254:15;1252:21568;;;;;;21352:960;;;819:34:73;837:15;819:34;:::i;:::-;21531:10:107;1252:21568;;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:::-;1252:21568;;;;;;;;;21515:93;22231:74;21515:93;;;22056:30;21515:93;;:::i;:::-;837:15:73;;21618:67:107;819:34:73;837:15;819:34;:::i;:::-;21655:29:107;5479:22;;;:::i;21618:67::-;837:15:73;;21695:68:107;819:34:73;837:15;819:34;:::i;:::-;21731:31:107;5835:21;;;:::i;21695:68::-;837:15:73;;22165:34:107;837:15:73;22165:25:107;21790:18;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;21790:18;:::i;:::-;22122:33;21841:18;;1252:21568;;13970:11;1252:21568;;;;;;;21841:18;1252:21568;21898:23;;1252:21568;;21898:16;1252:21568;;;;;;;21898:23;1252:21568;390:70:95;;;;;:::i;:::-;22056:30:107;;;;;;:::i;:::-;22035:18;;1252:21568;;13970:11;1252:21568;;;;;;;22035:18;1252:21568;22122:33;:::i;:::-;22096:23;;1252:21568;;21898:16;1252:21568;;;;;;;22096:23;1252:21568;;;22165:18;1252:21568;;;;;;;22165:25;1252:21568;;;;;;;;;;;;;;;;22165:34;:50;1252:21568;;;22165:50;:::i;:::-;1252:21568;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;21531:10;;1252:21568;;22231:74;21352:960::o;1252:21568::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21568: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:21568:107;8075:24:94;:::o;7975:84::-;1252:21568:107;;;8009:16:94;5305:13:107;1252:21568;8009:16:94;:::i;:::-;1252:21568: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:21568:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21568:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21568:107;;;8009:16:94;5663:12:107;1252:21568;8009:16:94;:::i;:::-;1252:21568: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:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21568: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:21568:107;8075:24:94;:::o;7975:84::-;1252:21568:107;;;8009:16:94;1252:21568:107;;8009:16:94;:::i;:::-;1252:21568: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:21568:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;466:39:108;;1252:21568:107;;3901:31:23;1252:21568:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;757:38:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;1041:36:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;612:37:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;-1:-1:-1;1252:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;966:10:28;1252:21568:107;;;;;;;;;3901:31:23;1252:21568:107;7270:387:23;-1:-1:-1;1252:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;7509:4:23;1252:21568:107;;;966:10:28;;-1:-1:-1;;;;;1252:21568: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:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;966:10:28;;-1:-1:-1;;;;;1252:21568:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21568:107;8209:11:23;:::o;1670:188:55:-;1252:21568:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:21568:107;;;1797:53:55;;;1252:21568:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:21568:107;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;1797:53:55;1252:21568:107;;;1797:53:55;:::i;1252:21568:107:-;7178:12:94;1252:21568:107;;;;;;7178:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;-1:-1:-1;1252:21568:107;:::o;:::-;7178:12:94;1252:21568:107;;;;;;7178:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;-1:-1:-1;1252:21568:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:21568:107;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;:::o;:::-;6360:12:94;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;;;;;;;6360:12:94;1252:21568:107;;;;;;6360:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;:::o;:::-;6360:12:94;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;;;;;;;6360:12:94;1252:21568:107;;;;;;6360:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;6798:25:94;1252:21568:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;6356:75:94;;;6246:584;;;;6360:12;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;6798:25:94;1252:21568:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21568:107;;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;6360:12:94;1252:21568:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:21568:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:21568:107;;;1380:43:55;;;1252:21568:107;;;;;;;;;1380:43:55;;;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;1380:43:55;1252:21568:107;;;1380:43:55;:::i;1252:21568:107:-;;;;;;;:::o;4996:4226:68:-;;1252:21568:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:108;6270:20:68;;;;;6266:143;;1252:21568:107;6695:300:68;;;;;;;;1252:21568:107;;6695:300:68;;7259:375;;7700:21;1252:21568:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1252:21568:107;;1466:3:108;1252:21568:107;;;6119:26:68;:::o;4996:4226::-;;1252:21568:107;;;;-1:-1:-1;;1252:21568: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:21568:107;;8075:1:68;1252:21568:107;8074:21:68;1252:21568:107;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:21568:107;6695:300:68;;7259:375;7700:21;1252:21568:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:21568:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;22318:460:107:-;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;22411:23;;;22407:75;;1252:21568;22496:39;:27;;1252:21568;;22496:20;1252:21568;;;;;;;22496:27;22524:10;1252:21568;;;;;;;;;;;;;;22496:39;1252:21568;;22492:93;;22604:32;22524:10;22604:32;;:::i;:::-;22651:11;;;22647:68;;22725:39;22524:10;22725:27;22524:10;22725:27;1252:21568;;22496:20;1252:21568;;;;;;;22725:39;1252:21568;;-1:-1:-1;;1252:21568:107;22767:4;1252:21568;;;22318:460::o;22647:68::-;1252:21568;;-1:-1:-1;;;22685:19:107;;;;;22492:93;1252:21568;;-1:-1:-1;;;22558:16:107;;;;;14296:213:69;1252:21568:107;14374:24:69;;;;14370:103;;1252:21568:107;14296:213:69;:::o;14370:103::-;1252:21568:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:21568:107;;;;;14421:41:69;10580:184:94;5835:12:107;1252:21568;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;1252:21568:107;;;;;;10736:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;5835:12;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;10580:184:94;5479:13:107;1252:21568;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;1252:21568:107;;;;;;10736:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;5479:13;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;10580:184:94;1252:21568:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:21568:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5305:13:107;1252:21568;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:21568:107;;7168:7:94;1252:21568:107;;7178:17:94;1252:21568:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5305:13:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;1252:21568:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21568:107;;;;;;;10049:53:71;14439:109;5305:13:107;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5663:12:107;1252:21568;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:21568:107;;7168:7:94;1252:21568:107;;7178:17:94;1252:21568:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5663:12:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21568:107;;;;;;;10049:53:71;14439:109;5663:12:107;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:21568: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:21568:107;;7168:7:94;1252:21568: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:21568:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21568:107;;;;;;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;:::o;11486:272:94:-;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;5305:13;1252:21568;;;;;;5305:13;-1:-1:-1;1252:21568:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21568:107;;;;;;11718:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:21568:107;11486:272:94;:::o;:::-;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;5663:12;1252:21568;;;;;;5663:12;-1:-1:-1;1252:21568:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21568:107;;;;;;11718:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;:::i;11486:272:94:-;;1252:21568:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:21568:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:21568: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:21568:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21568:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:21568:107;;;8401:40:55;;;1252:21568:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:21568:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:21568:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5835:12:107;1252:21568;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;5835:12;10833:17:71;14439:109;;;1252:21568:107;11014:1:71;;1252:21568:107;;;;;;;11030:37:71:o;10695:389::-;5479:13:107;1252:21568;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;5479:13;10833:17:71;14439:109;;;1252:21568:107;11014:1:71;;1252:21568:107;;;;;;;11030:37:71:o;10695:389::-;1252:21568:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:21568:107;11014:1:71;1252:21568:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:21568:107;5835:12;1252:21568;;-1:-1:-1;;;1252:21568:107;;;;;;;;;5835:12;1252:21568;;;;;;5835:12;-1:-1:-1;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;:::o;:::-;5479:13;1252:21568;;-1:-1:-1;;;1252:21568:107;;;;;;;;;5479:13;1252:21568;;;;;;5479:13;-1:-1:-1;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5835:12:107;1252:21568;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21568:107;;;;;;;;;;;;;;;;;12285:19:71;1252:21568:107;;12423:25:71;;:::o;12247:163::-;1252:21568:107;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:21568:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:21568:107;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5479:13:107;1252:21568;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21568:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21568:107;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;11860:713::-;1252:21568:107;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568:107;12343:52:71;:::i;11657:922::-;1252:21568:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21568:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21568:107;;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;11860:713::-;1252:21568:107;;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568: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:21568:107;18246:1:68;1252:21568:107;22284:6:68;;;;:::i;:::-;1252:21568: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:21568:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:21568:107;19887:61:68;;19787:87;1252:21568:107;;;;;19787:87:68;;;19687;1252:21568:107;;;;;19687:87:68;;;19585:89;1252:21568:107;;;;;19585:89:68;;;19482:90;1252:21568:107;;;;;19482:90:68;;;19379;1252:21568:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;5305:13;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;5663:12;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"69978":[{"start":5208,"length":32},{"start":6474,"length":32}],"69981":[{"start":7712,"length":32},{"start":9000,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelay()":"c642b050","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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","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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\"}],\"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\":\"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\":\"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\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[{\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"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\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"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)\":{\"params\":{\"epochDuration\":\"epoch duration\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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)\":{\"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.\"},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"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.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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.\"},\"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\":\"0xf55bdd6974494ad6084ad2774f23a551919e7cb54feaffed15fddedbe5f2ae8d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8b95c0b7a9393affd7dfc838709d9016e631fc6db85f77751924dcf73986bda8\",\"dweb:/ipfs/QmP7gxopAzjMNYN7yLVFccGpUE9vNovKtmBRaszJjECRBn\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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}],"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":"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":"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":"nonpayable","type":"function","name":"_Vault_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[{"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","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":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","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":"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"}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"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."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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."},"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":"0xf55bdd6974494ad6084ad2774f23a551919e7cb54feaffed15fddedbe5f2ae8d","urls":["bzz-raw://8b95c0b7a9393affd7dfc838709d9016e631fc6db85f77751924dcf73986bda8","dweb:/ipfs/QmP7gxopAzjMNYN7yLVFccGpUE9vNovKtmBRaszJjECRBn"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"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 49b25c0..e87b9f9 100644 --- a/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json +++ b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json @@ -1 +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":"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":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"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":"0x60a034606d57601f611cd238819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611c4c908161008682396080518181816106e901526116300152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220182be4b130e2c59338ca1c7393d4309221d05537ebe2b3971b0b1bc3e61b690064736f6c63430008190033","sourceMap":"978:3799:115:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;;1324:40;;978:3799;;;;;;;;1324:40;978:3799;;;;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;-1:-1:-1;978:3799:115;;;;;-1:-1:-1;978:3799:115","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220182be4b130e2c59338ca1c7393d4309221d05537ebe2b3971b0b1bc3e61b690064736f6c63430008190033","sourceMap":"978:3799:115:-:0;;;;;;2603:64:51;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;978:3799:115;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::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:3799:115;;;;;;;;-1:-1:-1;;978:3799:115;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;-1:-1:-1;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3799:115;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;978:3799:115;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;978:3799:115;;;;;;;;;;;;;;;;11334:29:27;978:3799:115;;;;;;11415:31:27;978:3799:115;966:10:28;11415:31:27;;978:3799:115;;;10117:4:27;978:3799:115;;;11235:90:27;978:3799:115;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;978:3799:115;;;11283:31:27;11137:89;978:3799:115;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;978:3799:115;;;11183:32:27;978:3799:115;;;;;;-1:-1:-1;;978:3799:115;;;;;3653:32:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;757:38:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;1732:13;978:3799;10446:8:73;;;:63;978:3799:115;10446:63:73;-1:-1:-1;;;;;978:3799:115;;10726:7:99;978:3799:115;;10736:17:99;978:3799:115;10736:17:99;;:::i;:::-;978:3799:115;;;;;;10726:31:99;978:3799:115;;;;;;10726:31:99;;978:3799:115;;10726:31:99;;10446:63:73;978:3799:115;;;;;;;;1732:13;978:3799;14439:109:73;;;978:3799:115;;;10446:63:73;;978:3799:115;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;;612:37:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;2084:35:113;978:3799:115;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;3016:48:115;2951:156;2975:90;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:115;3016:48;;;-1:-1:-1;;;;;978:3799:115;;;;3016:48;;;978:3799;;;;;;;;;;;;;;;;3016:48;;978:3799;;3016:48;;;;;;:::i;:::-;2975:19;:90;:::i;:::-;978:3799;;;;2951:156;;;;;;:::i;:::-;978:3799;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;3132:10;3123:40;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;978:3799:115;;11910:37:27;;;11906:310;;978:3799:115;6198:5:27;;;;:::i;:::-;978:3799:115;;4867:13:27;978:3799:115;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3799:115;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;978:3799:115;6198:5:27;978:3799:115;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;978:3799:115;11906:310:27;;11963:130;978:3799:115;;-1:-1:-1;;;12018:60:27;;966:10:28;978:3799:115;12018:60:27;;978:3799:115;;;;;;;;;;;;;;;12018:60:27;978:3799:115;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;-1:-1:-1;;;1535:37:115;;978:3799;1535:37;;978:3799;;;;;;;;-1:-1:-1;;;;;978:3799:115;1535:37;;;;;;978:3799;1535:37;978:3799;1535:37;;;978:3799;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3799;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1329:40:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3799:115;2236:52;;;-1:-1:-1;;;;;978:3799:115;;;2236:52;;;978:3799;;;;;;;;;2171:160;;2195:94;;2236:52;978:3799;;;;2236:52;978:3799;2171:160;978:3799;;;;;;;-1:-1:-1;;;;;978:3799:115;;-1:-1:-1;;;;;;;;;;;;;2347:46:115;978:3799;;2347:46;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;4126:39:113;978:3799:115;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;2255:34:113;978:3799:115;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;-1:-1:-1;978:3799:115;2718:59:113;978:3799:115;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;978:3799:115;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:115;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1041:36:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;1989:39:113;978:3799:115;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1564:45:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;2423:32:113;978:3799:115;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;;;;;978:3799:115;;:::i;:::-;;-1:-1:-1;978:3799:115;1941:15;978:3799;;;1941:33;978:3799;-1:-1:-1;978:3799:115;1941:33;:::i;978:3799::-;;;;;;-1:-1:-1;;978:3799:115;;;;;;4027:43:113;978:3799:115;;;;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;4867:13:27;978:3799:115;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:115;;;;-1:-1:-1;;;;;978:3799:115;;:::i;:::-;;-1:-1:-1;978:3799:115;2594:68:113;978:3799:115;;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;3932:39:113;978:3799:115;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;3833:43:113;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:115;;;;;;;-1:-1:-1;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;978:3799:115;;;;;;;;;;477:31:88;;978:3799:115;;;;;;;;;;;:::i;477:31:88:-;518:79;;;978:3799:115;518:79:88;;978:3799:115;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;900:35:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;2953:94:113;978:3799:115;;:::i;:::-;;;-1:-1:-1;978:3799:115;2953:94:113;978:3799:115;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;2953:94:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;3103:92:113;978:3799:115;;:::i;:::-;;;-1:-1:-1;978:3799:115;3103:92:113;978:3799:115;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;;;;3103:92:113;978:3799:115;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;4396:31:113;978:3799:115;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;4616:5:27;978:3799:115;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;978:3799:115;;;4639:4:27;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;-1:-1:-1;978:3799:115;2833:64:113;978:3799:115;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;2345:22:113;978:3799:115;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1183:36:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;3543:54:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;2175:24:113;978:3799:115;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;3741:36:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:115;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;466:39:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;4867:29:27;978:3799:115;;:::i;:::-;4867:20:27;978:3799:115;;:::i;:::-;4867:20:27;;:::i;978:3799:115:-;;;;;;-1:-1:-1;;978:3799:115;;;;;4221:36:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;4313:27:113;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;1466:3:113;978:3799:115;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;2560:158;2584:92;2625:50;;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:115;2625:50;;;-1:-1:-1;;;;;978:3799:115;;;;2625:50;;;978:3799;;;;;;;;;;;;;;;;;2560:158;978:3799;-1:-1:-1;978:3799:115;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;2743:10;2734:46;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;3437:50:113;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3799:115;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3799:115;;;;:::o;:::-;;;:::o;:::-;10736:12:99;978:3799:115;;;;;;10736:12:99;-1:-1:-1;978:3799:115;;;;-1:-1:-1;978:3799:115;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:115;;-1:-1:-1;978:3799:115;;;-1:-1:-1;978:3799:115;:::o;10580:184:99:-;978:3799:115;;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;978:3799:115;;10726:7:99;978:3799:115;;10736:12:99;:17;:12;;:17;:::i;:::-;978:3799:115;;;;;;10580:184:99;:::o;10726:31::-;;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;978:3799:115;;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;;-1:-1:-1;14439:109:73;;;978:3799:115;;;10446:63:73;;3900:253:57;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;6605:300:27:-;;-1:-1:-1;;;;;978:3799:115;;;;;6688:18:27;;6684:86;;978:3799:115;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;978:3799:115;;;;;;1941:15;978:3799;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3599:19;;;;3595:115;;4451:25;3830:21;:65;-1:-1:-1;;;;;;;;;;;3830:21:115;;;4346:65;3830:21;978:3799;;;;;;;;1941:15;978:3799;;;;;;;3830:21;837:15:75;;819:34;837:15;819:34;:::i;:::-;978:3799:115;;3830:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3799:115;;;;;;1941:15;978:3799;;;;;837:15:75;;1941:33:115;:24;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3799:115;;;;;;;1941:15;978:3799;;;;;;;1941:33;978:3799;4346:65;;:::i;:::-;-1:-1:-1;;978:3799:115;;;;;;;;;;;;;4451:25;;;;6605:300:27:o;3595:115:115:-;978:3799;;-1:-1:-1;;;3645:50:115;;-1:-1:-1;;;;;978:3799:115;;;;3645:50;;;978:3799;;;;;;;;;;;;;;;;12018:60:27;6779:86;978:3799:115;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;978:3799:115;;;6822:32:27;6684:86;978:3799:115;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;978:3799:115;;;6729:30:27;2323:83:51;1019:819;;;;;;;4615:19:115;;1019:819:51;;;;;;;;;;;;;;;;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;:::o;4421:582:57:-;;4593:8;;-1:-1:-1;978:3799:115;;5674:21:57;:17;;5799:158;;;;;;5670:354;978:3799:115;;-1:-1:-1;;;5994:19:57;;;;;4589:408;978:3799:115;;4841:22:57;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3799:115;;-1:-1:-1;;;4917:24:57;;-1:-1:-1;;;;;978:3799:115;;;4917:24:57;;;978:3799:115;;;4917:24:57;4841:49;4867:18;;;:23;4841:49;;7084:141:26;978:3799:115;8837:64:26;978:3799:115;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;978:3799:115;;-1:-1:-1;;;7191:17:26;;;;;978:3799:115;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:115;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:115;;;;;;;;;-1:-1:-1;978:3799:115;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3799:115;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:99:-;;;;;6360:12;;;978:3799:115;;;6360:24:99;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3799:115;;;;;;6578:12:99;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:99;;;-1:-1:-1;;;;;978:3799:115;;;;;;;6644:21:99;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3799:115;;8310:38:73;;-1:-1:-1;;;;;978:3799:115;;;;;8310:38:73;:::i;:::-;6753:24:99;;;:::i;6604:::-;978:3799:115;;;;;;6614:14:99;;-1:-1:-1;6604:24:99;;;6356:75;-1:-1:-1;;;978:3799:115;;;;;;6360:12:99;978:3799:115;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:99;;;14296:213:71;978:3799:115;14374:24:71;;;;14370:103;;978:3799:115;14296:213:71;:::o;14370:103::-;978:3799:115;;;;14421:41:71;;;;;;14452:2;14421:41;;;978:3799:115;;;;;14421:41:71;10695:389:73;978:3799:115;;10871:8:73;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3799:115;;;;;;;;;;10833:17:73;14439:109;;10833:17;14439:109;;;978:3799:115;11014:1:73;978:3799:115;;;;;;;11030:37:73;:::o;978:3799:115:-;;;-1:-1:-1;;;978:3799:115;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3799:115;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;978:3799:115;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3799:115;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;978:3799:115;;;;;;;;;;;;;;;;;12285:19:73;978:3799:115;;12423:25:73;;:::o;12247:163::-;978:3799:115;;;12343:52:73;978:3799:115;12353:41:73;978:3799:115;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;978:3799:115;;12353:41:73;;;978:3799:115;12343:52:73;:::i;:::-;12247:163;;12099:89;978:3799:115;;-1:-1:-1;;;12143:30:73;;;;;11860:713;978:3799:115;;12479:52:73;978:3799:115;12489:41:73;978:3799:115;;:::i;12489:41:73:-;-1:-1:-1;;;;;978:3799:115;;12489:41:73;;;978:3799:115;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"74657":[{"start":1769,"length":32},{"start":5680,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(string,string)":"602bd8e7","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[],\"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\":[],\"name\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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.\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[],"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":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":115} \ No newline at end of file +{"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":"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":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"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":"0x60a034606d57601f611cd238819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611c4c908161008682396080518181816106e901526116300152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e67226e24545d50f54ac86049d1cffc4e995c07f0661e98a25a820abd658adf764736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;1324:40;;978:3799;;;;;;;;1324:40;978:3799;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;978:3799:110","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e67226e24545d50f54ac86049d1cffc4e995c07f0661e98a25a820abd658adf764736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;2603:64:50;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;978:3799: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;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;978:3799:110;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;978:3799:110;;;;;;;;;;;;;;;;11334:29:27;978:3799:110;;;;;;11415:31:27;978:3799:110;966:10:28;11415:31:27;;978:3799:110;;;10117:4:27;978:3799:110;;;11235:90:27;978:3799:110;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;978:3799:110;;;11283:31:27;11137:89;978:3799:110;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;978:3799:110;;;11183:32:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;3653:32:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;757:38:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;1732:13;978:3799;10446:8:71;;;:63;978:3799:110;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:17:94;978:3799:110;10736:17:94;;:::i;:::-;978:3799:110;;;;;;10726:31:94;978:3799:110;;;;;;10726:31:94;;978:3799:110;;10726:31:94;;10446:63:71;978:3799:110;;;;;;;;1732:13;978:3799;14439:109:71;;;978:3799:110;;;10446:63:71;;978:3799:110;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;612:37:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2084:35:108;978:3799:110;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;3016:48:110;2951:156;2975:90;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;3016:48;;;-1:-1:-1;;;;;978:3799:110;;;;3016:48;;;978:3799;;;;;;;;;;;;;;;;3016:48;;978:3799;;3016:48;;;;;;:::i;:::-;2975:19;:90;:::i;:::-;978:3799;;;;2951:156;;;;;;:::i;:::-;978:3799;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;3132:10;3123:40;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;978:3799:110;;11910:37:27;;;11906:310;;978:3799:110;6198:5:27;;;;:::i;:::-;978:3799:110;;4867:13:27;978:3799:110;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3799:110;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;978:3799:110;6198:5:27;978:3799:110;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;978:3799:110;11906:310:27;;11963:130;978:3799:110;;-1:-1:-1;;;12018:60:27;;966:10:28;978:3799:110;12018:60:27;;978:3799:110;;;;;;;;;;;;;;;12018:60:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;1535:37:110;;978:3799;1535:37;;978:3799;;;;;;;;-1:-1:-1;;;;;978:3799:110;1535:37;;;;;;978:3799;1535:37;978:3799;1535:37;;;978:3799;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3799;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1329:40:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2236:52;;;-1:-1:-1;;;;;978:3799:110;;;2236:52;;;978:3799;;;;;;;;;2171:160;;2195:94;;2236:52;978:3799;;;;2236:52;978:3799;2171:160;978:3799;;;;;;;-1:-1:-1;;;;;978:3799:110;;-1:-1:-1;;;;;;;;;;;;;2347:46:110;978:3799;;2347:46;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;4126:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2255:34:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2718:59:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1041:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;1989:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1564:45:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2423:32:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;1941:15;978:3799;;;1941:33;978:3799;-1:-1:-1;978:3799:110;1941:33;:::i;978:3799::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;4027:43:108;978:3799:110;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;4867:13:27;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;2594:68:108;978:3799:110;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3932:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3833:43:108;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;978:3799:110;;;;;;;;;;477:31:86;;978:3799:110;;;;;;;;;;;:::i;477:31:86:-;518:79;;;978:3799:110;518:79:86;;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;900:35:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2953:94:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;2953:94:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;2953:94:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3103:92:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;3103:92:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;3103:92:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4396:31:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4616:5:27;978:3799:110;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;978:3799:110;;;4639:4:27;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2833:64:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2345:22:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1183:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3543:54:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2175:24:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3741:36:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;466:39:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;4867:29:27;978:3799:110;;:::i;:::-;4867:20:27;978:3799:110;;:::i;:::-;4867:20:27;;:::i;978:3799:110:-;;;;;;-1:-1:-1;;978:3799:110;;;;;4221:36:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;4313:27:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1466:3:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2560:158;2584:92;2625:50;;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2625:50;;;-1:-1:-1;;;;;978:3799:110;;;;2625:50;;;978:3799;;;;;;;;;;;;;;;;;2560:158;978:3799;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;2743:10;2734:46;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3437:50:108;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3799:110;;;;:::o;:::-;;;:::o;:::-;10736:12:94;978:3799:110;;;;;;10736:12:94;-1:-1:-1;978:3799:110;;;;-1:-1:-1;978:3799:110;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;-1:-1:-1;978:3799:110;;;-1:-1:-1;978:3799:110;:::o;10580:184:94:-;978:3799:110;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:12:94;:17;:12;;:17;:::i;:::-;978:3799:110;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;978:3799:110;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;978:3799: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:3799:110;;;;;6688:18:27;;6684:86;;978:3799:110;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3599:19;;;;3595:115;;4451:25;3830:21;:65;-1:-1:-1;;;;;;;;;;;3830:21:110;;;4346:65;3830:21;978:3799;;;;;;;;1941:15;978:3799;;;;;;;3830:21;837:15:73;;819:34;837:15;819:34;:::i;:::-;978:3799:110;;3830:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;837:15:73;;1941:33:110;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3799:110;;;;;;;1941:15;978:3799;;;;;;;1941:33;978:3799;4346:65;;:::i;:::-;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;4451:25;;;;6605:300:27:o;3595:115:110:-;978:3799;;-1:-1:-1;;;3645:50:110;;-1:-1:-1;;;;;978:3799:110;;;;3645:50;;;978:3799;;;;;;;;;;;;;;;;12018:60:27;6779:86;978:3799:110;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;978:3799:110;;;6822:32:27;6684:86;978:3799:110;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;978:3799:110;;;6729:30:27;2323:83:50;1019:819;;;;;;;4615:19:110;;1019:819:50;;;;;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;:::o;4421:582:56:-;;4593:8;;-1:-1:-1;978:3799:110;;5674:21:56;:17;;5799:158;;;;;;5670:354;978:3799:110;;-1:-1:-1;;;5994:19:56;;;;;4589:408;978:3799:110;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3799:110;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;978:3799:110;;;4917:24:56;;;978:3799:110;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;7084:141:26;978:3799:110;8837:64:26;978:3799:110;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;978:3799:110;;-1:-1:-1;;;7191:17:26;;;;;978:3799:110;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:94:-;;;;;6360:12;;;978:3799:110;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3799:110;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;978:3799:110;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3799:110;;8310:38:71;;-1:-1:-1;;;;;978:3799:110;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;978:3799:110;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;978:3799:110;;;;;;6360:12:94;978:3799:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;14296:213:69;978:3799:110;14374:24:69;;;;14370:103;;978:3799:110;14296:213:69;:::o;14370:103::-;978:3799:110;;;;14421:41:69;;;;;;14452:2;14421:41;;;978:3799:110;;;;;14421:41:69;10695:389:71;978:3799:110;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3799:110;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;978:3799:110;11014:1:71;978:3799:110;;;;;;;11030:37:71;:::o;978:3799:110:-;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;978:3799:110;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3799:110;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;978:3799:110;;;;;;;;;;;;;;;;;12285:19:71;978:3799:110;;12423:25:71;;:::o;12247:163::-;978:3799:110;;;12343:52:71;978:3799:110;12353:41:71;978:3799:110;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;978:3799:110;;12353:41:71;;;978:3799:110;12343:52:71;:::i;:::-;12247:163;;12099:89;978:3799:110;;-1:-1:-1;;;12143:30:71;;;;;11860:713;978:3799:110;;12479:52:71;978:3799:110;12489:41:71;978:3799:110;;:::i;12489:41:71:-;-1:-1:-1;;;;;978:3799:110;;12489:41:71;;;978:3799:110;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72320":[{"start":1769,"length":32},{"start":5680,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(string,string)":"602bd8e7","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[],\"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\":[],\"name\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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.\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[],"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":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"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 f6147f0..a5305a4 100644 --- a/out/VaultVotes.sol/VaultVotes.json +++ b/out/VaultVotes.sol/VaultVotes.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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"0x60c0346101235761272b906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a052516125db9081610150823960805181818161055601526106c1015260a0518181816112870152818161141601526119d70152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe6080604052600436106119cd575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b60036119cd57611058565b61102b565b61100e565b610ff0565b610fd3565b610fb6565b610f7c565b610f51565b610f05565b610ee8565b610ec0565b610ea3565b610e69565b610e41565b610e17565b610def565b610da9565b610d5c565b610d22565b610d08565b610ce4565b610c50565b610bf2565b610bbe565b610b99565b610b71565b610b31565b610b09565b610aa2565b610a7d565b610a43565b610a1b565b6109e1565b6109b7565b610872565b610840565b61081b565b6107f3565b6107d2565b610787565b61074d565b610701565b6106ac565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206125668339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068a575f8051602061258683398151915280548281169260ff82881c16801561067e575b61066d5767ffffffffffffffff199091169087161790555f80516020612586833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461063f949093909261060e926113d0565b5f80516020612586833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105a5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610724826106f0565b805f525f80516020612566833981519152602052610748600160405f20015461145e565b6118cd565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a4816106f0565b336001600160a01b038216036107c05761066b90600435611903565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206125868339815191525416604051908152f35b346103915760603660031901126103915761088b6104a7565b602435610897816106f0565b6001600160401b0391604435838111610391576108b89036906004016104bd565b5f805160206125868339815191529491855494838616806109a65760ff8760401c16908115610999575b50610987577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109829661094f958716906001600160401b03191617905561094a5f80516020612586833981519152600160401b68ff000000000000000019825416179055565b611175565b5f80516020612586833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e2565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610aba611995565b5f8051602061254683398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4e816106f0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f80516020612546833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c44602435610c16816106f0565b6004355f525f80516020612566833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461039157604036600319011261039157600435610c6d816106f0565b6024356001600160401b038111610391575f91610c8f839236906004016104bd565b90816040519283928337810184815203915af4610cdc610cad61130c565b91610cce60405193849215156020840152604080840152606083019061133b565b03601f1981018352826110c4565b805190602001fd5b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610da0602435610d7e816106f0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c44602435610dcd816106f0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f28826106f0565b805f525f80516020612566833981519152602052610f4c600160405f20015461145e565b611903565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b60043561104b816106f0565b611053611995565b61135f565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110a457604052565b611075565b604081019081106001600160401b038211176110a457604052565b90601f801991011681019081106001600160401b038211176110a457604052565b6040519061024082018281106001600160401b038211176110a457604052565b6040519060c082018281106001600160401b038211176110a457604052565b6001600160401b0381116110a457601f01601f191660200190565b92919261114b82611124565b9161115960405193846110c4565b829481845281830111610391578281602093845f960137010152565b916111c592611182611a09565b61118a611a09565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166112f2575b50369161113f565b8051602090820181810182848303126103915782840151936001600160401b039485811161039157606091018093031261039157604090815161120781611089565b8484015186811161039157840182603f8201121561039157828185886112309401519101611a37565b81528284015186811161039157828661124b92870101611a6d565b938582019485526060810151968711610391576112756112ce93876112ef99611282940101611a6d565b9184810192835251611cf4565b6112c87f00000000000000000000000000000000000000000000000000000000000000009451915191610cce855193849263602bd8e760e01b8a85015260248401611a8a565b83611aaf565b505191634f4e823d60e01b90830152600482526112ea826110a9565b611aaf565b50565b611306906112fe611a09565b611053611a09565b5f6111bd565b3d15611336573d9061131d82611124565b9161132b60405193846110c4565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113b8575f8051602061254683398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916113e76003926001600160401b0392369161113f565b92160361144c575161143a57604051634f4e823d60e01b6020820152600481526112ef90611414816110a9565b7f0000000000000000000000000000000000000000000000000000000000000000611aaf565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125668339815191526020908152604080832033845290915290205460ff161561148e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125668339815191529060ff16611557575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125668339815191529060ff905b541661162c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125668339815191529060ff906115c8565b5f8181525f80516020612566833981519152602081815260408084206001600160a01b038716855290915290912060ff906115c8565b5f8181525f80516020612566833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561162c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612546833981519152546001600160a01b031633036119b557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a05573d5ff35b3d5ffd5b60ff5f805160206125868339815191525460401c1615611a2557565b604051631afcd79f60e31b8152600490fd5b929192611a4382611124565b91611a5160405193846110c4565b829481845281830111610391578281602093845f96015e010152565b9080601f83011215610391578151611a8792602001611a37565b90565b9091611aa1611a879360408452604084019061133b565b91602081840391015261133b565b5f80611a8793602081519101845af4611ac661130c565b916123ab565b5190611ad7826106f0565b565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110a4578360051b9060405194611b2d858401876110c4565b85528380860192820101928311610391578301905b828210611b50575050505090565b8380918351611b5e816106f0565b815201910190611b42565b906020828203126103915781516001600160401b03928382116103915701906102408282031261039157611b9b6110e5565b92611ba583611acc565b8452611bb360208401611acc565b6020850152611bc460408401611ad9565b6040850152611bd560608401611aec565b6060850152611be660808401611aec565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c17818501611acc565b90850152610120611c29818501611acc565b90850152610140611c3b818501611acc565b90850152610160611c4d818501611acc565b90850152610180918284015191821161039157611c6b918401611af9565b908301526101a0611c7d818301611acc565b908301526101c0611c8f818301611acc565b908301526101e0611ca1818301611acc565b90830152610200611cb3818301611acc565b90830152611cc5610220809201611acc565b9082015290565b8051821015611ce05760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d079060208082518301019101611b69565b805190916001600160a01b0391821615612399576040908184019065ffffffffffff611d39835165ffffffffffff1690565b16156123885761012085018051909490611d63906001600160a01b03165b6001600160a01b031690565b15612253575b6060860195611d7f611d7b8851151590565b1590565b80612244575b61223357610180810196955f5b88518051821015611e4357611d57611dad83611dba93611ccc565b516001600160a01b031690565b15611e3257611df3611dec611dd3611dad848d51611ccc565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e215780611e1b611e0e611dd3611dad6001958e51611ccc565b805460ff19166001179055565b01611d92565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e5f611d57855160018060a01b031690565b156120fb575b926120156120058694611fff611fda61204996611f3e6101c09a611f3960c06120a89e015191611f298d611f1960e082015193611f09611eaf61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611ee790610220906001600160a01b03169701516001600160a01b031690565b97611ef0611105565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61240e565b8851611f75906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611fce611fa542612513565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61203c6120256080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dad60a0840151600455565b8481166120eb575b506101408101516001600160a01b03168481166120db575b506101608101516001600160a01b03168481166120cb575b506101a08101516001600160a01b03168481166120bb575b5001516001600160a01b031690565b9081166120b25750565b6112ef90611711565b6120c4906116a2565b505f612099565b6120d490611633565b505f612081565b6120e49061155d565b505f612069565b6120f4906114ac565b505f612051565b610100850151612113906001600160a01b0316611d57565b6121e25761020085015161212f906001600160a01b0316611d57565b6121a35761022085015161214b906001600160a01b0316611d57565b151580612197575b61218757926120156120056120a89694611fff611fda61204996611f3e6101c09a5b979a5050965050509496505050611e65565b51630331eb0f60e41b8152600490fd5b5060e085015115612153565b6102208501516121bb906001600160a01b0316611d57565b1561218757926120156120056120a89694611fff611fda61204996611f3e6101c09a612175565b6102008501516121fa906001600160a01b0316611d57565b1580612227575b61218757926120156120056120a89694611fff611fda61204996611f3e6101c09a612175565b5060e085015115612201565b845163ebf503c560e01b8152600490fd5b50610180810151511515611d85565b61014086015161226b906001600160a01b0316611d57565b15612323575b6101a0860151612289906001600160a01b0316611d57565b15612294575b611d69565b6080860151156122df5760a086015115806122c0575b15611d6957835163183c854560e21b8152600490fd5b506101c08601516122d9906001600160a01b0316611d57565b156122aa565b60a086015115801590612303575b1561228f57835163183c854560e21b8152600490fd5b506101c086015161231c906001600160a01b0316611d57565b15156122ed565b60608601511561235a57610160860151612345906001600160a01b0316611d57565b61227157835163183c854560e21b8152600490fd5b610160860151612372906001600160a01b0316611d57565b1561227157835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123d257508051156123c057805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612405575b6123e3575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156123db565b6003815110612501576040810180516001600160a01b03929190831615806124f4575b6124e2578161247b61245960a09361244c6124b69651600f55565b611dad6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124d2575b5060808101516001600160a01b03168481166124c9575001516001600160a01b031690565b9081166124c05750565b6112ef9061185e565b6120c4906117ef565b6124db90611780565b505f612491565b604051630331eb0f60e41b8152600490fd5b5060208201511515612431565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612526571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212203175b7da7f8fb28238db3064e4e120c76807fecbf99c7e8bacea01bf710669f064736f6c63430008190033","sourceMap":"328:879:116:-:0;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;328:879:116;;;;;;;;;7896:76:26;;328:879:116;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:84;;;;;1258:31:111;;328:879:116;;;;;;;927:17:84;328:879:116;;;;;;;;;;1258:31:111;328:879:116;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;328:879:116;;;;;;;;;;;;;8087:29:26;;328:879:116;;8087:29:26;7981:146;;;;;7896:76;328:879:116;;-1:-1:-1;;;7938:23:26;;;;;328:879:116;-1:-1:-1;328:879:116;;;;;;-1:-1:-1;328:879:116;;;;;-1:-1:-1;328:879:116;;;;-1:-1:-1;;;;;328:879:116;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106119cd575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b60036119cd57611058565b61102b565b61100e565b610ff0565b610fd3565b610fb6565b610f7c565b610f51565b610f05565b610ee8565b610ec0565b610ea3565b610e69565b610e41565b610e17565b610def565b610da9565b610d5c565b610d22565b610d08565b610ce4565b610c50565b610bf2565b610bbe565b610b99565b610b71565b610b31565b610b09565b610aa2565b610a7d565b610a43565b610a1b565b6109e1565b6109b7565b610872565b610840565b61081b565b6107f3565b6107d2565b610787565b61074d565b610701565b6106ac565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206125668339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068a575f8051602061258683398151915280548281169260ff82881c16801561067e575b61066d5767ffffffffffffffff199091169087161790555f80516020612586833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461063f949093909261060e926113d0565b5f80516020612586833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105a5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610724826106f0565b805f525f80516020612566833981519152602052610748600160405f20015461145e565b6118cd565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a4816106f0565b336001600160a01b038216036107c05761066b90600435611903565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206125868339815191525416604051908152f35b346103915760603660031901126103915761088b6104a7565b602435610897816106f0565b6001600160401b0391604435838111610391576108b89036906004016104bd565b5f805160206125868339815191529491855494838616806109a65760ff8760401c16908115610999575b50610987577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109829661094f958716906001600160401b03191617905561094a5f80516020612586833981519152600160401b68ff000000000000000019825416179055565b611175565b5f80516020612586833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e2565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610aba611995565b5f8051602061254683398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4e816106f0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f80516020612546833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c44602435610c16816106f0565b6004355f525f80516020612566833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461039157604036600319011261039157600435610c6d816106f0565b6024356001600160401b038111610391575f91610c8f839236906004016104bd565b90816040519283928337810184815203915af4610cdc610cad61130c565b91610cce60405193849215156020840152604080840152606083019061133b565b03601f1981018352826110c4565b805190602001fd5b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610da0602435610d7e816106f0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c44602435610dcd816106f0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f28826106f0565b805f525f80516020612566833981519152602052610f4c600160405f20015461145e565b611903565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b60043561104b816106f0565b611053611995565b61135f565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110a457604052565b611075565b604081019081106001600160401b038211176110a457604052565b90601f801991011681019081106001600160401b038211176110a457604052565b6040519061024082018281106001600160401b038211176110a457604052565b6040519060c082018281106001600160401b038211176110a457604052565b6001600160401b0381116110a457601f01601f191660200190565b92919261114b82611124565b9161115960405193846110c4565b829481845281830111610391578281602093845f960137010152565b916111c592611182611a09565b61118a611a09565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166112f2575b50369161113f565b8051602090820181810182848303126103915782840151936001600160401b039485811161039157606091018093031261039157604090815161120781611089565b8484015186811161039157840182603f8201121561039157828185886112309401519101611a37565b81528284015186811161039157828661124b92870101611a6d565b938582019485526060810151968711610391576112756112ce93876112ef99611282940101611a6d565b9184810192835251611cf4565b6112c87f00000000000000000000000000000000000000000000000000000000000000009451915191610cce855193849263602bd8e760e01b8a85015260248401611a8a565b83611aaf565b505191634f4e823d60e01b90830152600482526112ea826110a9565b611aaf565b50565b611306906112fe611a09565b611053611a09565b5f6111bd565b3d15611336573d9061131d82611124565b9161132b60405193846110c4565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113b8575f8051602061254683398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916113e76003926001600160401b0392369161113f565b92160361144c575161143a57604051634f4e823d60e01b6020820152600481526112ef90611414816110a9565b7f0000000000000000000000000000000000000000000000000000000000000000611aaf565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125668339815191526020908152604080832033845290915290205460ff161561148e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125668339815191529060ff16611557575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125668339815191529060ff905b541661162c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125668339815191529060ff906115c8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125668339815191529060ff906115c8565b5f8181525f80516020612566833981519152602081815260408084206001600160a01b038716855290915290912060ff906115c8565b5f8181525f80516020612566833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561162c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612546833981519152546001600160a01b031633036119b557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a05573d5ff35b3d5ffd5b60ff5f805160206125868339815191525460401c1615611a2557565b604051631afcd79f60e31b8152600490fd5b929192611a4382611124565b91611a5160405193846110c4565b829481845281830111610391578281602093845f96015e010152565b9080601f83011215610391578151611a8792602001611a37565b90565b9091611aa1611a879360408452604084019061133b565b91602081840391015261133b565b5f80611a8793602081519101845af4611ac661130c565b916123ab565b5190611ad7826106f0565b565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110a4578360051b9060405194611b2d858401876110c4565b85528380860192820101928311610391578301905b828210611b50575050505090565b8380918351611b5e816106f0565b815201910190611b42565b906020828203126103915781516001600160401b03928382116103915701906102408282031261039157611b9b6110e5565b92611ba583611acc565b8452611bb360208401611acc565b6020850152611bc460408401611ad9565b6040850152611bd560608401611aec565b6060850152611be660808401611aec565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c17818501611acc565b90850152610120611c29818501611acc565b90850152610140611c3b818501611acc565b90850152610160611c4d818501611acc565b90850152610180918284015191821161039157611c6b918401611af9565b908301526101a0611c7d818301611acc565b908301526101c0611c8f818301611acc565b908301526101e0611ca1818301611acc565b90830152610200611cb3818301611acc565b90830152611cc5610220809201611acc565b9082015290565b8051821015611ce05760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d079060208082518301019101611b69565b805190916001600160a01b0391821615612399576040908184019065ffffffffffff611d39835165ffffffffffff1690565b16156123885761012085018051909490611d63906001600160a01b03165b6001600160a01b031690565b15612253575b6060860195611d7f611d7b8851151590565b1590565b80612244575b61223357610180810196955f5b88518051821015611e4357611d57611dad83611dba93611ccc565b516001600160a01b031690565b15611e3257611df3611dec611dd3611dad848d51611ccc565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e215780611e1b611e0e611dd3611dad6001958e51611ccc565b805460ff19166001179055565b01611d92565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e5f611d57855160018060a01b031690565b156120fb575b926120156120058694611fff611fda61204996611f3e6101c09a611f3960c06120a89e015191611f298d611f1960e082015193611f09611eaf61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611ee790610220906001600160a01b03169701516001600160a01b031690565b97611ef0611105565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61240e565b8851611f75906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611fce611fa542612513565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61203c6120256080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dad60a0840151600455565b8481166120eb575b506101408101516001600160a01b03168481166120db575b506101608101516001600160a01b03168481166120cb575b506101a08101516001600160a01b03168481166120bb575b5001516001600160a01b031690565b9081166120b25750565b6112ef90611711565b6120c4906116a2565b505f612099565b6120d490611633565b505f612081565b6120e49061155d565b505f612069565b6120f4906114ac565b505f612051565b610100850151612113906001600160a01b0316611d57565b6121e25761020085015161212f906001600160a01b0316611d57565b6121a35761022085015161214b906001600160a01b0316611d57565b151580612197575b61218757926120156120056120a89694611fff611fda61204996611f3e6101c09a5b979a5050965050509496505050611e65565b51630331eb0f60e41b8152600490fd5b5060e085015115612153565b6102208501516121bb906001600160a01b0316611d57565b1561218757926120156120056120a89694611fff611fda61204996611f3e6101c09a612175565b6102008501516121fa906001600160a01b0316611d57565b1580612227575b61218757926120156120056120a89694611fff611fda61204996611f3e6101c09a612175565b5060e085015115612201565b845163ebf503c560e01b8152600490fd5b50610180810151511515611d85565b61014086015161226b906001600160a01b0316611d57565b15612323575b6101a0860151612289906001600160a01b0316611d57565b15612294575b611d69565b6080860151156122df5760a086015115806122c0575b15611d6957835163183c854560e21b8152600490fd5b506101c08601516122d9906001600160a01b0316611d57565b156122aa565b60a086015115801590612303575b1561228f57835163183c854560e21b8152600490fd5b506101c086015161231c906001600160a01b0316611d57565b15156122ed565b60608601511561235a57610160860151612345906001600160a01b0316611d57565b61227157835163183c854560e21b8152600490fd5b610160860151612372906001600160a01b0316611d57565b1561227157835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123d257508051156123c057805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612405575b6123e3575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156123db565b6003815110612501576040810180516001600160a01b03929190831615806124f4575b6124e2578161247b61245960a09361244c6124b69651600f55565b611dad6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124d2575b5060808101516001600160a01b03168481166124c9575001516001600160a01b031690565b9081166124c05750565b6112ef9061185e565b6120c4906117ef565b6124db90611780565b505f612491565b604051630331eb0f60e41b8152600490fd5b5060208201511515612431565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612526571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212203175b7da7f8fb28238db3064e4e120c76807fecbf99c7e8bacea01bf710669f064736f6c63430008190033","sourceMap":"328:879:116:-:0;;;;;;2603:64:51;328:879:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;328:879:116;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::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;;328:879:116;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;328:879:116;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;328:879:116;-1:-1:-1;328:879:116;;;;;;;;-1:-1:-1;;328:879:116;;;;;3653:32:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;757:38:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;612:37:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;2084:35:113;328:879:116;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;-1:-1:-1;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;;4919:24:23;328:879:116;-1:-1:-1;328:879:116;4919:24:23;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;328:879:116;;3670:20:30;3666:88;;1991:1;;;1673:7:84;-1:-1:-1;;;;;328:879:116;1659:10:84;:21;1655:71;;-1:-1:-1;;;;;;;;;;;328:879:116;;;;;;;;;;;6431:44:26;;;;328:879:116;6427:105:26;;-1:-1:-1;;328:879:116;;;;;;;;;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;328:879:116;-1:-1:-1;;;328:879:116;;;6656:20:26;;;;328:879:116;;;;1809:204:84;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;328:879:116;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;328:879:116;6427:105:26;328:879:116;;-1:-1:-1;;;6498:23:26;;328:879:116;;6498:23:26;6431:44;328:879:116;;;;6450:25:26;;;6431:44;;1655:71:84;328:879:116;;-1:-1:-1;;;1703:12:84;;328:879:116;;1703:12:84;3666:88:30;328:879:116;;-1:-1:-1;;;3713:30:30;;328:879:116;;3713:30:30;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;;;655:32:84;-1:-1:-1;;;;;328:879:116;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;:::o;:::-;;;;;;-1:-1:-1;;328:879:116;;;;5350:25:23;328:879:116;;;;;;;:::i;:::-;;-1:-1:-1;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;3202:4:23;4919:24;328:879:116;-1:-1:-1;328:879:116;4919:24:23;328:879:116;3202:4:23;:::i;:::-;5350:25;:::i;328:879:116:-;;;;;;-1:-1:-1;;328:879:116;;;;;;;1329:40:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;328:879:116;;6441:34:23;6437:102;;6549:37;328:879:116;;;6549:37:23;:::i;6437:102::-;328:879:116;;-1:-1:-1;;;6498:30:23;;328:879:116;;6498:30:23;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;4126:39:113;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;2255:34:113;328:879:116;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;-1:-1:-1;;;;;;;;;;;;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;328:879:116;;;;;;734:29:84;730:87;;328:879:116;;;;;6431:44:26;;;;;328:879:116;6427:105:26;;;6656:20;328:879:116;6656:20:26;328:879:116;1167:340:84;328:879:116;;;;-1:-1:-1;;;;;328:879:116;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;328:879:116;;;;;;;;;6575:22:26;1167:340:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;328:879:116;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;6656:20:26;;;;328:879:116;6427:105:26;328:879:116;;-1:-1:-1;;;6498:23:26;;328:879:116;;6498:23:26;6431:44;328:879:116;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:84;328:879:116;;-1:-1:-1;;;786:20:84;;328:879:116;;786:20:84;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;;;-1:-1:-1;328:879:116;2718:59:113;328:879:116;;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;1041:36:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;1989:39:113;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;1564:45:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;2423:32:113;328:879:116;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;;;328:879:116;;;;;;;-1:-1:-1;;;;;328:879:116;3975:40:24;328:879:116;;3975:40:24;328:879:116;;;;;;;-1:-1:-1;;328:879:116;;;;;;4027:43:113;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;328:879:116;2594:68:113;328:879:116;;;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;3932:39:113;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;3833:43:113;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;-1:-1:-1;;;;;;;;;;;328:879:116;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;3901:31:23;328:879:116;;;;;:::i;:::-;;;-1:-1:-1;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;;;;3901:31:23;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;328:879:116;;;;-1:-1:-1;328:879:116;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;328:879:116;;;;;;;;;;477:31:88;;328:879:116;;;;;;;;;;;:::i;:::-;477:31:88;;;;;;;;;:::i;:::-;518:79;;;328:879:116;518:79:88;;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;900:35:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;2953:94:113;328:879:116;;;;;:::i;:::-;;;-1:-1:-1;328:879:116;2953:94:113;328:879:116;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;;;;2953:94:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;3103:92:113;328:879:116;;;;;:::i;:::-;;;-1:-1:-1;328:879:116;3103:92:113;328:879:116;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;4396:31:113;328:879:116;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;-1:-1:-1;328:879:116;2833:64:113;328:879:116;;;;-1:-1:-1;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;2345:22:113;328:879:116;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;1183:36:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;3543:54:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;2175:24:113;328:879:116;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;3741:36:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;5767:26:23;328:879:116;;;;;;;:::i;:::-;;-1:-1:-1;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;3202:4:23;4919:24;328:879:116;-1:-1:-1;328:879:116;4919:24:23;328:879:116;3202:4:23;:::i;:::-;5767:26;:::i;328:879:116:-;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;466:39:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;4221:36:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;4313:27:113;328:879:116;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;1466:3:113;328:879:116;;;;;;;;;-1:-1:-1;;328:879:116;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:116;;;;2357:1:24;328:879:116;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;328:879:116:-;;;;;;-1:-1:-1;;328:879:116;;;;;3437:50:113;328:879:116;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;;;477:31:88;;328:879:116;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;;;;5224:34:111;328:879:116;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;:::o;:::-;-1:-1:-1;;;;;328:879:116;;;;;;-1:-1:-1;;328:879:116;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:116;;;;;;:::o;1167:340:84:-;;328:879:116;1167:340:84;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;328:879:116;;1376:73:84;;1167:340;328:879:116;;;;:::i;:::-;;;674:55:114;;;;;;;328:879:116;;;;;;;674:55:114;;;328:879:116;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;811:157:114;328:879:116;;688:101;328:879;;;;;;:::i;:::-;;;;;;;;782:17:114;328:879:116;:::i;:::-;863:95:114;1428:14:111;930:11:114;;943:13;;328:879:116;863:95:114;328:879:116;;863:95:114;;;;;;;;;;;;;;:::i;:::-;811:157;;:::i;:::-;;328:879:116;727:61;;;;;;;;;;;;;;:::i;:::-;688:101;:::i;:::-;;1167:340:84:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:84;;;328:879:116;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;328:879:116;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:116;;;;;;;;-1:-1:-1;;328:879:116;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;328:879:116;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;328:879:116;;-1:-1:-1;;;;;;328:879:116;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;328:879:116;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;328:879:116;;;3534:31:24;1809:204:84;;328:879:116;937:1;1809:204:84;-1:-1:-1;;;;;1809:204:84;328:879:116;;;:::i;:::-;;;923:15;919:80;;328:879;1009:78;;328:879;;-1:-1:-1;;;1136:61:116;;;;;;;1097:101;;1136:61;328:879;1136:61;:::i;:::-;1428:14:111;1097:101:116;:::i;1009:78::-;328:879;;-1:-1:-1;;;1051:25:116;;;;;919:80;328:879;;-1:-1:-1;;;961:27:116;;;;;4148:103:23;-1:-1:-1;328:879:116;;;-1:-1:-1;;;;;;;;;;;328:879:116;;;;;;;;966:10:28;328:879:116;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;328:879:116;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;328:879:116;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;328:879:116;;2667:17:111;328:879:116;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;;;2667:17:111;328:879:116;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;-1:-1:-1;;328:879:116;7509:4:23;328:879:116;;;966:10:28;;-1:-1:-1;;;;;328:879:116;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;2667:17:111;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;466:39:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;;;;-1:-1:-1;328:879:116;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;-1:-1:-1;;328:879:116;7509:4:23;328:879:116;;;966:10:28;;-1:-1:-1;;;;;328:879:116;;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;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;612:37:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;757:38:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;900:35:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;1041:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;1183:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;328:879:116;;;;;;;;;1329:40:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:116;;3901:31:23;328:879:116;7270:387:23;-1:-1:-1;328:879:116;;;-1:-1:-1;;;;;;;;;;;328:879:116;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;3901:31:23;328:879:116;7892:388:23;-1:-1:-1;328:879:116;;;-1:-1:-1;;;;;;;;;;;328:879:116;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;;-1:-1:-1;328:879:116;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;-1:-1:-1;;328:879:116;;;966:10:28;;-1:-1:-1;;;;;328:879:116;;8155:40:23;-1:-1:-1;;8155:40:23;328:879:116;8209:11:23;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;328:879:116;-1:-1:-1;;;;;328:879:116;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;328:879:116;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;328:879:116;;;2763:40:24;2323:83:51;1019:819;;;;;;;1428:14:111;;1019:819:51;;;;;;;;;;;;;;;;7084:141:26;328:879:116;-1:-1:-1;;;;;;;;;;;328:879:116;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;328:879:116;;-1:-1:-1;;;7191:17:26;;;;;328:879:116;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:116;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:57:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;328:879:116:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2486:4272:111;2615:37;2486:4272;2615:37;328:879:116;;;2615:37:111;;;;;;:::i;:::-;328:879:116;;;;-1:-1:-1;;;;;328:879:116;;;2667:31:111;2663:95;;2772:20;;;;;328:879:116;;;;;;;;;;;2772:25:111;2768:92;;2874:29;;;328:879:116;;2874:29:111;;328:879:116;2874:43:111;;-1:-1:-1;;;;;328:879:116;;-1:-1:-1;;;;;328:879:116;;;2874:43:111;;2870:971;;2486:4272;3856:23;;;328:879:116;3855:24:111;328:879:116;;;;;;;;3855:24:111;;328:879:116;3855:24:111;:67;;;2486:4272;3851:132;;4013:28;;;;3998:9;2667:17;4050:3;4013:28;;328:879:116;;4009:39:111;;;;;4073:31;;;:45;:31;;:::i;:::-;328:879:116;-1:-1:-1;;;;;328:879:116;;;4073:45:111;;4069:114;;4201:55;;4224:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;328:879:116;;;;;4201:22:111;328:879:116;;;;;;;4201:55:111;328:879:116;;;;;4201:55:111;4197:120;;4354:28;4331:62;:55;4354:31;;328:879:116;4354:28:111;;;:31;:::i;4331:55::-;328:879:116;;-1:-1:-1;;328:879:116;4389:4:111;328:879:116;;;;4331:62:111;328:879:116;3998:9:111;;4197:120;328:879:116;;-1:-1:-1;;;4283:19:111;;;;;4069:114;328:879:116;;-1:-1:-1;;;4145:23:111;;;;;4009:39;;;;;;;;;;4418:43;328:879:116;;;;;;;;;;;4418:43:111;;4414:697;;3993:411;5224:34;5828:42;328:879:116;5224:34:111;;5773:44;328:879:116;;5224:34:111;5156:468;6611:32;5224:34;5156:468;5224:34;328:879:116;5224:34:111;;328:879:116;5290:19:111;5156:468;5290:19;5156:468;5290:19;;;328:879:116;5345:23:111;5156:468;328:879:116;5345:23:111;;;328:879:116;;;;;;;;;;5414:33:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;5492:32:111;;;328:879:116;5492:32:111;;;328:879:116;;5573:36:111;;-1:-1:-1;;;;;328:879:116;5573:36:111;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;;;;:::i;:::-;;;;2615:37:111;5156:468;;328:879:116;-1:-1:-1;;;;;328:879:116;;;5156:468:111;;;328:879:116;;5156:468:111;-1:-1:-1;;;;;328:879:116;3856:23:111;5156:468;;328:879:116;;5156:468:111;-1:-1:-1;;;;;328:879:116;5156:468:111;;;328:879:116;;5156:468:111;-1:-1:-1;;;;;328:879:116;5156:468:111;;;328:879:116;;5156:468:111;;:::i;:::-;328:879:116;;5645:30:111;;-1:-1:-1;;;;;328:879:116;2667:17:111;328:879:116;;-1:-1:-1;;;;;;328:879:116;;;;;;-1:-1:-1;;;;;328:879:116;;;;;;;;5645:30:111;2615:37;5695:13;;328:879:116;;;;-1:-1:-1;;;;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;;;;;;5719:44:111;819:34:75;837:15;819:34;:::i;:::-;4389:4:111;328:879:116;;-1:-1:-1;;;;328:879:116;;;;;;-1:-1:-1;;;328:879:116;;;;;;;;5719:44:111;328:879:116;;;;;;4389:4:111;328:879:116;;-1:-1:-1;;;;;328:879:116;;;;;;-1:-1:-1;;;;;;328:879:116;;;;;;;;5773:44:111;328:879:116;;;;;;;;;2667:17:111;328:879:116;;;;;;;2667:17:111;328:879:116;;5828:42:111;5881:38;328:879:116;5156:468:111;5898:21;;328:879:116;;;;;;;2667:17:111;328:879:116;;;;;;;;;;;;2667:17:111;328:879:116;;5881:38:111;5929:34;5156:468;5944:19;;328:879:116;5929:34:111;1991:1:30;;328:879:116;;;;5974:135:111;;3993:411;-1:-1:-1;6122:36:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;6118:157:111;;3993:411;-1:-1:-1;6288:35:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;6284:153:111;;3993:411;-1:-1:-1;6450:34:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;6446:152:111;;3993:411;-1:-1:-1;6611:32:111;328:879:116;-1:-1:-1;;;;;328:879:116;;;;;;;6607:145:111;;2486:4272;:::o;6607:145::-;6673:68;;;:::i;6446:152::-;6514:73;;;:::i;:::-;;6446:152;;;6284:153;6353:73;;;:::i;:::-;;6284:153;;;6118:157;6188:76;;;:::i;:::-;;6118:157;;;5974:135;6037:61;;;:::i;:::-;;5974:135;;;4414:697;4481:23;;;328:879:116;4481:37:111;;-1:-1:-1;;;;;328:879:116;;;4481:37:111;:23;;4542:32;;;328:879:116;4542:46:111;;-1:-1:-1;;;;;328:879:116;;;4542:46:111;:32;;4616:36;;;328:879:116;4616:50:111;;-1:-1:-1;;;;;328:879:116;;;4616:50:111;;;:78;;;4538:396;4612:167;;4538:396;5828:42;328:879:116;;4538:396:111;;5773:44;328:879:116;;4538:396:111;5156:468;6611:32;4538:396;;4414:697;;;;;;;;;;;;;;;4612:167;328:879:116;-1:-1:-1;;;4729:27:111;;;;;4616:78;4670:19;;;;328:879:116;4670:24:111;4616:78;;4538:396;4807:36;;;328:879:116;4807:50:111;;-1:-1:-1;;;;;328:879:116;;;4807:50:111;;4803:131;;4538:396;5828:42;328:879:116;;4538:396:111;;5773:44;328:879:116;;4538:396:111;5156:468;6611:32;4538:396;;;4477:624;4958:32;;;328:879:116;4958:46:111;;-1:-1:-1;;;;;328:879:116;;;4958:46:111;;:74;;;4477:624;4954:147;;4477:624;5828:42;328:879:116;;4477:624:111;;5773:44;328:879:116;;4477:624:111;5156:468;6611:32;4477:624;;;4958:74;5008:19;;;;328:879:116;5008:24:111;4958:74;;3851:132;328:879:116;;-1:-1:-1;;;3945:27:111;;;;;3855:67;3883:28;;;;;328:879:116;3883:39:111;;3855:67;;2870:971;2937:36;;;328:879:116;2937:50:111;;-1:-1:-1;;;;;328:879:116;;;2937:50:111;;2933:419;;2870:971;3370:34;;;328:879:116;3370:48:111;;-1:-1:-1;;;;;328:879:116;;;3370:48:111;;3366:465;;2870:971;;;3366:465;3442:21;;;328:879:116;;3442:21:111;;3491:19;;;328:879:116;3491:24:111;:74;;;3438:379;3487:157;2870:971;3487:157;328:879:116;;-1:-1:-1;;;3600:21:111;;;;;3491:74;-1:-1:-1;3519:32:111;;;328:879:116;3519:46:111;;-1:-1:-1;;;;;328:879:116;;;3519:46:111;;3491:74;;3438:379;3672:19;;;328:879:116;3672:24:111;;;:74;;;3438:379;3668:149;3366:465;3668:149;328:879:116;;-1:-1:-1;;;3777:21:111;;;;;3672:74;-1:-1:-1;3700:32:111;;;328:879:116;3700:46:111;;-1:-1:-1;;;;;328:879:116;;;3700:46:111;;;3672:74;;2933:419;3011:23;;;328:879:116;;3011:23:111;;3062:35;;;328:879:116;3062:49:111;;-1:-1:-1;;;;;328:879:116;;;3062:49:111;2933:419;3058:132;328:879:116;;-1:-1:-1;;;3146:21:111;;;;;3007:331;3218:35;;;328:879:116;3218:49:111;;-1:-1:-1;;;;;328:879:116;;;3218:49:111;3214:124;2933:419;3214:124;328:879:116;;-1:-1:-1;;;3298:21:111;;;;;2768:92;328:879:116;;-1:-1:-1;;;2820:29:111;;;;;2663:95;328:879:116;;-1:-1:-1;;;2721:26:111;;;;;4421:582:57;;4593:8;;-1:-1:-1;328:879:116;;5674:21:57;:17;;5799:158;;;;;;5670:354;328:879:116;;-1:-1:-1;;;5994:19:57;;;;;4589:408;328:879:116;;4841:22:57;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;328:879:116;;-1:-1:-1;;;4917:24:57;;-1:-1:-1;;;;;328:879:116;;;4917:24:57;;;328:879:116;;;4917:24:57;4841:49;4867:18;;;:23;4841:49;;1455:1025:111;1596:1;328:879:116;;1559:38:111;1555:119;;1688:23;;;328:879:116;;-1:-1:-1;;;;;328:879:116;1688:23:111;;328:879:116;;1688:37:111;;:65;;1455:1025;1684:130;;328:879:116;1951:42:111;328:879:116;2320:36:111;328:879:116;1824:72:111;328:879:116;;;1824:72:111;1991:1:30;;1824:72:111;1907:34;1922:19;;;328:879:116;1907:34:111;1991:1:30;;328:879:116;;;;;;;;;;1951:42:111;328:879:116;;;1951:42:111;328:879:116;;1951:42:111;2008:33;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;2004:148:111;;1455:1025;-1:-1:-1;2165:32:111;;;328:879:116;-1:-1:-1;;;;;328:879:116;;;;2161:146:111;;-1:-1:-1;2320:36:111;328:879:116;-1:-1:-1;;;;;328:879:116;;;;;;;2316:158:111;;1455:1025;:::o;2316:158::-;2386:77;;;:::i;2161:146::-;2227:69;;;:::i;2004:148::-;2071:70;;;:::i;:::-;;2004:148;;;1684:130;1688:23;328:879:116;-1:-1:-1;;;1776:27:111;;;;;1688:65;1729:19;;;;328:879:116;1729:24:111;;1688:65;;1555:119;328:879:116;;-1:-1:-1;;;1620:43:111;;;;;14296:213:71;328:879:116;14374:24:71;;;;14370:103;;328:879:116;14296:213:71;:::o;14370:103::-;328:879:116;;;;14421:41:71;;;;;;14452:2;14421:41;;;328:879:116;;;;;14421:41:71","linkReferences":{},"immutableReferences":{"60387":[{"start":1366,"length":32},{"start":1729,"length":32}],"71678":[{"start":4743,"length":32},{"start":5142,"length":32},{"start":6615,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155\",\"dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302\",\"dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc","urls":["bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155","dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba","urls":["bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302","dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"license":"MIT"}},"version":1},"id":116} \ No newline at end of file +{"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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"0x60c03461012357612758906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a052516126089081610150823960805181818161056601526106d1015260a0518181816112b4015281816114430152611a040152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036119fa57611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206125b383398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f80516020612593833981519152602052610758600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206125b38339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd611339565b91610cde604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f80516020612593833981519152602052610f5c600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806119c2565b61138c565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610cde855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b611080611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b0482610700565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b81610700565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220de985ed80e70d3add20c468cb59a53f837cfa5ff16811a1cd3e495e1f08c400b64736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;328:879:111;;;;;;;;;7896:76:26;;328:879:111;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;328:879:111;;;;;;;927:17:82;328:879:111;;;;;;;;;;1445:31:106;328:879:111;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;328:879:111;;;;;;;;;;;;;8087:29:26;;328:879:111;;8087:29:26;7981:146;;;;;7896:76;328:879:111;;-1:-1:-1;;;7938:23:26;;;;;328:879:111;-1:-1:-1;328:879:111;;;;;;-1:-1:-1;328:879:111;;;;;-1:-1:-1;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036119fa57611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206125b383398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f80516020612593833981519152602052610758600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206125b38339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd611339565b91610cde604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f80516020612593833981519152602052610f5c600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806119c2565b61138c565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610cde855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b611080611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b0482610700565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b81610700565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220de985ed80e70d3add20c468cb59a53f837cfa5ff16811a1cd3e495e1f08c400b64736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;2603:64:50;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;328:879: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;:::-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;328:879:111;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;328:879:111;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;;3653:32:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;757:38:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;612:37:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;2084:35:108;328:879:111;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;4919:24:23;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;328:879:111;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;328:879:111;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;;;;6431:44:26;;;;328:879:111;6427:105:26;;-1:-1:-1;;328:879:111;;;;;;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;-1:-1:-1;;;328:879:111;;;6656:20:26;;;;328:879:111;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;6450:25:26;;;6431:44;;1655:71:82;328:879:111;;-1:-1:-1;;;1703:12:82;;328:879:111;;1703:12:82;3666:88:30;328:879:111;;-1:-1:-1;;;3713:30:30;;328:879:111;;3713:30:30;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;655:32:82;-1:-1:-1;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;:::o;:::-;;;;;;-1:-1:-1;;328:879:111;;;;5350:25:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5350:25;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;;;1329:40:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;328:879:111;;6441:34:23;6437:102;;6549:37;328:879:111;;;6549:37:23;:::i;6437:102::-;328:879:111;;-1:-1:-1;;;6498:30:23;;328:879:111;;6498:30:23;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;4126:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2255:34:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;-1:-1:-1;;;;;;;;;;;;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;328:879:111;;;;;;734:29:82;730:87;;328:879:111;;;;;6431:44:26;;;;;328:879:111;6427:105:26;;;6656:20;328:879:111;6656:20:26;328:879:111;1167:340:82;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;328:879:111;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;328:879:111;;-1:-1:-1;;;786:20:82;;328:879:111;;786:20:82;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2718:59:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1041:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;1989:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1564:45:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2423:32:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;3975:40:24;328:879:111;;3975:40:24;328:879:111;;;;;;;-1:-1:-1;;328:879:111;;;;;;4027:43:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;328:879:111;2594:68:108;328:879:111;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3932:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3833:43:108;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3901:31:23;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;3901:31:23;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;328:879:111;;;;;;;;;;477:31:86;;328:879:111;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;328:879:111;518:79:86;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;900:35:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;2953:94:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;2953:94:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;2953:94:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3103:92:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;3103:92:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;4396:31:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2833:64:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2345:22:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1183:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3543:54:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2175:24:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3741:36:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;5767:26:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5767:26;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;466:39:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4221:36:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4313:27:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1466:3:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1286:6:106;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;2357:1:24;328:879:111;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;3437:50:108;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;477:31:86;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;5411:34:106;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;1167:340:82:-;;328:879:111;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;328:879:111;;1376:73:82;;1167:340;328:879:111;;;;:::i;:::-;;;674:55:109;;;;;;;328:879:111;;;;;;;674:55:109;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;811:157:109;328:879:111;;688:101;328:879;;;;;;:::i;:::-;;;;;;;;782:17:109;328:879:111;:::i;:::-;863:95:109;1615:14:106;930:11:109;;943:13;;328:879:111;863:95:109;328:879:111;;863:95:109;;;;;;;;;;;;;;:::i;:::-;811:157;;:::i;:::-;;328:879:111;727:61;;;;;;;;;;;;;;:::i;:::-;688:101;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;328:879:111;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;328:879:111;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;328:879:111;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;328:879:111;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;328:879:111;;;3534:31:24;1809:204:82;;328:879:111;937:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;328:879:111;;;:::i;:::-;;;923:15;919:80;;328:879;1009:78;;328:879;;-1:-1:-1;;;1136:61:111;;;;;;;1097:101;;1136:61;328:879;1136:61;:::i;:::-;1615:14:106;1097:101:111;:::i;1009:78::-;328:879;;-1:-1:-1;;;1051:25:111;;;;;919:80;328:879;;-1:-1:-1;;;961:27:111;;;;;4148:103:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;966:10:28;328:879:111;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;328:879:111;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;328:879:111;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;328:879:111;;2854:17:106;328:879:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;;;2854:17:106;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;2854:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879: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;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;3901:31:23;328:879:111;7892:388:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;;8155:40:23;-1:-1:-1;;8155:40:23;328:879:111;8209:11:23;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;328:879:111;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;328:879:111;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;328:879:111;;-1:-1:-1;;;7191:17:26;;;;;328:879:111;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;328:879:111:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2673:4272:106;2802:37;2673:4272;2802:37;328:879:111;;;2802:37:106;;;;;;:::i;:::-;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;2854:31:106;2850:95;;2959:20;;;;;328:879:111;;;;;;;;;;;2959:25:106;2955:92;;3061:29;;;328:879:111;;3061:29:106;;328:879:111;3061:43:106;;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;3061:43:106;;3057:971;;2673:4272;4043:23;;;328:879:111;4042:24:106;328:879:111;;;;;;;;4042:24:106;;328:879:111;4042:24:106;:67;;;2673:4272;4038:132;;4200:28;;;;4185:9;2854:17;4237:3;4200:28;;328:879:111;;4196:39:106;;;;;4260:31;;;:45;:31;;:::i;:::-;328:879:111;-1:-1:-1;;;;;328:879:111;;;4260:45:106;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;4388:22:106;328:879:111;;;;;;;4388:55:106;328:879:111;;;;;4388:55:106;4384:120;;4541:28;4518:62;:55;4541:31;;328:879:111;4541:28:106;;;:31;:::i;4518:55::-;328:879:111;;-1:-1:-1;;328:879:111;4576:4:106;328:879:111;;;;4518:62:106;328:879:111;4185:9:106;;4384:120;328:879:111;;-1:-1:-1;;;4470:19:106;;;;;4256:114;328:879:111;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;;;;;;;4605:43;328:879:111;;;;;;;;;;;4605:43:106;;4601:697;;4180:411;5411:34;6015:42;328:879:111;5411:34:106;;5960:44;328:879:111;;5411:34:106;5343:468;6798:32;5411:34;5343:468;5411:34;328:879:111;5411:34:106;;328:879:111;5477:19:106;5343:468;5477:19;5343:468;5477:19;;;328:879:111;5532:23:106;5343:468;328:879:111;5532:23:106;;;328:879:111;;;;;;;;;;5601:33:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;5679:32:106;;;328:879:111;5679:32:106;;;328:879:111;;5760:36:106;;-1:-1:-1;;;;;328:879:111;5760:36:106;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;:::i;:::-;;;;2802:37:106;5343:468;;328:879:111;-1:-1:-1;;;;;328:879:111;;;5343:468:106;;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;4043:23:106;5343:468;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;5343:468:106;;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;5343:468:106;;;328:879:111;;5343:468:106;;:::i;:::-;328:879:111;;5832:30:106;;-1:-1:-1;;;;;328:879:111;2854:17:106;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;5832:30:106;2802:37;5882:13;;328:879:111;;;;-1:-1:-1;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;;;5906:44:106;819:34:73;837:15;819:34;:::i;:::-;4576:4:106;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;;-1:-1:-1;;;328:879:111;;;;;;;;5906:44:106;328:879:111;;;;;;4576:4:106;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;;;;;328:879:111;;;;;;;;5960:44:106;328:879:111;;;;;;;;;2854:17:106;328:879:111;;;;;;;2854:17:106;328:879:111;;6015:42:106;6068:38;328:879:111;5343:468:106;6085:21;;328:879:111;;;;;;;2854:17:106;328:879:111;;;;;;;;;;;;2854:17:106;328:879:111;;6068:38:106;6116:34;5343:468;6131:19;;328:879:111;6116:34:106;1991:1:30;;328:879:111;;;;6161:135:106;;4180:411;-1:-1:-1;6309:36:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6305:157:106;;4180:411;-1:-1:-1;6475:35:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6471:153:106;;4180:411;-1:-1:-1;6637:34:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6633:152:106;;4180:411;-1:-1:-1;6798:32:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;6794:145:106;;2673:4272;:::o;6794:145::-;6860:68;;;:::i;6633:152::-;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;328:879:111;4668:37:106;;-1:-1:-1;;;;;328:879:111;;;4668:37:106;:23;;4729:32;;;328:879:111;4729:46:106;;-1:-1:-1;;;;;328:879:111;;;4729:46:106;:32;;4803:36;;;328:879:111;4803:50:106;;-1:-1:-1;;;;;328:879:111;;;4803:50:106;;;:78;;;4725:396;4799:167;;4725:396;6015:42;328:879:111;;4725:396:106;;5960:44;328:879:111;;4725:396:106;5343:468;6798:32;4725:396;;4601:697;;;;;;;;;;;;;;;4799:167;328:879:111;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;328:879:111;4857:24:106;4803:78;;4725:396;4994:36;;;328:879:111;4994:50:106;;-1:-1:-1;;;;;328:879:111;;;4994:50:106;;4990:131;;4725:396;6015:42;328:879:111;;4725:396:106;;5960:44;328:879:111;;4725:396:106;5343:468;6798:32;4725:396;;;4664:624;5145:32;;;328:879:111;5145:46:106;;-1:-1:-1;;;;;328:879:111;;;5145:46:106;;:74;;;4664:624;5141:147;;4664:624;6015:42;328:879:111;;4664:624:106;;5960:44;328:879:111;;4664:624:106;5343:468;6798:32;4664:624;;;5145:74;5195:19;;;;328:879:111;5195:24:106;5145:74;;4038:132;328:879:111;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;328:879:111;4070:39:106;;4042:67;;3057:971;3124:36;;;328:879:111;3124:50:106;;-1:-1:-1;;;;;328:879:111;;;3124:50:106;;3120:419;;3057:971;3557:34;;;328:879:111;3557:48:106;;-1:-1:-1;;;;;328:879:111;;;3557:48:106;;3553:465;;3057:971;;;3553:465;3629:21;;;328:879:111;;3629:21:106;;3678:19;;;328:879:111;3678:24:106;:74;;;3625:379;3674:157;3057:971;3674:157;328:879:111;;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;328:879:111;3706:46:106;;-1:-1:-1;;;;;328:879:111;;;3706:46:106;;3678:74;;3625:379;3859:19;;;328:879:111;3859:24:106;;;:74;;;3625:379;3855:149;3553:465;3855:149;328:879:111;;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;328:879:111;3887:46:106;;-1:-1:-1;;;;;328:879:111;;;3887:46:106;;;3859:74;;3120:419;3198:23;;;328:879:111;;3198:23:106;;3249:35;;;328:879:111;3249:49:106;;-1:-1:-1;;;;;328:879:111;;;3249:49:106;3120:419;3245:132;328:879:111;;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;328:879:111;3405:49:106;;-1:-1:-1;;;;;328:879:111;;;3405:49:106;3401:124;3120:419;3401:124;328:879:111;;-1:-1:-1;;;3485:21:106;;;;;2955:92;328:879:111;;-1:-1:-1;;;3007:29:106;;;;;2850:95;328:879:111;;-1:-1:-1;;;2908:26:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;328:879:111;;5674:21:56;:17;;5799:158;;;;;;5670:354;328:879:111;;-1:-1:-1;;;5994:19:56;;;;;4589:408;328:879:111;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;328:879:111;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;328:879:111;;;4917:24:56;;;328:879:111;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;1642:1025:106;1783:1;328:879:111;;1746:38:106;1742:119;;1875:23;;;328:879:111;;-1:-1:-1;;;;;328:879:111;1875:23:106;;328:879:111;;1875:37:106;;:65;;1642:1025;1871:130;;328:879:111;2138:42:106;328:879:111;2507:36:106;328:879:111;2011:72:106;328:879:111;;;2011:72:106;1991:1:30;;2011:72:106;2094:34;2109:19;;;328:879:111;2094:34:106;1991:1:30;;328:879:111;;;;;;;;;;2138:42:106;328:879:111;;;2138:42:106;328:879:111;;2138:42:106;2195:33;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2191:148:106;;1642:1025;-1:-1:-1;2352:32:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2348:146:106;;-1:-1:-1;2507:36:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;2503:158:106;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;328:879:111;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;328:879:111;1916:24:106;;1875:65;;1742:119;328:879:111;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;328:879:111;14374:24:69;;;;14370:103;;328:879:111;14296:213:69;:::o;14370:103::-;328:879:111;;;;14421:41:69;;;;;;14452:2;14421:41;;;328:879:111;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":4788,"length":32},{"start":5187,"length":32},{"start":6660,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302\",\"dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"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\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba","urls":["bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302","dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"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 98e3770..af62980 100644 --- a/out/VaultVotesImplementation.sol/VaultVotesImplementation.json +++ b/out/VaultVotesImplementation.sol/VaultVotesImplementation.json @@ -1 +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":"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":"_VaultVotes_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","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":"result","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":"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":"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":"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":"InvalidOrigin","inputs":[]},{"type":"error","name":"NotInitializing","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":"0x60a034606d57601f61271438819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161268e908161008682396080518181816104a40152611cd20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220dd4f12eb976a7e9ae2c8f2668aeb68852feae03f439cf3e6da346390bce1449664736f6c63430008190033","sourceMap":"1065:3768:117:-:0;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;1403:40;;1065:3768;;;;;;;;1403:40;1065:3768;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;-1:-1:-1;1065:3768:117;;;;;-1:-1:-1;1065:3768:117","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220dd4f12eb976a7e9ae2c8f2668aeb68852feae03f439cf3e6da346390bce1449664736f6c63430008190033","sourceMap":"1065:3768:117:-:0;;;;;;2603:64:51;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;1065:3768:117;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::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;;1065:3768:117;;;;;3653:32:113;1065:3768:117;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;757:38:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;612:37:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;2084:35:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;3540:6;3393:48;3328:156;3352:90;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:117;3393:48;;;-1:-1:-1;;;;;1065:3768:117;;;;3393:48;;;1065:3768;;;;;;;;;;;;;;;;3393:48;;;;;;;;;;:::i;:::-;3352:19;:90;:::i;:::-;1065:3768;;;;3328:156;;;;;;:::i;:::-;3516:10;;;;3540:6;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;:::i;:::-;4133:5;1065:3768;;:::i;:::-;;;;3953:138;3977:96;1065:3768;;4018:54;;;1065:3768;4018:54;;;1065:3768;;;;;;;;;4018:54;;1065:3768;;;;;;;;;;;;;4018:54;;;;;:::i;3977:96::-;1065:3768;;;;3953:138;;;;;;:::i;:::-;4133:5;;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1329:40:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;:::i;:::-;;;837:15:75;819:34;837:15;819:34;:::i;:::-;1065:3768:117;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;1065:3768:117;;9737:15:73;-1:-1:-1;9762:18:73;;9801:1;9795:7;;9791:234;;1065:3768:117;10049:53:73;;;;;;:::i;:::-;10120:63;:8;;;:63;;1065:3768:117;-1:-1:-1;10120:63:73;1065:3768:117;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;10120:63:73;10168:7;1065:3768:117;10168:7:73;;:::i;:::-;14439:109;-1:-1:-1;14439:109:73;;-1:-1:-1;14439:109:73;;1065:3768:117;;;10120:63:73;;9791:234;9838:14;;;;;:::i;:::-;1065:3768:117;;;;;;;10049:53:73;14439:109;;-1:-1:-1;14439:109:73;;;;-1:-1:-1;14439:109:73;;1065:3768:117;;;;;9870:48:73;9866:149;1065:3768:117;;;9938:10:73;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;1065:3768:117;;:::i;5073:115:25:-;1065:3768:117;;-1:-1:-1;;;5129:48:25;;1065:3768:117;5129:48:25;;1065:3768:117;;;;;;;;;;;;;;5129:48:25;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:117;2489:52;;;-1:-1:-1;;;;;1065:3768:117;;;2489:52;;;1065:3768;;;;;;;;;2424:160;;2448:94;;2489:52;1065:3768;;;;2489:52;1065:3768;2424:160;1065:3768;-1:-1:-1;;;;;2599:22:117;;:::i;:::-;:42;2595:100;;2750:12;;;;:::i;2595:100::-;1065:3768;;-1:-1:-1;;;2664:20:117;;1065:3768;;2664:20;1065:3768;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;-1:-1:-1;;1065:3768:117;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:117;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1065:3768:117;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;1065:3768:117;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;1065:3768:117;2806:64:31;1065:3768:117;;3875:17:31;3902:20;1065:3768:117;3902:16:31;1065:3768:117;;3902:20:31;1065:3768:117;;;;;-1:-1:-1;1065:3768:117;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;3393:48;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;;;4126:39:113;1065:3768:117;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;2255:34:113;1065:3768:117;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;-1:-1:-1;;;;;1065:3768:117;;;:::i;:::-;;-1:-1:-1;1065:3768:117;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;7028:9:25;1065:3768:117;;:::i;:::-;966:10:28;7028:9:25;:::i;1065:3768:117:-;;;;;;-1:-1:-1;;1065:3768:117;;;;;;-1:-1:-1;1065:3768:117;2718:59:113;1065:3768:117;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1041:36:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;1989:39:113;1065:3768:117;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1564:45:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;2423:32:113;1065:3768:117;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;4027:43:113;1065:3768:117;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;5204:22:25;1065:3768:117;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:117;;;;-1:-1:-1;;;;;1065:3768:117;;:::i;:::-;;-1:-1:-1;1065:3768:117;2594:68:113;1065:3768:117;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;3932:39:113;1065:3768:117;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;-1:-1:-1;;;;;1065:3768:117;;:::i;:::-;;-1:-1:-1;1065:3768:117;972:64:29;1065:3768:117;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;2806:64:31;1065:3768:117;5777:18:31;:43;;;1065:3768:117;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;1065:3768:117;6043:16:31;;:::i;:::-;1065:3768:117;;6000:4:31;;;;5965:13;;1065:3768:117;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;-1:-1:-1;;;1065:3768:117;;;;;;;5777:43:31;1065:3768:117;5799:16:31;1065:3768:117;5799:21:31;5777:43;;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;;;3833:43:113;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;819:34:75;837:15;819:34;:::i;:::-;1065:3768:117;;;2039:29;;;2035:115;;7117:34:99;2198:28:117;;;:::i;:::-;7117:34:99;:::i;:::-;-1:-1:-1;;;;;1065:3768:117;;7168:7:99;1065:3768:117;;7178:17:99;1065:3768:117;7178:17:99;;:::i;:::-;1065:3768:117;;;;;;7168:31:99;1065:3768:117;;;;;;;;;;;;;7168:31:99;;1065:3768:117;-1:-1:-1;7168:31:99;;2035:115:117;1065:3768;;-1:-1:-1;;;2091:48:117;;1065:3768;2091:48;;1065:3768;;;;;;;;;;;;5129:48:25;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;;819:34:75;837:15;819:34;:::i;:::-;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;-1:-1:-1;;;;;4439:40:25;:31;1065:3768:117;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;1065:3768:117;;;;;;;;;;477:31:88;;1065:3768:117;;;;;;;;;;;:::i;477:31:88:-;518:79;;;1065:3768:117;518:79:88;;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;900:35:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;2953:94:113;1065:3768:117;;:::i;:::-;;;-1:-1:-1;1065:3768:117;2953:94:113;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;2953:94:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;3103:92:113;1065:3768:117;;:::i;:::-;;;-1:-1:-1;1065:3768:117;3103:92:113;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;3103:92:113;1065:3768:117;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;4396:31:113;1065:3768:117;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;:::i;:::-;;;-1:-1:-1;;;3719:44:117;;;;-1:-1:-1;;;;;1065:3768:117;;;3719:44;;;1065:3768;;;;;;;;;;;3821:5;;3667:106;;3678:86;;3719:44;1065:3768;;;;3719:44;1065:3768;3678:86;1065:3768;;;;3667:106;;;;;;:::i;:::-;3805:10;;3821:5;:::i;:::-;1065:3768;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;-1:-1:-1;1065:3768:117;2833:64:113;1065:3768:117;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;2345:22:113;1065:3768:117;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1183:36:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;3543:54:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;:::i;:::-;;;;;;;;;;;;;;;7310:15:25;;:24;7306:91;;7423:168;7660:9;1065:3768:117;7626:5:25;1065:3768:117;;;7477:57:25;1065:3768:117;7477:57:25;;1065:3768:117;2345:71:25;1065:3768:117;;;;;;;;;;2345:71:25;;1065:3768:117;2345:71:25;1065:3768:117;2345:71:25;;1065:3768:117;;2345:71:25;;1065:3768:117;;7477:57:25;;;;;:::i;:::-;7450:86;1065:3768:117;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;1065:3768:117;;-1:-1:-1;;;7357:29:25;;1065:3768:117;7357:29:25;;1065:3768:117;;;;;7357:29:25;1065:3768:117;;;;;;-1:-1:-1;;1065:3768:117;;;;2175:24:113;1065:3768:117;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;3741:36:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;466:39:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;4221:36:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;4313:27:113;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;1466:3:113;1065:3768:117;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;2930:158;2954:92;2995:50;;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:117;2995:50;;;-1:-1:-1;;;;;1065:3768:117;;;;2995:50;;;1065:3768;;;;;;;;;;;;;;;;;2930:158;3120:10;3144:12;3120:10;;3144:12;:::i;1065:3768::-;;;;;;-1:-1:-1;;1065:3768:117;;;;;3437:50:113;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;3393:48;;1065:3768;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;3393:48;1065:3768;;-1:-1:-1;;1065:3768:117;;;;;:::i;:::-;;;;-1:-1:-1;1065:3768:117;;;;:::o;:::-;;;:::o;3900:253:57:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;:::-;3900:253;:::o;4204:165:117:-;-1:-1:-1;;;;;1065:3768:117;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;14296:213:71:-;1065:3768:117;14374:24:71;;;;14370:103;;1065:3768:117;14296:213:71;:::o;14370:103::-;1065:3768:117;;;;14421:41:71;;;;;;14452:2;14421:41;;;1065:3768:117;;;;;14421:41:71;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;:::o;:::-;;9999:1:73;1065:3768:117;;;;;;;:::o;9584:606:73:-;2166:13:117;;1065:3768;9737:15:73;9702:17;9762:18;;9801:1;9795:7;;9791:234;;9584:606;10049:53;;13105:230;13112:10;;;;;;-1:-1:-1;;;10120:8:73;;;:63;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;2166:13:117;9702:17:73;14439:109;;;1065:3768:117;;;9584:606:73;:::o;13105:230::-;3721:5:70;;;;;;3731;;;;1065:3768:117;;;;;;;;;14439:109:73;9702:17;14439:109;1065:3768:117;14439:109:73;;;;1065:3768:117;;;;;-1:-1:-1;13189:136:73;1065:3768:117;;;13248:10:73;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;1065:3768:117;;;;;;;2166:13;9702:17:73;14439:109;1065:3768:117;14439:109:73;;;;1065:3768:117;;;;;9870:48:73;9866:149;1065:3768:117;;;9938:10:73;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;1065:3768:117;;;;;;;;;;;;;7178:12:99;1065:3768:117;;;;;;7178:12:99;-1:-1:-1;1065:3768:117;;;;-1:-1:-1;1065:3768:117;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;1065:3768:117;;-1:-1:-1;1065:3768:117;;;-1:-1:-1;1065:3768:117;:::o;10580:184:99:-;2599:13:117;1065:3768;10446:8:73;;;:63;-1:-1:-1;10446:63:73;-1:-1:-1;;;;;1065:3768:117;;10726:7:99;1065:3768:117;;10736:12:99;1065:3768:117;;;;;;10736:12:99;-1:-1:-1;1065:3768:117;;;;10580:184:99;:::o;10726:31::-;;-1:-1:-1;10580:184:99;:::o;10446:63:73:-;1065:3768:117;;;;;;;;2599:13;-1:-1:-1;14439:109:73;;;1065:3768:117;;;10446:63:73;;7855:367:25;-1:-1:-1;;;;;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;;;;-1:-1:-1;;;;;;1065:3768:117;;;;;;;8190:24:25;;1065:3768:117;;;;;;;;;8089:48:25;;-1:-1:-1;8089:48:25;4541:15:117;1065:3768;;;-1:-1:-1;1065:3768:117;10689:20:99;;;:::i;:::-;-1:-1:-1;;;;;1065:3768:117;;10726:7:99;1065:3768:117;;10736:12:99;:17;:12;;:17;:::i;:::-;1065:3768:117;;;;;;10726:31:99;8190:24:25;:::i;10726:31:99:-;;;-1:-1:-1;10726:31:99;8190:24:25;:::i;1065:3768:117:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:117;;;;;-1:-1:-1;;;1065:3768:117;;;;;;;;-1:-1:-1;1065:3768:117;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:117;;;;;-1:-1:-1;;;1065:3768:117;;;;;;;;-1:-1:-1;1065:3768:117;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;10310:206:73;1065:3768:117;;10446:8:73;;;:63;;10405:17;10310:206;:::o;10446:63::-;1065:3768:117;;;;;;;;;;10405:17:73;14439:109;;10405:17;14439:109;;;1065:3768:117;;;10310:206:73;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;1065:3768:117;;;4221:92:31;;;;1065:3768:117;2073:95:31;1065:3768:117;;;2073:95:31;;1065:3768:117;2073:95:31;;;1065:3768:117;4284:13:31;2073:95;;;1065:3768:117;4307:4:31;2073:95;;;1065:3768:117;2073:95:31;4221:92;;2073:95;1065:3768:117;;;;;;;;;;;;3445:249:66;1065:3768:117;3445:249:66;1065:3768:117;;;;;;4211:103:31;;-1:-1:-1;;;3445:249:66;;;;;;;;;4946:176:31;:::o;6887:260:64:-;;7105:8;6887:260;;7051:25;6887:260;7051:25;:::i;:::-;7105:8;;;;;:::i;2100:222:29:-;-1:-1:-1;;;;;1065:3768:117;;-1:-1:-1;1065:3768:117;;;972:64:29;1065:3768:117;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;1065:3768:117;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;1065:3768:117;;;;2270:35:29;;;1065:3768:117;;;;;;;;;;5129:48:25;2323:83:51;1019:819;;;;;;;4713:19:117;;1019:819:51;;;;;;;;;;;;;;;;4421:582:57;;4593:8;;-1:-1:-1;1065:3768:117;;5674:21:57;:17;;5799:158;;;;;;5670:354;1065:3768:117;;-1:-1:-1;;;5994:19:57;;;;;4589:408;1065:3768:117;;4841:22:57;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1065:3768:117;;-1:-1:-1;;;4917:24:57;;-1:-1:-1;;;;;1065:3768:117;;;4917:24:57;;;1065:3768:117;;;4917:24:57;4841:49;4867:18;;;:23;4841:49;;8998:846:25;-1:-1:-1;;;;;1065:3768:117;;;;8998:846:25;;1065:3768:117;;;;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;:::-;1065:3768:117;;;-1:-1:-1;;;;;1065:3768:117;;;;;;;;;;;;;9769:44:25;9522:306;;;;;9192:317;9300:28;;;:::i;:::-;9381:26;;;:::i;:::-;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1065:3768:117;;;10716:14:25;;;:::i;:::-;1065:3768:117;;;;;;;;;;;9448:46:25;8310:38:73;9448:46:25;8310:38:73;;;;:::i;:::-;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;1065:3768:117;;;;;;;:::o;:::-;;;;;;;;;;;;18080:5181:70;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:70;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:70;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;1065:3768:117;18246:1:70;1065:3768:117;22284:6:70;;;;:::i;:::-;1065:3768:117;;;;;22278:18:70;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;;;1065:3768:117;23216:28:70;1065:3768:117;;18080:5181:70;:::o;19887:61::-;18246:1;1065:3768:117;19887:61:70;;19787:87;1065:3768:117;;;;;19787:87:70;;;19687;1065:3768:117;;;;;19687:87:70;;;19585:89;1065:3768:117;;;;;19585:89:70;;;19482:90;1065:3768:117;;;;;19482:90:70;;;19379;1065:3768:117;;;;;19379:90:70;;;19274:92;-1:-1:-1;;;;1065:3768:117;-1:-1:-1;1065:3768:117;;;;19274:92:70;;12929:433:73;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:70;;;;;;3731;;;;1065:3768:117;;;;;;;;;14439:109:73;-1:-1:-1;14439:109:73;1065:3768:117;14439:109:73;;;-1:-1:-1;14439:109:73;;1065:3768:117;;;;;-1:-1:-1;13189:136:73;1065:3768:117;;;13248:10:73;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;7084:141:26;1065:3768:117;8837:64:26;1065:3768:117;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;1065:3768:117;;-1:-1:-1;;;7191:17:26;;;;;1065:3768:117;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:117;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:117;;;;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;3393:48;;;1065:3768;;;;-1:-1:-1;;;;;;;;;;;1065:3768:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:1551:64;;;6283:66;6270:79;;6266:164;;1065:3768:117;;;;;;-1:-1:-1;1065:3768:117;;;;;;;;;;;;;;;;;;;6541:24:64;;;;;;;;;-1:-1:-1;6541:24:64;-1:-1:-1;;;;;1065:3768:117;;6579:20:64;6575:113;;6698:49;-1:-1:-1;6698:49:64;-1:-1:-1;5203:1551:64;:::o;6575:113::-;6615:62;-1:-1:-1;6615:62:64;6541:24;6615:62;-1:-1:-1;6615:62:64;:::o;6541:24::-;1065:3768:117;;;-1:-1:-1;1065:3768:117;;;;;6266:164:64;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;1065:3768:117:-;;-1:-1:-1;1065:3768:117;;;:::o;:::-;;;;;;;;;;;;7280:532:64;1065:3768:117;;;:::i;:::-;7366:29:64;;;7411:7;;:::o;7362:444::-;1065:3768:117;;;:::i;:::-;7471:29:64;7462:38;;7471:29;;1065:3768:117;;-1:-1:-1;;;7523:23:64;;;;;7458:348;1065:3768:117;;;:::i;:::-;7576:35:64;7567:44;;7576:35;;1065:3768:117;;-1:-1:-1;;;7634:46:64;;;;;1065:3768:117;;;;;5129:48:25;7563:243:64;1065:3768:117;;7710:30:64;1065:3768:117;;:::i;:::-;7701:39:64;7697:109;;7563:243;7280:532::o;7697:109::-;1065:3768:117;;-1:-1:-1;;;7763:32:64;;;;;1065:3768:117;;;;;;5129:48:25;4174:218:71;-1:-1:-1;;;;;1065:3768:117;4254:25:71;;;4250:105;;1065:3768:117;4174:218:71;:::o;4250:105::-;1065:3768:117;;;;14421:41:71;;;;4302:42;;4333:3;4302:42;;;1065:3768:117;;;;;4302:42:71;10473:273:25;;819:34:75;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1065:3768:117;;;10716:14:25;;;:::i;:::-;1065:3768:117;;;;;;;;;8310:38:73;;;:::i;:::-;10686:53:25;;10473:273::o;7058:687:31:-;1065:3768:117;;:::i;:::-;;;;7230:22:31;;;;1065:3768:117;;7275:22:31;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;1065:3768:117;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;1065:3768:117;;:::i;:::-;;;;8147:25:31;;;;1065:3768:117;;8195:25:31;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;1065:3768:117;8541:18:31;;;;8579:20;:::o;1065:3768:117:-;;;-1:-1:-1;;;1065:3768:117;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1065:3768:117;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:73;1065:3768:117;;11657:922:73;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1065:3768:117;;;;;;;;;;;;12103:13:73;;;12099:89;;12251:14;;;;;12285:19;;;;1065:3768:117;;;;;;;;;;;;;;;;;12285:19:73;1065:3768:117;;12423:25:73;;:::o;12247:163::-;1065:3768:117;;;12343:52:73;1065:3768:117;12353:41:73;1065:3768:117;;:::i;:::-;;;;;;;;12353:41:73;-1:-1:-1;;;;;1065:3768:117;;12353:41:73;;;1065:3768:117;12343:52:73;:::i;:::-;12247:163;;12099:89;1065:3768:117;;-1:-1:-1;;;12143:30:73;;;;;11860:713;1065:3768:117;;12479:52:73;1065:3768:117;12489:41:73;1065:3768:117;;:::i;12489:41:73:-;-1:-1:-1;;;;;1065:3768:117;;12489:41:73;;;1065:3768:117;12343:52:73;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"75134":[{"start":1188,"length":32},{"start":7378,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultVotes_init()":"4f4e823d","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nonces(address)":"7ecebe00","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","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\":\"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\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":\"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\"},{\"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\":\"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\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[{\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"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\":\"result\",\"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.\"}],\"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.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"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.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"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.\"},\"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\"}}},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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/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/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/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/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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"InvalidOrigin"},{"inputs":[],"type":"error","name":"NotInitializing"},{"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":"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":[],"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":"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":"nonpayable","type":"function","name":"_VaultVotes_init"},{"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":[{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"result","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":"result","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"},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"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."},"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"}}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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/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/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/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/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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"license":"MIT"}},"version":1},"id":117} \ No newline at end of file +{"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":"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":"_VaultVotes_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","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":"result","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":"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":"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":"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":"InvalidOrigin","inputs":[]},{"type":"error","name":"NotInitializing","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":"0x60a034606d57601f61271438819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161268e908161008682396080518181816104a40152611cd20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220a20804a683abeed55004ec1348c20991bc7e5942b78ed5866d0e3fb4da230d8964736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;1403:40;;1065:3768;;;;;;;;1403:40;1065:3768;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;1065:3768:112","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220a20804a683abeed55004ec1348c20991bc7e5942b78ed5866d0e3fb4da230d8964736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;2603:64:50;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;1065:3768: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;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;3653:32:108;1065:3768:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;757:38:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;612:37:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2084:35:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;3540:6;3393:48;3328:156;3352:90;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;3393:48;;;-1:-1:-1;;;;;1065:3768:112;;;;3393:48;;;1065:3768;;;;;;;;;;;;;;;;3393:48;;;;;;;;;;:::i;:::-;3352:19;:90;:::i;:::-;1065:3768;;;;3328:156;;;;;;:::i;:::-;3516:10;;;;3540:6;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;4133:5;1065:3768;;:::i;:::-;;;;3953:138;3977:96;1065:3768;;4018:54;;;1065:3768;4018:54;;;1065:3768;;;;;;;;;4018:54;;1065:3768;;;;;;;;;;;;;4018:54;;;;;:::i;3977:96::-;1065:3768;;;;3953:138;;;;;;:::i;:::-;4133:5;;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1329:40:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;837:15:73;819:34;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;1065:3768:112;;9737:15:71;-1:-1:-1;9762:18:71;;9801:1;9795:7;;9791:234;;1065:3768:112;10049:53:71;;;;;;:::i;:::-;10120:63;:8;;;:63;;1065:3768:112;-1:-1:-1;10120:63:71;1065:3768:112;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;10120:63:71;10168:7;1065:3768:112;10168:7:71;;:::i;:::-;14439:109;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;1065:3768:112;;;10120:63:71;;9791:234;9838:14;;;;;:::i;:::-;1065:3768:112;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;1065:3768:112;;:::i;5073:115:25:-;1065:3768:112;;-1:-1:-1;;;5129:48:25;;1065:3768:112;5129:48:25;;1065:3768:112;;;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2489:52;;;-1:-1:-1;;;;;1065:3768:112;;;2489:52;;;1065:3768;;;;;;;;;2424:160;;2448:94;;2489:52;1065:3768;;;;2489:52;1065:3768;2424:160;1065:3768;-1:-1:-1;;;;;2599:22:112;;:::i;:::-;:42;2595:100;;2750:12;;;;:::i;2595:100::-;1065:3768;;-1:-1:-1;;;2664:20:112;;1065:3768;;2664:20;1065:3768;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;-1:-1:-1;;1065:3768:112;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1065:3768:112;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;1065:3768:112;2806:64:31;1065:3768:112;;3875:17:31;3902:20;1065:3768:112;3902:16:31;1065:3768:112;;3902:20:31;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;3393:48;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;4126:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2255:34:108;1065:3768:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;1065:3768:112;;;:::i;:::-;;-1:-1:-1;1065:3768:112;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;7028:9:25;1065:3768:112;;:::i;:::-;966:10:28;7028:9:25;:::i;1065:3768:112:-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2718:59:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1041:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;1989:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1564:45:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2423:32:108;1065:3768:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;4027:43:108;1065:3768:112;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;5204:22:25;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;2594:68:108;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3932:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;972:64:29;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2806:64:31;1065:3768:112;5777:18:31;:43;;;1065:3768:112;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;1065:3768:112;6043:16:31;;:::i;:::-;1065:3768:112;;6000:4:31;;;;5965:13;;1065:3768:112;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;5777:43:31;1065:3768:112;5799:16:31;1065:3768:112;5799:21:31;5777:43;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3833:43:108;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;2039:29;;;2035:115;;7117:34:94;2198:28:112;;;:::i;:::-;7117:34:94;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;7168:7:94;1065:3768:112;;7178:17:94;1065:3768:112;7178:17:94;;:::i;:::-;1065:3768:112;;;;;;7168:31:94;1065:3768:112;;;;;;;;;;;;;7168:31:94;;1065:3768:112;-1:-1:-1;7168:31:94;;2035:115:112;1065:3768;;-1:-1:-1;;;2091:48:112;;1065:3768;2091:48;;1065:3768;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;4439:40:25;:31;1065:3768:112;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;1065:3768:112;;;;;;;;;;477:31:86;;1065:3768:112;;;;;;;;;;;:::i;477:31:86:-;518:79;;;1065:3768:112;518:79:86;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;900:35:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2953:94:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;2953:94:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;2953:94:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3103:92:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;3103:92:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;3103:92:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;4396:31:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;;;-1:-1:-1;;;3719:44:112;;;;-1:-1:-1;;;;;1065:3768:112;;;3719:44;;;1065:3768;;;;;;;;;;;3821:5;;3667:106;;3678:86;;3719:44;1065:3768;;;;3719:44;1065:3768;3678:86;1065:3768;;;;3667:106;;;;;;:::i;:::-;3805:10;;3821:5;:::i;:::-;1065:3768;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2833:64:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2345:22:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1183:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3543:54:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;7310:15:25;;:24;7306:91;;7423:168;7660:9;1065:3768:112;7626:5:25;1065:3768:112;;;7477:57:25;1065:3768:112;7477:57:25;;1065:3768:112;2345:71:25;1065:3768:112;;;;;;;;;;2345:71:25;;1065:3768:112;2345:71:25;1065:3768:112;2345:71:25;;1065:3768:112;;2345:71:25;;1065:3768:112;;7477:57:25;;;;;:::i;:::-;7450:86;1065:3768:112;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;1065:3768:112;;-1:-1:-1;;;7357:29:25;;1065:3768:112;7357:29:25;;1065:3768:112;;;;;7357:29:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;2175:24:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3741:36:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;466:39:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4221:36:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4313:27:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1466:3:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2930:158;2954:92;2995:50;;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2995:50;;;-1:-1:-1;;;;;1065:3768:112;;;;2995:50;;;1065:3768;;;;;;;;;;;;;;;;;2930:158;3120:10;3144:12;3120:10;;3144:12;:::i;1065:3768::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;3437:50:108;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;3393:48;;1065:3768;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;3393:48;1065:3768;;-1:-1:-1;;1065:3768:112;;;;;:::i;:::-;;;;-1:-1:-1;1065:3768:112;;;;:::o;:::-;;;:::o;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;:::-;3900:253;:::o;4204:165:112:-;-1:-1:-1;;;;;1065:3768:112;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;14296:213:69:-;1065:3768:112;14374:24:69;;;;14370:103;;1065:3768:112;14296:213:69;:::o;14370:103::-;1065:3768:112;;;;14421:41:69;;;;;;14452:2;14421:41;;;1065:3768:112;;;;;14421:41:69;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;:::o;:::-;;9999:1:71;1065:3768:112;;;;;;;:::o;9584:606:71:-;2166:13:112;;1065:3768;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;:::-;2166:13:112;9702:17:71;14439:109;;;1065:3768:112;;;9584:606:71;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;9702:17;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;1065:3768:112;;;;;;;2166:13;9702:17:71;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;1065:3768:112;;;;;;;;;;;;;7178:12:94;1065:3768:112;;;;;;7178:12:94;-1:-1:-1;1065:3768:112;;;;-1:-1:-1;1065:3768:112;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;1065:3768:112;:::o;10580:184:94:-;2599:13:112;1065:3768;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;1065:3768:112;;;;;;10736:12:94;-1:-1:-1;1065:3768:112;;;;10580:184:94;:::o;10726:31::-;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1065:3768:112;;;;;;;;2599:13;-1:-1:-1;14439:109:71;;;1065:3768:112;;;10446:63:71;;7855:367:25;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;-1:-1:-1;;;;;;1065:3768:112;;;;;;;8190:24:25;;1065:3768:112;;;;;;;;;8089:48:25;;-1:-1:-1;8089:48:25;4541:15:112;1065:3768;;;-1:-1:-1;1065:3768:112;10689:20:94;;;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;:17;:12;;:17;:::i;:::-;1065:3768:112;;;;;;10726:31:94;8190:24:25;:::i;10726:31:94:-;;;-1:-1:-1;10726:31:94;8190:24:25;:::i;1065:3768:112:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;10310:206:71;1065:3768:112;;10446:8:71;;;:63;;10405:17;10310:206;:::o;10446:63::-;1065:3768:112;;;;;;;;;;10405:17:71;14439:109;;10405:17;14439:109;;;1065:3768:112;;;10310:206:71;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;1065:3768:112;;;4221:92:31;;;;1065:3768:112;2073:95:31;1065:3768:112;;;2073:95:31;;1065:3768:112;2073:95:31;;;1065:3768:112;4284:13:31;2073:95;;;1065:3768:112;4307:4:31;2073:95;;;1065:3768:112;2073:95:31;4221:92;;2073:95;1065:3768:112;;;;;;;;;;;;3445:249:65;1065:3768:112;3445:249:65;1065:3768: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;;;;;1065:3768:112;;-1:-1:-1;1065:3768:112;;;972:64:29;1065:3768:112;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;1065:3768:112;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;1065:3768:112;;;;2270:35:29;;;1065:3768:112;;;;;;;;;;5129:48:25;2323:83:50;1019:819;;;;;;;4713:19:112;;1019:819:50;;;;;;;;;;;;;;;;4421:582:56;;4593:8;;-1:-1:-1;1065:3768:112;;5674:21:56;:17;;5799:158;;;;;;5670:354;1065:3768:112;;-1:-1:-1;;;5994:19:56;;;;;4589:408;1065:3768:112;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1065:3768:112;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;1065:3768:112;;;4917:24:56;;;1065:3768:112;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;8998:846:25;-1:-1:-1;;;;;1065:3768:112;;;;8998:846:25;;1065:3768: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;:::-;1065:3768:112;;;-1:-1:-1;;;;;1065:3768: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;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;;;9448:46:25;8310:38:71;9448:46:25;8310:38:71;;;;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;1065:3768: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;1065:3768:112;18246:1:68;1065:3768:112;22284:6:68;;;;:::i;:::-;1065:3768: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;;;1065:3768:112;23216:28:68;1065:3768:112;;18080:5181:68;:::o;19887:61::-;18246:1;1065:3768:112;19887:61:68;;19787:87;1065:3768:112;;;;;19787:87:68;;;19687;1065:3768:112;;;;;19687:87:68;;;19585:89;1065:3768:112;;;;;19585:89:68;;;19482:90;1065:3768:112;;;;;19482:90:68;;;19379;1065:3768:112;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1065:3768:112;-1:-1:-1;1065:3768:112;;;;19274:92:68;;12929:433:71;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1065:3768:112;14439:109:71;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;7084:141:26;1065:3768:112;8837:64:26;1065:3768:112;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;1065:3768:112;;-1:-1:-1;;;7191:17:26;;;;;1065:3768:112;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;3393:48;;;1065:3768;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:1551:63;;;6283:66;6270:79;;6266:164;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;6541:24:63;;;;;;;;;-1:-1:-1;6541:24:63;-1:-1:-1;;;;;1065:3768: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;6541:24::-;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;6266:164:63;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;1065:3768:112:-;;-1:-1:-1;1065:3768:112;;;:::o;:::-;;;;;;;;;;;;7280:532:63;1065:3768:112;;;:::i;:::-;7366:29:63;;;7411:7;;:::o;7362:444::-;1065:3768:112;;;:::i;:::-;7471:29:63;7462:38;;7471:29;;1065:3768:112;;-1:-1:-1;;;7523:23:63;;;;;7458:348;1065:3768:112;;;:::i;:::-;7576:35:63;7567:44;;7576:35;;1065:3768:112;;-1:-1:-1;;;7634:46:63;;;;;1065:3768:112;;;;;5129:48:25;7563:243:63;1065:3768:112;;7710:30:63;1065:3768:112;;:::i;:::-;7701:39:63;7697:109;;7563:243;7280:532::o;7697:109::-;1065:3768:112;;-1:-1:-1;;;7763:32:63;;;;;1065:3768:112;;;;;;5129:48:25;4174:218:69;-1:-1:-1;;;;;1065:3768:112;4254:25:69;;;4250:105;;1065:3768:112;4174:218:69;:::o;4250:105::-;1065:3768:112;;;;14421:41:69;;;;4302:42;;4333:3;4302:42;;;1065:3768:112;;;;;4302:42:69;10473:273:25;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;8310:38:71;;;:::i;:::-;10686:53:25;;10473:273::o;7058:687:31:-;1065:3768:112;;:::i;:::-;;;;7230:22:31;;;;1065:3768:112;;7275:22:31;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;1065:3768:112;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;1065:3768:112;;:::i;:::-;;;;8147:25:31;;;;1065:3768:112;;8195:25:31;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;1065:3768:112;8541:18:31;;;;8579:20;:::o;1065:3768:112:-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;1065:3768:112;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1065:3768:112;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1065:3768:112;;;;;;;;;;;;;;;;;12285:19:71;1065:3768:112;;12423:25:71;;:::o;12247:163::-;1065:3768:112;;;12343:52:71;1065:3768:112;12353:41:71;1065:3768:112;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1065:3768:112;;12353:41:71;;;1065:3768:112;12343:52:71;:::i;:::-;12247:163;;12099:89;1065:3768:112;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1065:3768:112;;12479:52:71;1065:3768:112;12489:41:71;1065:3768:112;;:::i;12489:41:71:-;-1:-1:-1;;;;;1065:3768:112;;12489:41:71;;;1065:3768:112;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72797":[{"start":1188,"length":32},{"start":7378,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultVotes_init()":"4f4e823d","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nonces(address)":"7ecebe00","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","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\":\"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\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":\"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\"},{\"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\":\"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\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[{\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"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\":\"result\",\"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.\"}],\"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.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"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.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"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.\"},\"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\"}}},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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/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/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/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/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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"InvalidOrigin"},{"inputs":[],"type":"error","name":"NotInitializing"},{"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":"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":[],"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":"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":"nonpayable","type":"function","name":"_VaultVotes_init"},{"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":[{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"result","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":"result","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"},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"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."},"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"}}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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/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/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/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/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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"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 1a49326..52eb9ae 100644 --- a/out/v1.1/Vault.sol/Vault.json +++ b/out/v1.1/Vault.sol/Vault.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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"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":"0x60c034610115576124b8906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516123769081610142823960805181818161055601526106c3015260a051816121490152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe60806040526004361061213f575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b600361213f5761108e565b611061565b611044565b611026565b611009565b610fec565b610fb2565b610f87565b610f3b565b610f1e565b610ef6565b610ed9565b610e9f565b610e77565b610e4d565b610e25565b610ddf565b610d92565b610d58565b610d3e565b610d1a565b610c4d565b610bef565b610bbb565b610b96565b610b6e565b610b2e565b610b06565b610a9f565b610a7a565b610a40565b610a18565b6109de565b6109b4565b610874565b610842565b61081d565b6107f5565b6107d4565b610789565b61074f565b610703565b6106ae565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206123018339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069d57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068c575f805160206123218339815191529081549060ff82871c16801561067e575b61066d579261060e9287959261063f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106095f80516020612321833981519152600160401b60ff60401b19825416179055565b611920565b5f80516020612321833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105a3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610726826106f2565b805f525f8051602061230183398151915260205261074a600160405f2001546119aa565b611e19565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a6816106f2565b336001600160a01b038216036107c25761066b90600435611e4f565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206123218339815191525416604051908152f35b346103915760603660031901126103915761088d6104a7565b602435610899816106f2565b6001600160401b0391604435838111610391576108ba9036906004016104bd565b5f805160206123218339815191529491855494838616806109a35760ff8760401c16908115610996575b50610984577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661097f9661094c958716906001600160401b0319161790556109475f80516020612321833981519152600160401b60ff60401b19825416179055565b611180565b5f80516020612321833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e4565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610ab7612107565b5f805160206122e183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4b816106f2565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f805160206122e1833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c41602435610c13816106f2565b6004355f525f80516020612301833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103915760408060031936011261039157600435610c6b816106f2565b6024356001600160401b038111610391575f80610d0993610c9260809436906004016104bd565b908188519283928337810184815203915af43d15610d115760203d610cb68161112f565b90610cc3875192836110df565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826110df565b805190602001fd5b60206060610ccc565b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610dd6602435610db4816106f2565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c41602435610e03816106f2565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f5e826106f2565b805f525f80516020612301833981519152602052610f82600160405f2001546119aa565b611e4f565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b600435611081816106f2565b611089612107565b6118af565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110da57604052565b6110ab565b90601f801991011681019081106001600160401b038211176110da57604052565b6040519061110d826110bf565b565b6040519061024082018281106001600160401b038211176110da57604052565b6001600160401b0381116110da57601f01601f191660200190565b9291926111568261112f565b9161116460405193846110df565b829481845281830111610391578281602093845f960137010152565b91906111db6111ea9161119161217b565b61119961217b565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b0395909490808716611895575b50369161114a565b60208082518301019101611f7c565b805190919083166001600160a01b0316156118835760409081830165ffffffffffff61121c825165ffffffffffff1690565b16156118725761012084018051909390611246906001600160a01b03165b6001600160a01b031690565b15611741575b606085019261126261125e8551151590565b1590565b80611732575b6117215761018086015f825b611674575b5050845161129091506001600160a01b031661123a565b1561153c575b92611446611436869461143061140b6114879661136f6101c09a61136a60c06114e69e01519161135a8d61134a60e08201519361133a6112e061010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061131890610220906001600160a01b03169701516001600160a01b031690565b97611321611100565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b6121a9565b88516113a6906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b039092169190911790556113ff6113d6426122ae565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61146d6114566080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61147a60a0840151600455565b516001600160a01b031690565b84811661152c575b506101408101516001600160a01b031684811661151c575b506101608101516001600160a01b031684811661150c575b506101a08101516001600160a01b03168481166114fc575b5001516001600160a01b031690565b9081166114f05750565b6114f990611c5d565b50565b61150590611bee565b505f6114d7565b61151590611b7f565b505f6114bf565b61152590611aa9565b505f6114a7565b611535906119f8565b505f61148f565b610100850151611554906001600160a01b031661123a565b61162357610200850151611570906001600160a01b031661123a565b6115e45761022085015161158c906001600160a01b031661123a565b1515806115d8575b6115c857926114466114366114e6969461143061140b6114879661136f6101c09a5b979a5050965050509496505050611296565b51630331eb0f60e41b8152600490fd5b5060e085015115611594565b6102208501516115fc906001600160a01b031661123a565b156115c857926114466114366114e6969461143061140b6114879661136f6101c09a6115b6565b61020085015161163b906001600160a01b031661123a565b1580611668575b6115c857926114466114366114e6969461143061140b6114879661136f6101c09a6115b6565b5060e085015115611642565b8151805182101561171b5761123a61147a8361168f936120df565b1561170a576116c86116c16116a861147a8486516120df565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6116f9579082826116f16116e46116a861147a859787516120df565b805460ff19166001179055565b019091611274565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611279565b815163ebf503c560e01b8152600490fd5b50610180860151511515611268565b610140850151611759906001600160a01b031661123a565b1561180f575b6101a0850151611777906001600160a01b031661123a565b15611782575b61124c565b6080850151156117cc5760a085015115806117ad575b1561124c575163183c854560e21b8152600490fd5b506101c08501516117c6906001600160a01b031661123a565b15611798565b60a0850151158015906117ef575b1561177d575163183c854560e21b8152600490fd5b506101c0850151611808906001600160a01b031661123a565b15156117da565b60608501511561184557610160850151611831906001600160a01b031661123a565b61175f575163183c854560e21b8152600490fd5b61016085015161185d906001600160a01b031661123a565b1561175f575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118a9906118a161217b565b61108961217b565b5f6111d3565b6001600160a01b03908116908115611908575f805160206122e183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b61192b91369161114a565b60c0818051810103126103915761110d9060c06040519161194b836110bf565b6020810151835260408101516020840152606081015161196a816106f2565b6040840152608081015161197d816106f2565b606084015260a0810151611990816106f2565b608084015201516119a0816106f2565b60a08201526121a9565b5f8181525f805160206123018339815191526020908152604080832033845290915290205460ff16156119da5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123018339815191529060ff16611aa3575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123018339815191529060ff905b5416611b78575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123018339815191529060ff90611b14565b5f8181525f80516020612301833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b14565b5f8181525f80516020612301833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611b78575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061110d826106f2565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110da578360051b9060405194611f40858401876110df565b85528380860192820101928311610391578301905b828210611f63575050505090565b8380918351611f71816106f2565b815201910190611f55565b906020828203126103915781516001600160401b03928382116103915701906102408282031261039157611fae61110f565b92611fb883611ee1565b8452611fc660208401611ee1565b6020850152611fd760408401611eec565b6040850152611fe860608401611eff565b6060850152611ff960808401611eff565b608085015260a083015160a085015260c083015160c085015260e083015160e085015261010061202a818501611ee1565b9085015261012061203c818501611ee1565b9085015261014061204e818501611ee1565b90850152610160612060818501611ee1565b9085015261018091828401519182116103915761207e918401611f0c565b908301526101a0612090818301611ee1565b908301526101c06120a2818301611ee1565b908301526101e06120b4818301611ee1565b908301526102006120c6818301611ee1565b908301526120d8610220809201611ee1565b9082015290565b80518210156120f35760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206122e1833981519152546001600160a01b0316330361212757565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612177573d5ff35b3d5ffd5b60ff5f805160206123218339815191525460401c161561219757565b604051631afcd79f60e31b8152600490fd5b600381511061229c576040810180516001600160a01b039291908316158061228f575b61227d57816122166121f460a0936121e76122519651600f55565b61147a6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661226d575b5060808101516001600160a01b0316848116612264575001516001600160a01b031690565b90811661225b5750565b6114f990611daa565b61150590611d3b565b61227690611ccc565b505f61222c565b604051630331eb0f60e41b8152600490fd5b50602082015115156121cc565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116122c1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209ffa458790a4636025271146fe0ba3c806da62bb1042bca388e06f35302eb99464736f6c63430008190033","sourceMap":"852:6163:111:-:0;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:6163:111;;;;;;;;;7896:76:26;;852:6163:111;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:84;;;;;1258:31:111;;852:6163;;;;;;;927:17:84;852:6163:111;;;;;;;;;;1258:31;852:6163;;;;;;7981:146:26;-1:-1:-1;;;;;;852:6163:111;;;;;;;;;;;;;8087:29:26;;852:6163:111;;8087:29:26;7981:146;;;;;7896:76;852:6163:111;;-1:-1:-1;;;7938:23:26;;;;;852:6163:111;-1:-1:-1;852:6163:111;;;;;;-1:-1:-1;852:6163:111;;;;;-1:-1:-1;852:6163:111;;;;-1:-1:-1;;;;;852:6163:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061213f575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b600361213f5761108e565b611061565b611044565b611026565b611009565b610fec565b610fb2565b610f87565b610f3b565b610f1e565b610ef6565b610ed9565b610e9f565b610e77565b610e4d565b610e25565b610ddf565b610d92565b610d58565b610d3e565b610d1a565b610c4d565b610bef565b610bbb565b610b96565b610b6e565b610b2e565b610b06565b610a9f565b610a7a565b610a40565b610a18565b6109de565b6109b4565b610874565b610842565b61081d565b6107f5565b6107d4565b610789565b61074f565b610703565b6106ae565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206123018339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069d57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068c575f805160206123218339815191529081549060ff82871c16801561067e575b61066d579261060e9287959261063f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106095f80516020612321833981519152600160401b60ff60401b19825416179055565b611920565b5f80516020612321833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105a3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610726826106f2565b805f525f8051602061230183398151915260205261074a600160405f2001546119aa565b611e19565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a6816106f2565b336001600160a01b038216036107c25761066b90600435611e4f565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206123218339815191525416604051908152f35b346103915760603660031901126103915761088d6104a7565b602435610899816106f2565b6001600160401b0391604435838111610391576108ba9036906004016104bd565b5f805160206123218339815191529491855494838616806109a35760ff8760401c16908115610996575b50610984577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661097f9661094c958716906001600160401b0319161790556109475f80516020612321833981519152600160401b60ff60401b19825416179055565b611180565b5f80516020612321833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e4565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610ab7612107565b5f805160206122e183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4b816106f2565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f805160206122e1833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c41602435610c13816106f2565b6004355f525f80516020612301833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103915760408060031936011261039157600435610c6b816106f2565b6024356001600160401b038111610391575f80610d0993610c9260809436906004016104bd565b908188519283928337810184815203915af43d15610d115760203d610cb68161112f565b90610cc3875192836110df565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826110df565b805190602001fd5b60206060610ccc565b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610dd6602435610db4816106f2565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c41602435610e03816106f2565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f5e826106f2565b805f525f80516020612301833981519152602052610f82600160405f2001546119aa565b611e4f565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b600435611081816106f2565b611089612107565b6118af565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110da57604052565b6110ab565b90601f801991011681019081106001600160401b038211176110da57604052565b6040519061110d826110bf565b565b6040519061024082018281106001600160401b038211176110da57604052565b6001600160401b0381116110da57601f01601f191660200190565b9291926111568261112f565b9161116460405193846110df565b829481845281830111610391578281602093845f960137010152565b91906111db6111ea9161119161217b565b61119961217b565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b0395909490808716611895575b50369161114a565b60208082518301019101611f7c565b805190919083166001600160a01b0316156118835760409081830165ffffffffffff61121c825165ffffffffffff1690565b16156118725761012084018051909390611246906001600160a01b03165b6001600160a01b031690565b15611741575b606085019261126261125e8551151590565b1590565b80611732575b6117215761018086015f825b611674575b5050845161129091506001600160a01b031661123a565b1561153c575b92611446611436869461143061140b6114879661136f6101c09a61136a60c06114e69e01519161135a8d61134a60e08201519361133a6112e061010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061131890610220906001600160a01b03169701516001600160a01b031690565b97611321611100565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b6121a9565b88516113a6906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b039092169190911790556113ff6113d6426122ae565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61146d6114566080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61147a60a0840151600455565b516001600160a01b031690565b84811661152c575b506101408101516001600160a01b031684811661151c575b506101608101516001600160a01b031684811661150c575b506101a08101516001600160a01b03168481166114fc575b5001516001600160a01b031690565b9081166114f05750565b6114f990611c5d565b50565b61150590611bee565b505f6114d7565b61151590611b7f565b505f6114bf565b61152590611aa9565b505f6114a7565b611535906119f8565b505f61148f565b610100850151611554906001600160a01b031661123a565b61162357610200850151611570906001600160a01b031661123a565b6115e45761022085015161158c906001600160a01b031661123a565b1515806115d8575b6115c857926114466114366114e6969461143061140b6114879661136f6101c09a5b979a5050965050509496505050611296565b51630331eb0f60e41b8152600490fd5b5060e085015115611594565b6102208501516115fc906001600160a01b031661123a565b156115c857926114466114366114e6969461143061140b6114879661136f6101c09a6115b6565b61020085015161163b906001600160a01b031661123a565b1580611668575b6115c857926114466114366114e6969461143061140b6114879661136f6101c09a6115b6565b5060e085015115611642565b8151805182101561171b5761123a61147a8361168f936120df565b1561170a576116c86116c16116a861147a8486516120df565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6116f9579082826116f16116e46116a861147a859787516120df565b805460ff19166001179055565b019091611274565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611279565b815163ebf503c560e01b8152600490fd5b50610180860151511515611268565b610140850151611759906001600160a01b031661123a565b1561180f575b6101a0850151611777906001600160a01b031661123a565b15611782575b61124c565b6080850151156117cc5760a085015115806117ad575b1561124c575163183c854560e21b8152600490fd5b506101c08501516117c6906001600160a01b031661123a565b15611798565b60a0850151158015906117ef575b1561177d575163183c854560e21b8152600490fd5b506101c0850151611808906001600160a01b031661123a565b15156117da565b60608501511561184557610160850151611831906001600160a01b031661123a565b61175f575163183c854560e21b8152600490fd5b61016085015161185d906001600160a01b031661123a565b1561175f575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118a9906118a161217b565b61108961217b565b5f6111d3565b6001600160a01b03908116908115611908575f805160206122e183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b61192b91369161114a565b60c0818051810103126103915761110d9060c06040519161194b836110bf565b6020810151835260408101516020840152606081015161196a816106f2565b6040840152608081015161197d816106f2565b606084015260a0810151611990816106f2565b608084015201516119a0816106f2565b60a08201526121a9565b5f8181525f805160206123018339815191526020908152604080832033845290915290205460ff16156119da5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123018339815191529060ff16611aa3575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123018339815191529060ff905b5416611b78575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123018339815191529060ff90611b14565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123018339815191529060ff90611b14565b5f8181525f80516020612301833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b14565b5f8181525f80516020612301833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611b78575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061110d826106f2565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110da578360051b9060405194611f40858401876110df565b85528380860192820101928311610391578301905b828210611f63575050505090565b8380918351611f71816106f2565b815201910190611f55565b906020828203126103915781516001600160401b03928382116103915701906102408282031261039157611fae61110f565b92611fb883611ee1565b8452611fc660208401611ee1565b6020850152611fd760408401611eec565b6040850152611fe860608401611eff565b6060850152611ff960808401611eff565b608085015260a083015160a085015260c083015160c085015260e083015160e085015261010061202a818501611ee1565b9085015261012061203c818501611ee1565b9085015261014061204e818501611ee1565b90850152610160612060818501611ee1565b9085015261018091828401519182116103915761207e918401611f0c565b908301526101a0612090818301611ee1565b908301526101c06120a2818301611ee1565b908301526101e06120b4818301611ee1565b908301526102006120c6818301611ee1565b908301526120d8610220809201611ee1565b9082015290565b80518210156120f35760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206122e1833981519152546001600160a01b0316330361212757565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612177573d5ff35b3d5ffd5b60ff5f805160206123218339815191525460401c161561219757565b604051631afcd79f60e31b8152600490fd5b600381511061229c576040810180516001600160a01b039291908316158061228f575b61227d57816122166121f460a0936121e76122519651600f55565b61147a6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661226d575b5060808101516001600160a01b0316848116612264575001516001600160a01b031690565b90811661225b5750565b6114f990611daa565b61150590611d3b565b61227690611ccc565b505f61222c565b604051630331eb0f60e41b8152600490fd5b50602082015115156121cc565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116122c1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209ffa458790a4636025271146fe0ba3c806da62bb1042bca388e06f35302eb99464736f6c63430008190033","sourceMap":"852:6163:111:-:0;;;;;;2603:64:51;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;852:6163: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;:::-;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:6163:111;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:6163:111;-1:-1:-1;852:6163:111;;;;;;;;-1:-1:-1;;852:6163:111;;;;;3653:32:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;757:38:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;612:37:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;2084:35:113;852:6163:111;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;-1:-1:-1;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;;4919:24:23;852:6163:111;-1:-1:-1;852:6163:111;4919:24:23;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:6163:111;;3670:20:30;3666:88;;1991:1;;;1673:7:84;-1:-1:-1;;;;;852:6163:111;1659:10:84;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;;;;;;6431:44:26;;;;852:6163:111;6427:105:26;;852:6163:111;1809:204:84;852:6163:111;;;;6656:20:26;852:6163:111;;6656:20:26;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6163:111;;;;;;;;6575:22:26;1809:204:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6163:111;;-1:-1:-1;;;;852:6163:111;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:6163:111;6427:105:26;852:6163:111;;-1:-1:-1;;;6498:23:26;;852:6163:111;;6498:23:26;6431:44;852:6163:111;;;;;;;6450:25:26;;6431:44;;1655:71:84;852:6163:111;;-1:-1:-1;;;1703:12:84;;852:6163:111;;1703:12:84;3666:88:30;852:6163:111;;-1:-1:-1;;;3713:30:30;;852:6163:111;;3713:30:30;852:6163:111;;;;;;-1:-1:-1;;852:6163:111;;;;;;655:32:84;-1:-1:-1;;;;;852:6163:111;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:6163:111;;;;5350:25:23;852:6163:111;;;;;;;:::i;:::-;;-1:-1:-1;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;3202:4:23;4919:24;852:6163:111;-1:-1:-1;852:6163:111;4919:24:23;852:6163:111;3202:4:23;:::i;:::-;5350:25;:::i;852:6163:111:-;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1329:40:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:6163:111;;6441:34:23;6437:102;;6549:37;852:6163:111;;;6549:37:23;:::i;6437:102::-;852:6163:111;;-1:-1:-1;;;6498:30:23;;852:6163:111;;6498:30:23;852:6163:111;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;4126:39:113;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;2255:34:113;852:6163:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:6163:111;;;;;;734:29:84;730:87;;852:6163:111;;;;;6431:44:26;;;;;852:6163:111;6427:105:26;;;6656:20;852:6163:111;6656:20:26;852:6163:111;1167:340:84;852:6163:111;;;;-1:-1:-1;;;;;852:6163:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6163:111;;;;;;;;6575:22:26;1167:340:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6163:111;;-1:-1:-1;;;;852:6163:111;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;6656:20:26;;;;852:6163:111;6427:105:26;852:6163:111;;-1:-1:-1;;;6498:23:26;;852:6163:111;;6498:23:26;6431:44;852:6163:111;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:84;852:6163:111;;-1:-1:-1;;;786:20:84;;852:6163:111;;786:20:84;852:6163:111;;;;;;-1:-1:-1;;852:6163:111;;;;;;-1:-1:-1;852:6163:111;2718:59:113;852:6163:111;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1041:36:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;1989:39:113;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1564:45:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;2423:32:113;852:6163:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6163:111;;-1:-1:-1;;;;;;852:6163:111;;;;;;;-1:-1:-1;;;;;852:6163:111;3975:40:24;852:6163:111;;3975:40:24;852:6163:111;;;;;;;-1:-1:-1;;852:6163:111;;;;;;4027:43:113;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:6163:111;2594:68:113;852:6163:111;;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;3932:39:113;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;3833:43:113;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;3901:31:23;852:6163:111;;;;;:::i;:::-;;;-1:-1:-1;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;;;;3901:31:23;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:6163:111;;;;-1:-1:-1;852:6163:111;477:31:88;852:6163:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;852:6163:111;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;477:31:88;;;852:6163:111;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;477:31:88;852:6163:111;477:31:88;;;;;;;:::i;:::-;518:79;;;852:6163:111;518:79:88;;852:6163:111;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;900:35:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;2953:94:113;852:6163:111;;;;;:::i;:::-;;;-1:-1:-1;852:6163:111;2953:94:113;852:6163:111;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;;;;2953:94:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;3103:92:113;852:6163:111;;;;;:::i;:::-;;;-1:-1:-1;852:6163:111;3103:92:113;852:6163:111;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;4396:31:113;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;-1:-1:-1;852:6163:111;2833:64:113;852:6163:111;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;2345:22:113;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1183:36:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;3543:54:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;2175:24:113;852:6163:111;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;3741:36:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;5767:26:23;852:6163:111;;;;;;;:::i;:::-;;-1:-1:-1;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;3202:4:23;4919:24;852:6163:111;-1:-1:-1;852:6163:111;4919:24:23;852:6163:111;3202:4:23;:::i;:::-;5767:26;:::i;852:6163:111:-;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;466:39:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;4221:36:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;4313:27:113;852:6163:111;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;1466:3:113;852:6163:111;;;;;;;;;-1:-1:-1;;852:6163:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6163:111;;;;2357:1:24;852:6163:111;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:6163:111:-;;;;;;-1:-1:-1;;852:6163:111;;;;;3437:50:113;852:6163:111;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:6163:111;;;;;;-1:-1:-1;;852:6163:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:6163:111;;;;;;:::o;1167:340:84:-;;;852:6163:111;2615:37;1167:340:84;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:6163:111;1949:1:30;;1991;852:6163:111;;;1376:73:84;;1167:340;852:6163:111;;;;:::i;:::-;2615:37;852:6163;;;2615:37;;;;;;:::i;:::-;852:6163;;;;;;;-1:-1:-1;;;;;852:6163:111;2667:31;2663:95;;2772:20;;;;;852:6163;;;;;;;;;;2772:25;2768:92;;2874:29;;;852:6163;;2874:29;;852:6163;2874:43;;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;;;;;852:6163:111;;;2874:43;;2870:971;;1167:340:84;3856:23:111;;;852:6163;3855:24;852:6163;;;;;;;;3855:24;;852:6163;3855:24;:67;;;1167:340:84;3851:132:111;;4013:28;;;-1:-1:-1;3998:9:111;1949:1:30;;;3993:411:111;-1:-1:-1;;852:6163:111;;4418:43;;-1:-1:-1;;;;;;852:6163:111;;;4418:43;;4414:697;;3993:411;5224:34;5828:42;852:6163;5224:34;;5773:44;852:6163;;5224:34;5156:468;6611:32;5224:34;5156:468;5224:34;852:6163;5224:34;;852:6163;5290:19;5156:468;5290:19;5156:468;5290:19;;;852:6163;5345:23;5156:468;852:6163;5345:23;;;852:6163;;;;;;;;;;5414:33;;;852:6163;-1:-1:-1;;;;;852:6163:111;5492:32;;;852:6163;5492:32;;;852:6163;;5573:36;;-1:-1:-1;;;;;852:6163:111;5573:36;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;;;;:::i;:::-;;;;2615:37;5156:468;;852:6163;-1:-1:-1;;;;;852:6163:111;;;5156:468;;;852:6163;;5156:468;-1:-1:-1;;;;;852:6163:111;3856:23;5156:468;;852:6163;;5156:468;-1:-1:-1;;;;;852:6163:111;5156:468;;;852:6163;;5156:468;-1:-1:-1;;;;;852:6163:111;5156:468;;;852:6163;;5156:468;;:::i;:::-;852:6163;;5645:30;;-1:-1:-1;;;;;852:6163:111;1398:1:84;852:6163:111;;-1:-1:-1;;;;;;852:6163:111;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;5645:30;2615:37;5695:13;;852:6163;;;;-1:-1:-1;;;;;;852:6163:111;-1:-1:-1;;;;;852:6163:111;;;;;;;;;5719:44;819:34:75;837:15;819:34;:::i;:::-;1949:1:30;852:6163:111;;-1:-1:-1;;;;852:6163:111;;;;;;-1:-1:-1;;;852:6163:111;;;;;;;;5719:44;852:6163;;;;;;1949:1:30;852:6163:111;;-1:-1:-1;;;;;852:6163:111;;;;;;-1:-1:-1;;;;;;852:6163:111;;;;;;;;5773:44;852:6163;;;;;;;;;1398:1:84;852:6163:111;;;;;;;1398:1:84;852:6163:111;;5828:42;5881:38;852:6163;5156:468;5898:21;;852:6163;;;;;;;1398:1:84;852:6163:111;;;;;;;;;;;;1398:1:84;852:6163:111;;5881:38;5929:34;5156:468;5944:19;;852:6163;5929:34;1991:1:30;;5929:34:111;852:6163;-1:-1:-1;;;;;852:6163:111;;;;;;;5974:135;;3993:411;-1:-1:-1;6122:36:111;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;6118:157;;3993:411;-1:-1:-1;6288:35:111;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;6284:153;;3993:411;-1:-1:-1;6450:34:111;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;6446:152;;3993:411;-1:-1:-1;6611:32:111;852:6163;-1:-1:-1;;;;;852:6163:111;;;;;;;6607:145;;1167:340:84;:::o;6607:145:111:-;6673:68;;;:::i;:::-;;1167:340:84:o;6446:152:111:-;6514:73;;;:::i;:::-;;6446:152;;;6284:153;6353:73;;;:::i;:::-;;6284:153;;;6118:157;6188:76;;;:::i;:::-;;6118:157;;;5974:135;6037:61;;;:::i;:::-;;5974:135;;;4414:697;4481:23;;;852:6163;4481:37;;-1:-1:-1;;;;;852:6163:111;;;4481:37;:23;;4542:32;;;852:6163;4542:46;;-1:-1:-1;;;;;852:6163:111;;;4542:46;:32;;4616:36;;;852:6163;4616:50;;-1:-1:-1;;;;;852:6163:111;;;4616:50;;;:78;;;4538:396;4612:167;;4538:396;5828:42;852:6163;;4538:396;;5773:44;852:6163;;4538:396;5156:468;6611:32;4538:396;;4414:697;;;;;;;;;;;;;;;4612:167;852:6163;-1:-1:-1;;;4729:27:111;;;;;4616:78;4670:19;;;;852:6163;4670:24;4616:78;;4538:396;4807:36;;;852:6163;4807:50;;-1:-1:-1;;;;;852:6163:111;;;4807:50;;4803:131;;4538:396;5828:42;852:6163;;4538:396;;5773:44;852:6163;;4538:396;5156:468;6611:32;4538:396;;;4477:624;4958:32;;;852:6163;4958:46;;-1:-1:-1;;;;;852:6163:111;;;4958:46;;:74;;;4477:624;4954:147;;4477:624;5828:42;852:6163;;4477:624;;5773:44;852:6163;;4477:624;5156:468;6611:32;4477:624;;;4958:74;5008:19;;;;852:6163;5008:24;4958:74;;4050:3;4013:28;;852:6163;;4009:39;;;;;4073:31;;;:45;:31;;:::i;:45::-;;4069:114;;4201:55;;4224:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:6163:111;;;;;4201:22;852:6163;;;;;;;4201:55;852:6163;;;;;4201:55;4197:120;;4354:28;;;4331:62;:55;4354:31;;:28;;;;:31;:::i;4331:55::-;852:6163;;-1:-1:-1;;852:6163:111;1949:1:30;852:6163:111;;;;4331:62;852:6163;3998:9;;;;4197:120;852:6163;;-1:-1:-1;;;4283:19:111;;;;;4069:114;852:6163;;-1:-1:-1;;;4145:23:111;;;;;4009:39;;;;3851:132;852:6163;;-1:-1:-1;;;3945:27:111;;;;;3855:67;3883:28;;;;;852:6163;3883:39;;3855:67;;2870:971;2937:36;;;852:6163;2937:50;;-1:-1:-1;;;;;852:6163:111;;;2937:50;;2933:419;;2870:971;3370:34;;;852:6163;3370:48;;-1:-1:-1;;;;;852:6163:111;;;3370:48;;3366:465;;2870:971;;;3366:465;3442:21;;;852:6163;;3442:21;;3491:19;;;852:6163;3491:24;:74;;;3438:379;3487:157;2870:971;3487:157;852:6163;-1:-1:-1;;;3600:21:111;;;;;3491:74;-1:-1:-1;3519:32:111;;;852:6163;3519:46;;-1:-1:-1;;;;;852:6163:111;;;3519:46;;3491:74;;3438:379;3672:19;;;852:6163;3672:24;;;:74;;;3438:379;3668:149;3366:465;3668:149;852:6163;-1:-1:-1;;;3777:21:111;;;;;3672:74;-1:-1:-1;3700:32:111;;;852:6163;3700:46;;-1:-1:-1;;;;;852:6163:111;;;3700:46;;;3672:74;;2933:419;3011:23;;;852:6163;;3011:23;;3062:35;;;852:6163;3062:49;;-1:-1:-1;;;;;852:6163:111;;;3062:49;2933:419;3058:132;852:6163;-1:-1:-1;;;3146:21:111;;;;;3007:331;3218:35;;;852:6163;3218:49;;-1:-1:-1;;;;;852:6163:111;;;3218:49;3214:124;2933:419;3214:124;852:6163;-1:-1:-1;;;3298:21:111;;;;;2768:92;852:6163;;-1:-1:-1;;;2820:29:111;;;;;2663:95;852:6163;;-1:-1:-1;;;2721:26:111;;;;;1376:73:84;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:84;;;3405:215:24;-1:-1:-1;;;;;852:6163:111;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:6163:111;;-1:-1:-1;;;;;;852:6163:111;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:6163:111;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:6163:111;;;3534:31:24;1809:204:84;852:6163:111;1809:204:84;852:6163:111;;;:::i;:::-;;;;;6926:40;;852:6163;;;;6999:6;852:6163;;;;;;;;:::i;:::-;6926:40;;;852:6163;;;;;;;6926:40;852:6163;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;6999:6;:::i;4148:103:23:-;-1:-1:-1;852:6163:111;;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;;;;;966:10:28;852:6163:111;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:6163:111;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:6163:111;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:6163:111;;1398:1:84;852:6163:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;;;1398:1:84;852:6163:111;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;-1:-1:-1;;852:6163:111;7509:4:23;852:6163:111;;;966:10:28;;-1:-1:-1;;;;;852:6163:111;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:84;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;466:39:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;-1:-1:-1;;852:6163:111;7509:4:23;852:6163:111;;;966:10:28;;-1:-1:-1;;;;;852:6163: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;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;612:37:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;757:38:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;900:35:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;1041:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;1183:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;;;;;852:6163:111;;-1:-1:-1;852:6163:111;;;;;;;;;1329:40:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6163:111;;3901:31:23;852:6163:111;7270:387:23;-1:-1:-1;852:6163:111;;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;3901:31:23;852:6163:111;7892:388:23;-1:-1:-1;852:6163:111;;;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;;-1:-1:-1;852:6163:111;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;-1:-1:-1;;852:6163:111;;;966:10:28;;-1:-1:-1;;;;;852:6163:111;;8155:40:23;-1:-1:-1;;8155:40:23;852:6163:111;8209:11:23;:::o;852:6163:111:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6163:111;;;;;;;;;;;;;;;;;:::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:6163:111;-1:-1:-1;;;;;852:6163:111;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:6163:111;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:6163:111;;;2763:40:24;2323:83:51;1019:819;;;;;;;1428:14:111;;1019:819:51;;;;;;;;;;;;;;;;7084:141:26;852:6163:111;-1:-1:-1;;;;;;;;;;;852:6163:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:6163:111;;-1:-1:-1;;;7191:17:26;;;;;1455:1025:111;1596:1;852:6163;;1559:38;1555:119;;1688:23;;;852:6163;;-1:-1:-1;;;;;852:6163:111;1688:23;;852:6163;;1688:37;;:65;;1455:1025;1684:130;;852:6163;1951:42;852:6163;2320:36;852:6163;1824:72;852:6163;;;1824:72;1991:1:30;;1824:72:111;1907:34;1922:19;;;852:6163;1907:34;1991:1:30;;852:6163:111;;;;;;;;;;1951:42;852:6163;;;1951:42;852:6163;;1951:42;2008:33;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;2004:148;;1455:1025;-1:-1:-1;2165:32:111;;;852:6163;-1:-1:-1;;;;;852:6163:111;;;;2161:146;;-1:-1:-1;2320:36:111;852:6163;-1:-1:-1;;;;;852:6163:111;;;;;;;2316:158;;1455:1025;:::o;2316:158::-;2386:77;;;:::i;2161:146::-;2227:69;;;:::i;2004:148::-;2071:70;;;:::i;:::-;;2004:148;;;1684:130;1688:23;852:6163;-1:-1:-1;;;1776:27:111;;;;;1688:65;1729:19;;;;852:6163;1729:24;;1688:65;;1555:119;852:6163;;-1:-1:-1;;;1620:43:111;;;;;14296:213:71;852:6163:111;14374:24:71;;;;14370:103;;852:6163:111;14296:213:71;:::o;14370:103::-;852:6163:111;;;;14421:41:71;;;;;;14452:2;14421:41;;;852:6163:111;;;;;14421:41:71","linkReferences":{},"immutableReferences":{"60387":[{"start":1366,"length":32},{"start":1731,"length":32}],"71678":[{"start":8521,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155\",\"dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc","urls":["bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155","dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":111} \ No newline at end of file +{"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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"0x60c0346101155761256a906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516124289081610142823960805181818161056601526106d3015260a051816121c00152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036121b6576110bb565b61108e565b611071565b611054565b611036565b611019565b610ffc565b610fc2565b610f97565b610f4b565b610f2e565b610f06565b610ee9565b610eaf565b610e87565b610e5d565b610e35565b610def565b610da2565b610d68565b610d4e565b610d2a565b610c5d565b610bff565b610bcb565b610ba6565b610b7e565b610b3e565b610b16565b610aaf565b610a8a565b610a50565b610a28565b6109ee565b6109c4565b610884565b610852565b61082d565b610805565b6107e4565b610799565b61075f565b610713565b6106be565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ad57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069c575f805160206123d38339815191529081549060ff82871c16801561068e575b61067d579261061e9287959261064f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106195f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105b3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073682610702565b805f525f805160206123b383398151915260205261075a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b681610702565b336001600160a01b038216036107d25761067b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a15761089d6104b7565b6024356108a981610702565b6001600160401b03916044358381116103a1576108ca9036906004016104cd565b5f805160206123d38339815191529491855494838616806109b35760ff8760401c169081156109a6575b50610994577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098f9661095c958716906001600160401b0319161790556109575f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f4565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac761217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5b81610702565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c51602435610c2381610702565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1576040806003193601126103a157600435610c7b81610702565b6024356001600160401b0381116103a1575f80610d1993610ca260809436906004016104cd565b908188519283928337810184815203915af43d15610d215760203d610cc68161115c565b90610cd38751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610cdc565b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610de6602435610dc481610702565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c51602435610e1381610702565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f6e82610702565b805f525f805160206123b3833981519152602052610f92600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b6004356110ae81610702565b6110b661217e565b6118dc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110b661222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e81610702565b604084015260808101516119b181610702565b606084015260a08101516119c481610702565b608084015201516119d481610702565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a82610702565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe881610702565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f20660765f74a9803b91f6f1a5952dfe75320e479bfe20f45dd97ac642e7bca764736f6c63430008190033","sourceMap":"852:6511:106:-:0;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:6511:106;;;;;;;;;7896:76:26;;852:6511:106;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;852:6511;;;;;;;927:17:82;852:6511:106;;;;;;;;;;1445:31;852:6511;;;;;;7981:146:26;-1:-1:-1;;;;;;852:6511:106;;;;;;;;;;;;;8087:29:26;;852:6511:106;;8087:29:26;7981:146;;;;;7896:76;852:6511:106;;-1:-1:-1;;;7938:23:26;;;;;852:6511:106;-1:-1:-1;852:6511:106;;;;;;-1:-1:-1;852:6511:106;;;;;-1:-1:-1;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036121b6576110bb565b61108e565b611071565b611054565b611036565b611019565b610ffc565b610fc2565b610f97565b610f4b565b610f2e565b610f06565b610ee9565b610eaf565b610e87565b610e5d565b610e35565b610def565b610da2565b610d68565b610d4e565b610d2a565b610c5d565b610bff565b610bcb565b610ba6565b610b7e565b610b3e565b610b16565b610aaf565b610a8a565b610a50565b610a28565b6109ee565b6109c4565b610884565b610852565b61082d565b610805565b6107e4565b610799565b61075f565b610713565b6106be565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ad57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069c575f805160206123d38339815191529081549060ff82871c16801561068e575b61067d579261061e9287959261064f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106195f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105b3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073682610702565b805f525f805160206123b383398151915260205261075a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b681610702565b336001600160a01b038216036107d25761067b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a15761089d6104b7565b6024356108a981610702565b6001600160401b03916044358381116103a1576108ca9036906004016104cd565b5f805160206123d38339815191529491855494838616806109b35760ff8760401c169081156109a6575b50610994577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098f9661095c958716906001600160401b0319161790556109575f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f4565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac761217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5b81610702565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c51602435610c2381610702565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1576040806003193601126103a157600435610c7b81610702565b6024356001600160401b0381116103a1575f80610d1993610ca260809436906004016104cd565b908188519283928337810184815203915af43d15610d215760203d610cc68161115c565b90610cd38751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610cdc565b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610de6602435610dc481610702565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c51602435610e1381610702565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f6e82610702565b805f525f805160206123b3833981519152602052610f92600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b6004356110ae81610702565b6110b661217e565b6118dc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110b661222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e81610702565b604084015260808101516119b181610702565b606084015260a08101516119c481610702565b608084015201516119d481610702565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a82610702565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe881610702565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f20660765f74a9803b91f6f1a5952dfe75320e479bfe20f45dd97ac642e7bca764736f6c63430008190033","sourceMap":"852:6511:106:-:0;;;;;;2603:64:50;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;852:6511: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;:::-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:6511:106;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:6511:106;-1:-1:-1;852:6511:106;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3653:32:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;757:38:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;612:37:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;2084:35:108;852:6511:106;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;4919:24:23;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:6511:106;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;852:6511:106;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;;6431:44:26;;;;852:6511:106;6427:105:26;;852:6511:106;1809:204:82;852:6511:106;;;;6656:20:26;852:6511:106;;6656:20:26;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;6575:22:26;1809:204:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:6511:106;6427:105:26;852:6511:106;;-1:-1:-1;;;6498:23:26;;852:6511:106;;6498:23:26;6431:44;852:6511:106;;;;;;;6450:25:26;;6431:44;;1655:71:82;852:6511:106;;-1:-1:-1;;;1703:12:82;;852:6511:106;;1703:12:82;3666:88:30;852:6511:106;;-1:-1:-1;;;3713:30:30;;852:6511:106;;3713:30:30;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;655:32:82;-1:-1:-1;;;;;852:6511:106;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:6511:106;;;;5350:25:23;852:6511:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;3202:4:23;4919:24;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;3202:4:23;:::i;:::-;5350:25;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1329:40:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:6511:106;;6441:34:23;6437:102;;6549:37;852:6511:106;;;6549:37:23;:::i;6437:102::-;852:6511:106;;-1:-1:-1;;;6498:30:23;;852:6511:106;;6498:30:23;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;4126:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;2255:34:108;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:6511:106;;;;;;734:29:82;730:87;;852:6511:106;;;;;6431:44:26;;;;;852:6511:106;6427:105:26;;;6656:20;852:6511:106;6656:20:26;852:6511:106;1167:340:82;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;6656:20:26;;;;852:6511:106;6427:105:26;852:6511:106;;-1:-1:-1;;;6498:23:26;;852:6511:106;;6498:23:26;6431:44;852:6511:106;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;852:6511:106;;-1:-1:-1;;;786:20:82;;852:6511:106;;786:20:82;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;2718:59:108;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1041:36:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;1989:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1564:45:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;2423:32:108;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;;-1:-1:-1;;;;;852:6511:106;3975:40:24;852:6511:106;;3975:40:24;852:6511:106;;;;;;;-1:-1:-1;;852:6511:106;;;;;;4027:43:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:6511:106;2594:68:108;852:6511:106;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3932:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3833:43:108;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3901:31:23;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;3901:31:23;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:6511:106;;;;-1:-1:-1;852:6511:106;477:31:86;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;477:31:86;;;852:6511:106;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;477:31:86;852:6511:106;477:31:86;;;;;;;:::i;:::-;518:79;;;852:6511:106;518:79:86;;852:6511:106;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;900:35:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;2953:94:108;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;2953:94:108;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;2953:94:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3103:92:108;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;3103:92:108;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;4396:31:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;2833:64:108;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2345:22:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1183:36:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3543:54:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2175:24:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3741:36:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;5767:26:23;852:6511:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;3202:4:23;4919:24;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;3202:4:23;:::i;:::-;5767:26;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;466:39:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;4221:36:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;4313:27:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1466:3:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1286:6;852:6511;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2357:1:24;852:6511:106;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;3437:50:108;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;:::o;1167:340:82:-;;;852:6511:106;2802:37;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:6511:106;1949:1:30;;1991;852:6511:106;;;1376:73:82;;1167:340;852:6511:106;;;;:::i;:::-;2802:37;852:6511;;;2802:37;;;;;;:::i;:::-;852:6511;;;;;;;-1:-1:-1;;;;;852:6511:106;2854:31;2850:95;;2959:20;;;;;852:6511;;;;;;;;;;2959:25;2955:92;;3061:29;;;852:6511;;3061:29;;852:6511;3061:43;;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;;;;;852:6511:106;;;3061:43;;3057:971;;1167:340:82;4043:23:106;;;852:6511;4042:24;852:6511;;;;;;;;4042:24;;852:6511;4042:24;:67;;;1167:340:82;4038:132:106;;4200:28;;;-1:-1:-1;4185:9:106;1949:1:30;;;4180:411:106;-1:-1:-1;;852:6511:106;;4605:43;;-1:-1:-1;;;;;;852:6511:106;;;4605:43;;4601:697;;4180:411;5411:34;6015:42;852:6511;5411:34;;5960:44;852:6511;;5411:34;5343:468;6798:32;5411:34;5343:468;5411:34;852:6511;5411:34;;852:6511;5477:19;5343:468;5477:19;5343:468;5477:19;;;852:6511;5532:23;5343:468;852:6511;5532:23;;;852:6511;;;;;;;;;;5601:33;;;852:6511;-1:-1:-1;;;;;852:6511:106;5679:32;;;852:6511;5679:32;;;852:6511;;5760:36;;-1:-1:-1;;;;;852:6511:106;5760:36;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;:::i;:::-;;;;2802:37;5343:468;;852:6511;-1:-1:-1;;;;;852:6511:106;;;5343:468;;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;4043:23;5343:468;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;5343:468;;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;5343:468;;;852:6511;;5343:468;;:::i;:::-;852:6511;;5832:30;;-1:-1:-1;;;;;852:6511:106;1398:1:82;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;5832:30;2802:37;5882:13;;852:6511;;;;-1:-1:-1;;;;;;852:6511:106;-1:-1:-1;;;;;852:6511:106;;;;;;;;;5906:44;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;;;-1:-1:-1;;;852:6511:106;;;;;;;;5906:44;852:6511;;;;;;1949:1:30;852:6511:106;;-1:-1:-1;;;;;852:6511:106;;;;;;-1:-1:-1;;;;;;852:6511:106;;;;;;;;5960:44;852:6511;;;;;;;;;1398:1:82;852:6511:106;;;;;;;1398:1:82;852:6511:106;;6015:42;6068:38;852:6511;5343:468;6085:21;;852:6511;;;;;;;1398:1:82;852:6511:106;;;;;;;;;;;;1398:1:82;852:6511:106;;6068:38;6116:34;5343:468;6131:19;;852:6511;6116:34;1991:1:30;;6116:34:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;6161:135;;4180:411;-1:-1:-1;6309:36:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6305:157;;4180:411;-1:-1:-1;6475:35:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6471:153;;4180:411;-1:-1:-1;6637:34:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6633:152;;4180:411;-1:-1:-1;6798:32:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;6794:145;;1167:340:82;:::o;6794:145:106:-;6860:68;;;:::i;:::-;;1167:340:82:o;6633:152:106:-;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;852:6511;4668:37;;-1:-1:-1;;;;;852:6511:106;;;4668:37;:23;;4729:32;;;852:6511;4729:46;;-1:-1:-1;;;;;852:6511:106;;;4729:46;:32;;4803:36;;;852:6511;4803:50;;-1:-1:-1;;;;;852:6511:106;;;4803:50;;;:78;;;4725:396;4799:167;;4725:396;6015:42;852:6511;;4725:396;;5960:44;852:6511;;4725:396;5343:468;6798:32;4725:396;;4601:697;;;;;;;;;;;;;;;4799:167;852:6511;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;852:6511;4857:24;4803:78;;4725:396;4994:36;;;852:6511;4994:50;;-1:-1:-1;;;;;852:6511:106;;;4994:50;;4990:131;;4725:396;6015:42;852:6511;;4725:396;;5960:44;852:6511;;4725:396;5343:468;6798:32;4725:396;;;4664:624;5145:32;;;852:6511;5145:46;;-1:-1:-1;;;;;852:6511:106;;;5145:46;;:74;;;4664:624;5141:147;;4664:624;6015:42;852:6511;;4664:624;;5960:44;852:6511;;4664:624;5343:468;6798:32;4664:624;;;5145:74;5195:19;;;;852:6511;5195:24;5145:74;;4237:3;4200:28;;852:6511;;4196:39;;;;;4260:31;;;:45;:31;;:::i;:45::-;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:6511:106;;;;;4388:22;852:6511;;;;;;;4388:55;852:6511;;;;;4388:55;4384:120;;4541:28;;;4518:62;:55;4541:31;;:28;;;;:31;:::i;4518:55::-;852:6511;;-1:-1:-1;;852:6511:106;1949:1:30;852:6511:106;;;;4518:62;852:6511;4185:9;;;;4384:120;852:6511;;-1:-1:-1;;;4470:19:106;;;;;4256:114;852:6511;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;4038:132;852:6511;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;852:6511;4070:39;;4042:67;;3057:971;3124:36;;;852:6511;3124:50;;-1:-1:-1;;;;;852:6511:106;;;3124:50;;3120:419;;3057:971;3557:34;;;852:6511;3557:48;;-1:-1:-1;;;;;852:6511:106;;;3557:48;;3553:465;;3057:971;;;3553:465;3629:21;;;852:6511;;3629:21;;3678:19;;;852:6511;3678:24;:74;;;3625:379;3674:157;3057:971;3674:157;852:6511;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;852:6511;3706:46;;-1:-1:-1;;;;;852:6511:106;;;3706:46;;3678:74;;3625:379;3859:19;;;852:6511;3859:24;;;:74;;;3625:379;3855:149;3553:465;3855:149;852:6511;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;852:6511;3887:46;;-1:-1:-1;;;;;852:6511:106;;;3887:46;;;3859:74;;3120:419;3198:23;;;852:6511;;3198:23;;3249:35;;;852:6511;3249:49;;-1:-1:-1;;;;;852:6511:106;;;3249:49;3120:419;3245:132;852:6511;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;852:6511;3405:49;;-1:-1:-1;;;;;852:6511:106;;;3405:49;3401:124;3120:419;3401:124;852:6511;-1:-1:-1;;;3485:21:106;;;;;2955:92;852:6511;;-1:-1:-1;;;3007:29:106;;;;;2850:95;852:6511;;-1:-1:-1;;;2908:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;3405:215:24;-1:-1:-1;;;;;852:6511:106;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:6511:106;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:6511:106;;;3534:31:24;1809:204:82;852:6511:106;1809:204:82;852:6511:106;;;:::i;:::-;;;;;7113:40;;852:6511;;;;7208:64;7209:38;1286:6;852:6511;;;;;;;;:::i;:::-;7113:40;;;852:6511;;;;;;;7113:40;852:6511;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7186:6;;;:::i;:::-;852:6511;7209:38;:::i;:::-;7208:64;852:6511;7251:21;852:6511;;;;;;;;;;7208:64;;;:::i;:::-;:82;7204:151;;1809:204:82:o;7204:151:106:-;852:6511;;-1:-1:-1;;;7313:31:106;;;;;4148:103:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;966:10:28;852:6511:106;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:6511:106;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:6511:106;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:6511:106;;1398:1:82;852:6511:106;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;;;1398:1:82;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;7509:4:23;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511: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:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;7509:4:23;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511: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:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;3901:31:23;852:6511:106;7892:388:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511:106;;8155:40:23;-1:-1:-1;;8155:40:23;852:6511:106;8209:11:23;:::o;852:6511:106:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;;:::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:6511:106;-1:-1:-1;;;;;852:6511:106;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:6511:106;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:6511:106;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;7084:141:26:-;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:6511:106;;-1:-1:-1;;;7191:17:26;;;;;1642:1025:106;1783:1;852:6511;;1746:38;1742:119;;1875:23;;;852:6511;;-1:-1:-1;;;;;852:6511:106;1875:23;;852:6511;;1875:37;;:65;;1642:1025;1871:130;;852:6511;2138:42;852:6511;2507:36;852:6511;2011:72;852:6511;;;2011:72;1991:1:30;;2011:72:106;2094:34;2109:19;;;852:6511;2094:34;1991:1:30;;852:6511:106;;;;;;;;;;2138:42;852:6511;;;2138:42;852:6511;;2138:42;2195:33;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;2191:148;;1642:1025;-1:-1:-1;2352:32:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;2348:146;;-1:-1:-1;2507:36:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;2503:158;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;852:6511;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;852:6511;1916:24;;1875:65;;1742:119;852:6511;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;852:6511:106;14374:24:69;;;;14370:103;;852:6511:106;14296:213:69;:::o;14370:103::-;852:6511:106;;;;14421:41:69;;;;;;14452:2;14421:41;;;852:6511:106;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1747,"length":32}],"69325":[{"start":8640,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"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 67d1ba2..f2001ac 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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","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":"0x60c03461011c576127d0906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516126879081610149823960805181818161055601526106c1015260a05181818161153001526121b40152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe6080604052600436106121aa575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b60036121aa57611058565b61102b565b61100e565b610ff0565b610fd3565b610fb6565b610f7c565b610f51565b610f05565b610ee8565b610ec0565b610ea3565b610e69565b610e41565b610e17565b610def565b610da9565b610d5c565b610d22565b610d08565b610ce4565b610c50565b610bf2565b610bbe565b610b99565b610b71565b610b31565b610b09565b610aa2565b610a7d565b610a43565b610a1b565b6109e1565b6109b7565b610872565b610840565b61081b565b6107f3565b6107d2565b610787565b61074d565b610701565b6106ac565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206126128339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068a575f8051602061263283398151915280548281169260ff82881c16801561067e575b61066d5767ffffffffffffffff199091169087161790555f80516020612632833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461063f949093909261060e92611a40565b5f80516020612632833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105a5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610724826106f0565b805f525f80516020612612833981519152602052610748600160405f200154611b2a565b611f99565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a4816106f0565b336001600160a01b038216036107c05761066b90600435611fcf565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206126328339815191525416604051908152f35b346103915760603660031901126103915761088b6104a7565b602435610897816106f0565b6001600160401b0391604435838111610391576108b89036906004016104bd565b5f805160206126328339815191529491855494838616806109a65760ff8760401c16908115610999575b50610987577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109829661094f958716906001600160401b03191617905561094a5f80516020612632833981519152600160401b68ff000000000000000019825416179055565b611165565b5f80516020612632833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e2565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610aba612172565b5f805160206125f283398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4e816106f0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f805160206125f2833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c44602435610c16816106f0565b6004355f525f80516020612612833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461039157604036600319011261039157600435610c6d816106f0565b6024356001600160401b038111610391575f91610c8f839236906004016104bd565b90816040519283928337810184815203915af4610cdc610cad61197c565b91610cce6040519384921515602084015260408084015260608301906119ab565b03601f1981018352826110c4565b805190602001fd5b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610da0602435610d7e816106f0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c44602435610dcd816106f0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f28826106f0565b805f525f80516020612612833981519152602052610f4c600160405f200154611b2a565b611fcf565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b60043561104b816106f0565b611053612172565b6119cf565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110a457604052565b611075565b606081019081106001600160401b038211176110a457604052565b90601f801991011681019081106001600160401b038211176110a457604052565b604051906110f282611089565b565b6040519061024082018281106001600160401b038211176110a457604052565b6001600160401b0381116110a457601f01601f191660200190565b92919261113b82611114565b9161114960405193846110c4565b829481845281830111610391578281602093845f960137010152565b906111bd909392936111756121e6565b61117d6121e6565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b0393808516611962575b50369161112f565b6111d2815191602080809483010191016120b4565b916111e683518380825183010191016122af565b805182166001600160a01b031615611950576040958682019065ffffffffffff611216835165ffffffffffff1690565b161561193f5761012083018051909290611240906001600160a01b03165b6001600160a01b031690565b1561180a575b606084019161125c6112588451151590565b1590565b806117fb575b6117ea5761018085015f825b61173d575b5050835161128a91506001600160a01b0316611234565b156115a7575b6101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f8361137a61144d9861136a60c06113e79801519361135a60e08201519361134a6112f161010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061132990610220906001600160a01b03169701516001600160a01b031690565b976113326110e5565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612457565b8b516113b6906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61141c6113f3426125bf565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61148a6114736080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61149760a0840151600455565b516001600160a01b031690565b848116611597575b506101408101516001600160a01b0316848116611587575b506101608101516001600160a01b0316848116611577575b506101a08101516001600160a01b0316848116611567575b5001516001600160a01b031690565b908116611557575b508083860151950151905194859363602bd8e760e01b908501526024840161214d565b7f000000000000000000000000000000000000000000000000000000000000000061243a565b50565b61156090611ddd565b505f61150b565b61157090611d6e565b505f6114f4565b61158090611cff565b505f6114dc565b61159090611c29565b505f6114c4565b6115a090611b78565b505f6114ac565b6101008401516115bf906001600160a01b0316611234565b6116d1576102008401516115db906001600160a01b0316611234565b611677576102208401516115f7906001600160a01b0316611234565b15158061166b575b61165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d985b5050505050505099505050979a9b505050959b9a5050945050611290565b8851630331eb0f60e41b8152600490fd5b5060e0840151156115ff565b61022084015161168f906001600160a01b0316611234565b1561165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d9861163c565b6102008401516116e9906001600160a01b0316611234565b1580611731575b61165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d9861163c565b5060e0840151156116f0565b815180518210156117e4576112346114978361175893612412565b156117d35761179161178a611771611497848651612412565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117c2579082826117ba6117ad61177161149785978751612412565b805460ff19166001179055565b01909161126e565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b50611273565b895163ebf503c560e01b8152600490fd5b50610180850151511515611262565b610140840151611822906001600160a01b0316611234565b156118da575b6101a0840151611840906001600160a01b0316611234565b1561184b575b611246565b6080840151156118965760a08401511580611877575b1561124657885163183c854560e21b8152600490fd5b506101c0840151611890906001600160a01b0316611234565b15611861565b60a0840151158015906118ba575b1561184657885163183c854560e21b8152600490fd5b506101c08401516118d3906001600160a01b0316611234565b15156118a4565b606084015115611911576101608401516118fc906001600160a01b0316611234565b61182857885163183c854560e21b8152600490fd5b610160840151611929906001600160a01b0316611234565b1561182857885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119769061196e6121e6565b6110536121e6565b5f6111b5565b3d156119a6573d9061198d82611114565b9161199b60405193846110c4565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a28575f805160206125f283398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a576001926001600160401b0392369161112f565b921603611aab57611a7481602080611554945183010191016120b4565b611a7e8151611aab565b61152e6040602083015192015191610cce60405193849263602bd8e760e01b60208501526024840161214d565b60c081805181010312610391576110f29060c060405191611acb83611089565b60208101518352604081015160208401526060810151611aea816106f0565b60408401526080810151611afd816106f0565b606084015260a0810151611b10816106f0565b60808401520151611b20816106f0565b60a0820152612457565b5f8181525f805160206126128339815191526020908152604080832033845290915290205460ff1615611b5a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126128339815191529060ff16611c23575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126128339815191529060ff905b5416611cf8575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126128339815191529060ff90611c94565b5f8181525f80516020612612833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c94565b5f8181525f80516020612612833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cf8575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b92919261206d82611114565b9161207b60405193846110c4565b829481845281830111610391578281602093845f96015e010152565b9080601f830112156103915781516120b192602001612061565b90565b906020828203126103915781516001600160401b039283821161039157019060608282031261039157604051926120ea846110a9565b825181811161039157830182601f82011215610391578281602061211093519101612061565b84526020830151818111610391578261212a918501612097565b60208501526040830151908111610391576121459201612097565b604082015290565b90916121646120b1936040845260408401906119ab565b9160208184039101526119ab565b5f805160206125f2833981519152546001600160a01b0316330361219257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121e2573d5ff35b3d5ffd5b60ff5f805160206126328339815191525460401c161561220257565b604051631afcd79f60e31b8152600490fd5b51906110f2826106f0565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110a4578360051b9060405194612273858401876110c4565b85528380860192820101928311610391578301905b828210612296575050505090565b83809183516122a4816106f0565b815201910190612288565b906020828203126103915781516001600160401b039283821161039157019061024082820312610391576122e16110f4565b926122eb83612214565b84526122f960208401612214565b602085015261230a6040840161221f565b604085015261231b60608401612232565b606085015261232c60808401612232565b608085015260a083015160a085015260c083015160c085015260e083015160e085015261010061235d818501612214565b9085015261012061236f818501612214565b90850152610140612381818501612214565b90850152610160612393818501612214565b908501526101809182840151918211610391576123b191840161223f565b908301526101a06123c3818301612214565b908301526101c06123d5818301612214565b908301526101e06123e7818301612214565b908301526102006123f9818301612214565b9083015261240b610220809201612214565b9082015290565b80518210156124265760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f806120b193602081519101845af461245161197c565b9161255c565b600381511061254a576040810180516001600160a01b039291908316158061253d575b61252b57816124c46124a260a0936124956124ff9651600f55565b6114976020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661251b575b5060808101516001600160a01b0316848116612512575001516001600160a01b031690565b9081166125095750565b61155490611f2a565b61157090611ebb565b61252490611e4c565b505f6124da565b604051630331eb0f60e41b8152600490fd5b506020820151151561247a565b6040516317a509b960e31b8152600490fd5b90612583575080511561257157805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806125b6575b612594575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561258c565b65ffffffffffff908181116125d2571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220acf50e81dd813b016a7a975621b62823bc794ae18e997c08ca5969f769df67e564736f6c63430008190033","sourceMap":"332:1303:114:-:0;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;332:1303:114;;;;;;;;;7896:76:26;;332:1303:114;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:84;;;;;1258:31:111;;332:1303:114;;;;;;;927:17:84;332:1303:114;;;;;;;;;;1258:31:111;332:1303:114;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;332:1303:114;;;;;;;;;;;;;8087:29:26;;332:1303:114;;8087:29:26;7981:146;;;;;7896:76;332:1303:114;;-1:-1:-1;;;7938:23:26;;;;;332:1303:114;-1:-1:-1;332:1303:114;;;;;;-1:-1:-1;332:1303:114;;;;;-1:-1:-1;332:1303:114;;;;-1:-1:-1;;;;;332:1303:114;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106121aa575f3560e01c806301ffc9a71461033b5780630fcaeb1b146103365780631415519b146103315780631b66c9e11461032c5780631e89bd8a14610327578063248a9ca31461032257806327810b6e1461031d5780632abe3048146103185780632dd31000146103135780632f2ff15d1461030e57806331d9736c1461030957806336568abe1461030457806348d3b775146102ff578063502b4d60146102fa57806350861adc146102f557806354fd4d50146102f057806357ec83cc146102eb5780635cc07076146102e657806361819dd8146102e157806364601402146102dc578063653b04cd146102d75780636ec1e3f8146102d2578063715018a6146102cd57806375d6c765146102c8578063794b15b7146102c35780637e84ec81146102be5780638d30d7a7146102b95780638da5cb5b146102b457806391d14854146102af5780639f86fd85146102aa578063a1b12202146102a5578063a217fddf146102a0578063a21a1df91461029b578063a3b5417214610296578063a5d0322314610291578063a8b24f9a1461028c578063afba70ad14610287578063b134427114610282578063bc46f7221461027d578063bc4f8c0514610278578063ce9b793014610273578063d2356eb51461026e578063d547741f14610269578063d8dfeb4514610264578063db3887151461025f578063ddd0f28a1461025a578063e945da7f14610255578063ecc98f0514610250578063ecf708581461024b578063f2fde38b146102465763fcdc5b60036121aa57611058565b61102b565b61100e565b610ff0565b610fd3565b610fb6565b610f7c565b610f51565b610f05565b610ee8565b610ec0565b610ea3565b610e69565b610e41565b610e17565b610def565b610da9565b610d5c565b610d22565b610d08565b610ce4565b610c50565b610bf2565b610bbe565b610b99565b610b71565b610b31565b610b09565b610aa2565b610a7d565b610a43565b610a1b565b6109e1565b6109b7565b610872565b610840565b61081b565b6107f3565b6107d2565b610787565b61074d565b610701565b6106ac565b6104ea565b61047f565b610446565b610426565b6103ec565b6103b2565b610395565b346103915760203660031901126103915760043563ffffffff60e01b811680910361039157602090637965db0b60e01b8114908115610380575b506040519015158152f35b6301ffc9a760e01b1490505f610375565b5f80fd5b34610391575f366003190112610391576020601154604051908152f35b34610391575f3660031901126103915760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610391575f3660031901126103915760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610391575f36600319011261039157602060015460d01c604051908152f35b34610391576020366003190112610391576004355f525f805160206126128339815191526020526020600160405f200154604051908152f35b34610391575f366003190112610391576001546040516001600160a01b039091168152602090f35b600435906001600160401b038216820361039157565b9181601f84011215610391578235916001600160401b038311610391576020838186019501011161039157565b3461039157604080600319360112610391576105046104a7565b906001600160401b03602435818111610391576105259036906004016104bd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461069b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361068a575f8051602061263283398151915280548281169260ff82881c16801561067e575b61066d5767ffffffffffffffff199091169087161790555f80516020612632833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461063f949093909261060e92611a40565b5f80516020612632833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161066b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105a5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b34610391575f366003190112610391576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b0381160361039157565b346103915760403660031901126103915761066b602435600435610724826106f0565b805f525f80516020612612833981519152602052610748600160405f200154611b2a565b611f99565b34610391575f3660031901126103915760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610391576040366003190112610391576024356107a4816106f0565b336001600160a01b038216036107c05761066b90600435611fcf565b60405163334bd91960e11b8152600490fd5b34610391575f36600319011261039157602060ff5f54166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460901c16604051908152f35b34610391575f36600319011261039157602060ff60025460a01c166040519015158152f35b34610391575f3660031901126103915760206001600160401b035f805160206126328339815191525416604051908152f35b346103915760603660031901126103915761088b6104a7565b602435610897816106f0565b6001600160401b0391604435838111610391576108b89036906004016104bd565b5f805160206126328339815191529491855494838616806109a65760ff8760401c16908115610999575b50610987577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109829661094f958716906001600160401b03191617905561094a5f80516020612632833981519152600160401b68ff000000000000000019825416179055565b611165565b5f80516020612632833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108e2565b60405162dc149f60e41b8152600490fd5b34610391576020366003190112610391576004355f526006602052602060405f2054604051908152f35b34610391575f3660031901126103915760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610391575f36600319011261039157602065ffffffffffff60015460a01c16604051908152f35b34610391575f3660031901126103915760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610391575f36600319011261039157602060ff60035460a01c166040519015158152f35b34610391575f36600319011261039157610aba612172565b5f805160206125f283398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610391575f36600319011261039157602065ffffffffffff60135460601c16604051908152f35b3461039157602036600319011261039157600435610b4e816106f0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b34610391575f36600319011261039157602065ffffffffffff60135460301c16604051908152f35b34610391575f36600319011261039157602065ffffffffffff60135416604051908152f35b34610391575f366003190112610391575f805160206125f2833981519152546040516001600160a01b039091168152602090f35b3461039157604036600319011261039157602060ff610c44602435610c16816106f0565b6004355f525f80516020612612833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461039157604036600319011261039157600435610c6d816106f0565b6024356001600160401b038111610391575f91610c8f839236906004016104bd565b90816040519283928337810184815203915af4610cdc610cad61197c565b91610cce6040519384921515602084015260408084015260608301906119ab565b03601f1981018352826110c4565b805190602001fd5b34610391575f36600319011261039157602060ff5f5460081c166040519015158152f35b34610391575f3660031901126103915760206040515f8152f35b34610391575f3660031901126103915760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610391576040366003190112610391576020610da0602435610d7e816106f0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039157604036600319011261039157602060ff610c44602435610dcd816106f0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b34610391575f366003190112610391576016546040516001600160a01b039091168152602090f35b34610391576020366003190112610391576004355f526007602052602060405f2054604051908152f35b34610391575f366003190112610391576003546040516001600160a01b039091168152602090f35b34610391575f3660031901126103915760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610391575f366003190112610391576020601054604051908152f35b34610391575f366003190112610391576002546040516001600160a01b039091168152602090f35b34610391575f366003190112610391576020601254604051908152f35b346103915760403660031901126103915761066b602435600435610f28826106f0565b805f525f80516020612612833981519152602052610f4c600160405f200154611b2a565b611fcf565b34610391575f366003190112610391575f5460405160109190911c6001600160a01b03168152602090f35b34610391575f3660031901126103915760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610391575f366003190112610391576020601454604051908152f35b34610391575f366003190112610391576020601554604051908152f35b34610391575f366003190112610391576020604051633b9aca008152f35b34610391575f366003190112610391576020600454604051908152f35b346103915760203660031901126103915761066b60043561104b816106f0565b611053612172565b6119cf565b34610391575f366003190112610391576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110a457604052565b611075565b606081019081106001600160401b038211176110a457604052565b90601f801991011681019081106001600160401b038211176110a457604052565b604051906110f282611089565b565b6040519061024082018281106001600160401b038211176110a457604052565b6001600160401b0381116110a457601f01601f191660200190565b92919261113b82611114565b9161114960405193846110c4565b829481845281830111610391578281602093845f960137010152565b906111bd909392936111756121e6565b61117d6121e6565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b0393808516611962575b50369161112f565b6111d2815191602080809483010191016120b4565b916111e683518380825183010191016122af565b805182166001600160a01b031615611950576040958682019065ffffffffffff611216835165ffffffffffff1690565b161561193f5761012083018051909290611240906001600160a01b03165b6001600160a01b031690565b1561180a575b606084019161125c6112588451151590565b1590565b806117fb575b6117ea5761018085015f825b61173d575b5050835161128a91506001600160a01b0316611234565b156115a7575b6101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f8361137a61144d9861136a60c06113e79801519361135a60e08201519361134a6112f161010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061132990610220906001600160a01b03169701516001600160a01b031690565b976113326110e5565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612457565b8b516113b6906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61141c6113f3426125bf565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61148a6114736080850151151590565b61ff005f5491151560081b169061ff001916175f55565b61149760a0840151600455565b516001600160a01b031690565b848116611597575b506101408101516001600160a01b0316848116611587575b506101608101516001600160a01b0316848116611577575b506101a08101516001600160a01b0316848116611567575b5001516001600160a01b031690565b908116611557575b508083860151950151905194859363602bd8e760e01b908501526024840161214d565b7f000000000000000000000000000000000000000000000000000000000000000061243a565b50565b61156090611ddd565b505f61150b565b61157090611d6e565b505f6114f4565b61158090611cff565b505f6114dc565b61159090611c29565b505f6114c4565b6115a090611b78565b505f6114ac565b6101008401516115bf906001600160a01b0316611234565b6116d1576102008401516115db906001600160a01b0316611234565b611677576102208401516115f7906001600160a01b0316611234565b15158061166b575b61165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d985b5050505050505099505050979a9b505050959b9a5050945050611290565b8851630331eb0f60e41b8152600490fd5b5060e0840151156115ff565b61022084015161168f906001600160a01b0316611234565b1561165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d9861163c565b6102008401516116e9906001600160a01b0316611234565b1580611731575b61165a576101c0846114a48b956114636114538b9a976115549e9f6114286115039961152e9f6113c5610cce9f9161137f6113e79361137a61144d9861163c565b5060e0840151156116f0565b815180518210156117e4576112346114978361175893612412565b156117d35761179161178a611771611497848651612412565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117c2579082826117ba6117ad61177161149785978751612412565b805460ff19166001179055565b01909161126e565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b50611273565b895163ebf503c560e01b8152600490fd5b50610180850151511515611262565b610140840151611822906001600160a01b0316611234565b156118da575b6101a0840151611840906001600160a01b0316611234565b1561184b575b611246565b6080840151156118965760a08401511580611877575b1561124657885163183c854560e21b8152600490fd5b506101c0840151611890906001600160a01b0316611234565b15611861565b60a0840151158015906118ba575b1561184657885163183c854560e21b8152600490fd5b506101c08401516118d3906001600160a01b0316611234565b15156118a4565b606084015115611911576101608401516118fc906001600160a01b0316611234565b61182857885163183c854560e21b8152600490fd5b610160840151611929906001600160a01b0316611234565b1561182857885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119769061196e6121e6565b6110536121e6565b5f6111b5565b3d156119a6573d9061198d82611114565b9161199b60405193846110c4565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a28575f805160206125f283398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a576001926001600160401b0392369161112f565b921603611aab57611a7481602080611554945183010191016120b4565b611a7e8151611aab565b61152e6040602083015192015191610cce60405193849263602bd8e760e01b60208501526024840161214d565b60c081805181010312610391576110f29060c060405191611acb83611089565b60208101518352604081015160208401526060810151611aea816106f0565b60408401526080810151611afd816106f0565b606084015260a0810151611b10816106f0565b60808401520151611b20816106f0565b60a0820152612457565b5f8181525f805160206126128339815191526020908152604080832033845290915290205460ff1615611b5a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126128339815191529060ff16611c23575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126128339815191529060ff905b5416611cf8575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126128339815191529060ff90611c94565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126128339815191529060ff90611c94565b5f8181525f80516020612612833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c94565b5f8181525f80516020612612833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cf8575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b92919261206d82611114565b9161207b60405193846110c4565b829481845281830111610391578281602093845f96015e010152565b9080601f830112156103915781516120b192602001612061565b90565b906020828203126103915781516001600160401b039283821161039157019060608282031261039157604051926120ea846110a9565b825181811161039157830182601f82011215610391578281602061211093519101612061565b84526020830151818111610391578261212a918501612097565b60208501526040830151908111610391576121459201612097565b604082015290565b90916121646120b1936040845260408401906119ab565b9160208184039101526119ab565b5f805160206125f2833981519152546001600160a01b0316330361219257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121e2573d5ff35b3d5ffd5b60ff5f805160206126328339815191525460401c161561220257565b604051631afcd79f60e31b8152600490fd5b51906110f2826106f0565b519065ffffffffffff8216820361039157565b5190811515820361039157565b81601f82011215610391578051916020916001600160401b0384116110a4578360051b9060405194612273858401876110c4565b85528380860192820101928311610391578301905b828210612296575050505090565b83809183516122a4816106f0565b815201910190612288565b906020828203126103915781516001600160401b039283821161039157019061024082820312610391576122e16110f4565b926122eb83612214565b84526122f960208401612214565b602085015261230a6040840161221f565b604085015261231b60608401612232565b606085015261232c60808401612232565b608085015260a083015160a085015260c083015160c085015260e083015160e085015261010061235d818501612214565b9085015261012061236f818501612214565b90850152610140612381818501612214565b90850152610160612393818501612214565b908501526101809182840151918211610391576123b191840161223f565b908301526101a06123c3818301612214565b908301526101c06123d5818301612214565b908301526101e06123e7818301612214565b908301526102006123f9818301612214565b9083015261240b610220809201612214565b9082015290565b80518210156124265760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f806120b193602081519101845af461245161197c565b9161255c565b600381511061254a576040810180516001600160a01b039291908316158061253d575b61252b57816124c46124a260a0936124956124ff9651600f55565b6114976020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661251b575b5060808101516001600160a01b0316848116612512575001516001600160a01b031690565b9081166125095750565b61155490611f2a565b61157090611ebb565b61252490611e4c565b505f6124da565b604051630331eb0f60e41b8152600490fd5b506020820151151561247a565b6040516317a509b960e31b8152600490fd5b90612583575080511561257157805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806125b6575b612594575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561258c565b65ffffffffffff908181116125d2571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220acf50e81dd813b016a7a975621b62823bc794ae18e997c08ca5969f769df67e564736f6c63430008190033","sourceMap":"332:1303:114:-:0;;;;;;2603:64:51;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:51;332:1303:114;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::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;;332:1303:114;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;332:1303:114;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;332:1303:114;-1:-1:-1;332:1303:114;;;;;;;;-1:-1:-1;;332:1303:114;;;;;3653:32:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;757:38:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;612:37:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;2084:35:113;332:1303:114;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;-1:-1:-1;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;;4919:24:23;332:1303:114;-1:-1:-1;332:1303:114;4919:24:23;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;332:1303:114;;3670:20:30;3666:88;;1991:1;;;1673:7:84;-1:-1:-1;;;;;332:1303:114;1659:10:84;:21;1655:71;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;;;;;;;;6431:44:26;;;;332:1303:114;6427:105:26;;-1:-1:-1;;332:1303:114;;;;;;;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;332:1303:114;-1:-1:-1;;;332:1303:114;;;6656:20:26;;;;332:1303:114;;;;1809:204:84;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;332:1303:114;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;332:1303:114;6427:105:26;332:1303:114;;-1:-1:-1;;;6498:23:26;;332:1303:114;;6498:23:26;6431:44;332:1303:114;;;;6450:25:26;;;6431:44;;1655:71:84;332:1303:114;;-1:-1:-1;;;1703:12:84;;332:1303:114;;1703:12:84;3666:88:30;332:1303:114;;-1:-1:-1;;;3713:30:30;;332:1303:114;;3713:30:30;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;;;655:32:84;-1:-1:-1;;;;;332:1303:114;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;:::o;:::-;;;;;;-1:-1:-1;;332:1303:114;;;;5350:25:23;332:1303:114;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;3202:4:23;4919:24;332:1303:114;-1:-1:-1;332:1303:114;4919:24:23;332:1303:114;3202:4:23;:::i;:::-;5350:25;:::i;332:1303:114:-;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1329:40:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;332:1303:114;;6441:34:23;6437:102;;6549:37;332:1303:114;;;6549:37:23;:::i;6437:102::-;332:1303:114;;-1:-1:-1;;;6498:30:23;;332:1303:114;;6498:30:23;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;4126:39:113;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;2255:34:113;332:1303:114;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;-1:-1:-1;;;;;;;;;;;;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;332:1303:114;;;;;;734:29:84;730:87;;332:1303:114;;;;;6431:44:26;;;;;332:1303:114;6427:105:26;;;6656:20;332:1303:114;6656:20:26;332:1303:114;1167:340:84;332:1303:114;;;;-1:-1:-1;;;;;332:1303:114;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;332:1303:114;;;;;;;;;6575:22:26;1167:340:84;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;332:1303:114;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;6656:20:26;;;;332:1303:114;6427:105:26;332:1303:114;;-1:-1:-1;;;6498:23:26;;332:1303:114;;6498:23:26;6431:44;332:1303:114;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:84;332:1303:114;;-1:-1:-1;;;786:20:84;;332:1303:114;;786:20:84;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;;;-1:-1:-1;332:1303:114;2718:59:113;332:1303:114;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1041:36:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;1989:39:113;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1564:45:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;2423:32:113;332:1303:114;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;;;332:1303:114;;;;;;;-1:-1:-1;;;;;332:1303:114;3975:40:24;332:1303:114;;3975:40:24;332:1303:114;;;;;;;-1:-1:-1;;332:1303:114;;;;;;4027:43:113;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;332:1303:114;2594:68:113;332:1303:114;;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;3932:39:113;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;3833:43:113;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;3901:31:23;332:1303:114;;;;;:::i;:::-;;;-1:-1:-1;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;;;;3901:31:23;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;332:1303:114;;;;-1:-1:-1;332:1303:114;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:88;;;;477:31;416:25;;:::i;:::-;332:1303:114;;;;;;;;;;477:31:88;;332:1303:114;;;;;;;;;;;:::i;:::-;477:31:88;;;;;;;;;:::i;:::-;518:79;;;332:1303:114;518:79:88;;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;900:35:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;2953:94:113;332:1303:114;;;;;:::i;:::-;;;-1:-1:-1;332:1303:114;2953:94:113;332:1303:114;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;;;;2953:94:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;3103:92:113;332:1303:114;;;;;:::i;:::-;;;-1:-1:-1;332:1303:114;3103:92:113;332:1303:114;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;4396:31:113;332:1303:114;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;-1:-1:-1;332:1303:114;2833:64:113;332:1303:114;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;2345:22:113;332:1303:114;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1183:36:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;3543:54:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;2175:24:113;332:1303:114;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;3741:36:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;5767:26:23;332:1303:114;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;3202:4:23;4919:24;332:1303:114;-1:-1:-1;332:1303:114;4919:24:23;332:1303:114;3202:4:23;:::i;:::-;5767:26;:::i;332:1303:114:-;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;466:39:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;4221:36:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;4313:27:113;332:1303:114;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;1466:3:113;332:1303:114;;;;;;;;;-1:-1:-1;;332:1303:114;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:114;;;;2357:1:24;332:1303:114;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;332:1303:114:-;;;;;;-1:-1:-1;;332:1303:114;;;;;3437:50:113;332:1303:114;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;:::o;:::-;;;477:31:88;;332:1303:114;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;:::o;:::-;-1:-1:-1;;;;;332:1303:114;;;;;;-1:-1:-1;;332:1303:114;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:114;;;;;;:::o;1167:340:84:-;;332:1303:114;1167:340:84;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;1949;-1:-1:-1;;;;;332:1303:114;;;;1376:73:84;;1167:340;332:1303:114;;;;:::i;:::-;674:55;332:1303;;674:55;;;;;;;;;;;:::i;:::-;782:17;2615:37:111;782:17:114;;332:1303;;;;2615:37:111;;;;;;:::i;:::-;332:1303:114;;;;-1:-1:-1;;;;;332:1303:114;2667:31:111;2663:95;;2772:20;;;;;332:1303:114;;;;;;;;;;;2772:25:111;2768:92;;2874:29;;;332:1303:114;;2874:29:111;;332:1303:114;2874:43:111;;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;;;;;332:1303:114;;;2874:43:111;;2870:971;;1167:340:84;3856:23:111;;;332:1303:114;3855:24:111;332:1303:114;;;;;;;;3855:24:111;;332:1303:114;3855:24:111;:67;;;1167:340:84;3851:132:111;;4013:28;;;-1:-1:-1;3998:9:111;1949:1:30;;;3993:411:111;-1:-1:-1;;332:1303:114;;4418:43:111;;-1:-1:-1;;;;;;332:1303:114;;;4418:43:111;;4414:697;;3993:411;6611:32;5224:34;332:1303:114;5224:34:111;;5828:42;332:1303:114;5224:34:111;;;811:157:114;5224:34:111;;332:1303:114;;5224:34:111;863:95:114;5224:34:111;332:1303:114;863:95;5224:34:111;;5156:468;5224:34;5156:468;5773:44;5224:34;5156:468;5224:34;5686:22;5224:34;;332:1303:114;5290:19:111;5156:468;5290:19;;;332:1303:114;5345:23:111;5156:468;332:1303:114;5345:23:111;;;332:1303:114;;;;;;;;;;5414:33:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;5492:32:111;;;332:1303:114;5492:32:111;;;332:1303:114;;5573:36:111;;-1:-1:-1;;;;;332:1303:114;5573:36:111;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;:::i;:::-;;;;5156:468:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;5156:468:111;;;332:1303:114;;5156:468:111;-1:-1:-1;;;;;332:1303:114;3856:23:111;5156:468;;332:1303:114;;5156:468:111;-1:-1:-1;;;;;332:1303:114;5156:468:111;;;332:1303:114;;5156:468:111;-1:-1:-1;;;;;332:1303:114;5156:468:111;;;332:1303:114;;5156:468:111;;:::i;:::-;332:1303:114;;5645:30:111;;-1:-1:-1;;;;;332:1303:114;1398:1:84;332:1303:114;;-1:-1:-1;;;;;;332:1303:114;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;5645:30:111;5695:13;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;1949:1:30;332:1303:114;;;1949:1:30;332:1303:114;;5686:22:111;5719:44;819:34:75;837:15;819:34;:::i;:::-;1949:1:30;332:1303:114;;-1:-1:-1;;;;332:1303:114;;;;;;-1:-1:-1;;;332:1303:114;;;;;;;;5719:44:111;332:1303:114;;;;;;1949:1:30;332:1303:114;;-1:-1:-1;;;;;332:1303:114;;;;;;-1:-1:-1;;;;;;332:1303:114;;;;;;;;5773:44:111;332:1303:114;;;;;;;;;1398:1:84;332:1303:114;;;;;;;1398:1:84;332:1303:114;;5828:42:111;5881:38;332:1303:114;5156:468:111;5898:21;;332:1303:114;;;;;;;1398:1:84;332:1303:114;;;;;;;;;;;;1398:1:84;332:1303:114;;5881:38:111;5929:34;5156:468;5944:19;;332:1303:114;5929:34:111;1991:1:30;;5929:34:111;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;5974:135:111;;3993:411;-1:-1:-1;6122:36:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;6118:157:111;;3993:411;-1:-1:-1;6288:35:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;6284:153:111;;3993:411;-1:-1:-1;6450:34:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;6446:152:111;;3993:411;-1:-1:-1;6611:32:111;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;6607:145:111;;3993:411;930:11:114;;;;;;943:13;;;332:1303;;863:95;;;;;;;;;;;;;;:::i;:::-;1428:14:111;811:157:114;:::i;:::-;;1167:340:84:o;6607:145:111:-;6673:68;;;:::i;:::-;;6607:145;;;6446:152;6514:73;;;:::i;:::-;;6446:152;;;6284:153;6353:73;;;:::i;:::-;;6284:153;;;6118:157;6188:76;;;:::i;:::-;;6118:157;;;5974:135;6037:61;;;:::i;:::-;;5974:135;;;4414:697;4481:23;;;332:1303:114;4481:37:111;;-1:-1:-1;;;;;332:1303:114;;;4481:37:111;:23;;4542:32;;;332:1303:114;4542:46:111;;-1:-1:-1;;;;;332:1303:114;;;4542:46:111;:32;;4616:36;;;332:1303:114;4616:50:111;;-1:-1:-1;;;;;332:1303:114;;;4616:50:111;;;:78;;;4538:396;4612:167;;6611:32;4538:396;332:1303:114;4538:396:111;;5828:42;332:1303:114;4538:396:111;;;811:157:114;4538:396:111;;332:1303:114;;4538:396:111;863:95:114;4538:396:111;332:1303:114;863:95;4538:396:111;;5156:468;5686:22;4538:396;5156:468;5773:44;4538:396;;4414:697;;;;;;;;;;;;;;;;;;;;;;;;;;;4612:167;332:1303:114;;-1:-1:-1;;;4729:27:111;;;;;4616:78;4670:19;;;;332:1303:114;4670:24:111;4616:78;;4538:396;4807:36;;;332:1303:114;4807:50:111;;-1:-1:-1;;;;;332:1303:114;;;4807:50:111;;4803:131;;6611:32;4538:396;332:1303:114;4538:396:111;;5828:42;332:1303:114;4538:396:111;;;811:157:114;4538:396:111;;332:1303:114;;4538:396:111;863:95:114;4538:396:111;332:1303:114;863:95;4538:396:111;;5156:468;5686:22;4538:396;5156:468;5773:44;4538:396;;;4477:624;4958:32;;;332:1303:114;4958:46:111;;-1:-1:-1;;;;;332:1303:114;;;4958:46:111;;:74;;;4477:624;4954:147;;6611:32;4477:624;332:1303:114;4477:624:111;;5828:42;332:1303:114;4477:624:111;;;811:157:114;4477:624:111;;332:1303:114;;4477:624:111;863:95:114;4477:624:111;332:1303:114;863:95;4477:624:111;;5156:468;5686:22;4477:624;5156:468;5773:44;4477:624;;;4958:74;5008:19;;;;332:1303:114;5008:24:111;4958:74;;4050:3;4013:28;;332:1303:114;;4009:39:111;;;;;4073:31;;;:45;:31;;:::i;:45::-;;4069:114;;4201:55;;4224:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;332:1303:114;;;;;4201:22:111;332:1303:114;;;;;;;4201:55:111;332:1303:114;;;;;4201:55:111;4197:120;;4354:28;;;4331:62;:55;4354:31;;:28;;;;:31;:::i;4331:55::-;332:1303:114;;-1:-1:-1;;332:1303:114;1949:1:30;332:1303:114;;;;4331:62:111;332:1303:114;3998:9:111;;;;4197:120;332:1303:114;;-1:-1:-1;;;4283:19:111;;;;;4069:114;332:1303:114;;-1:-1:-1;;;4145:23:111;;;;;4009:39;;;;3851:132;332:1303:114;;-1:-1:-1;;;3945:27:111;;;;;3855:67;3883:28;;;;;332:1303:114;3883:39:111;;3855:67;;2870:971;2937:36;;;332:1303:114;2937:50:111;;-1:-1:-1;;;;;332:1303:114;;;2937:50:111;;2933:419;;2870:971;3370:34;;;332:1303:114;3370:48:111;;-1:-1:-1;;;;;332:1303:114;;;3370:48:111;;3366:465;;2870:971;;;3366:465;3442:21;;;332:1303:114;;3442:21:111;;3491:19;;;332:1303:114;3491:24:111;:74;;;3438:379;3487:157;2870:971;3487:157;332:1303:114;;-1:-1:-1;;;3600:21:111;;;;;3491:74;-1:-1:-1;3519:32:111;;;332:1303:114;3519:46:111;;-1:-1:-1;;;;;332:1303:114;;;3519:46:111;;3491:74;;3438:379;3672:19;;;332:1303:114;3672:24:111;;;:74;;;3438:379;3668:149;3366:465;3668:149;332:1303:114;;-1:-1:-1;;;3777:21:111;;;;;3672:74;-1:-1:-1;3700:32:111;;;332:1303:114;3700:46:111;;-1:-1:-1;;;;;332:1303:114;;;3700:46:111;;;3672:74;;2933:419;3011:23;;;332:1303:114;;3011:23:111;;3062:35;;;332:1303:114;3062:49:111;;-1:-1:-1;;;;;332:1303:114;;;3062:49:111;2933:419;3058:132;332:1303:114;;-1:-1:-1;;;3146:21:111;;;;;3007:331;3218:35;;;332:1303:114;3218:49:111;;-1:-1:-1;;;;;332:1303:114;;;3218:49:111;3214:124;2933:419;3214:124;332:1303:114;;-1:-1:-1;;;3298:21:111;;;;;2768:92;332:1303:114;;-1:-1:-1;;;2820:29:111;;;;;2663:95;332:1303:114;;-1:-1:-1;;;2721:26:111;;;;;1376:73:84;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:84;;;332:1303:114;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;332:1303:114;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:114;;;;;;;;-1:-1:-1;;332:1303:114;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;332:1303:114;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;332:1303:114;;-1:-1:-1;;;;;;332:1303:114;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;332:1303:114;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;332:1303:114;;;3534:31:24;1809:204:84;;332:1303:114;1110:1;1809:204:84;-1:-1:-1;;;;;1809:204:84;332:1303:114;;;:::i;:::-;;;1096:15;1110:1;;1200:58;332:1303;1200:58;332:1303;1345:165;332:1303;;1200:58;;;;;;:::i;:::-;;1312:17;;1200:58;:::i;:::-;1401:95;1481:13;1200:58;1468:11;;;1481:13;;;332:1303;1401:95;1481:13;332:1303;863:95;;;;;;1200:58;1401:95;;;;;;;:::i;1092:535::-;332:1303;;;;6926:40:111;;332:1303:114;;;;6999:6:111;332:1303:114;;;;;;;;:::i;:::-;6926:40:111;;;332:1303:114;;;;;;;6926:40:111;332:1303:114;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;6999:6:111;:::i;4148:103:23:-;-1:-1:-1;332:1303:114;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;;;;;966:10:28;332:1303:114;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;332:1303:114;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;332:1303:114;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;332:1303:114;;1398:1:84;332:1303:114;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;;;1398:1:84;332:1303:114;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;-1:-1:-1;;332:1303:114;7509:4:23;332:1303:114;;;966:10:28;;-1:-1:-1;;;;;332:1303:114;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:84;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;466:39:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;-1:-1:-1;;332:1303:114;7509:4:23;332:1303:114;;;966:10:28;;-1:-1:-1;;;;;332:1303:114;;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;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;612:37:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;757:38:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;900:35:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;1041:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;1183:36:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;;;;;332:1303:114;;-1:-1:-1;332:1303:114;;;;;;;;;1329:40:113;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:114;;3901:31:23;332:1303:114;7270:387:23;-1:-1:-1;332:1303:114;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;3901:31:23;332:1303:114;7892:388:23;-1:-1:-1;332:1303:114;;;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:114;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;-1:-1:-1;;332:1303:114;;;966:10:28;;-1:-1:-1;;;;;332:1303:114;;8155:40:23;-1:-1:-1;;8155:40:23;332:1303:114;8209:11:23;:::o;332:1303:114:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:114;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;332:1303:114;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;332:1303:114;;;2763:40:24;2323:83:51;1019:819;;;;;;;1428:14:111;;1019:819:51;;;;;;;;;;;;;;;;7084:141:26;332:1303:114;-1:-1:-1;;;;;;;;;;;332:1303:114;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;332:1303:114;;-1:-1:-1;;;7191:17:26;;;;;332:1303:114;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:114;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3900:253:57;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;1455:1025:111:-;1596:1;332:1303:114;;1559:38:111;1555:119;;1688:23;;;332:1303:114;;-1:-1:-1;;;;;332:1303:114;1688:23:111;;332:1303:114;;1688:37:111;;:65;;1455:1025;1684:130;;332:1303:114;1951:42:111;332:1303:114;2320:36:111;332:1303:114;1824:72:111;332:1303:114;;;1824:72:111;1991:1:30;;1824:72:111;1907:34;1922:19;;;332:1303:114;1907:34:111;1991:1:30;;332:1303:114;;;;;;;;;;1951:42:111;332:1303:114;;;1951:42:111;332:1303:114;;1951:42:111;2008:33;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;2004:148:111;;1455:1025;-1:-1:-1;2165:32:111;;;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;2161:146:111;;-1:-1:-1;2320:36:111;332:1303:114;-1:-1:-1;;;;;332:1303:114;;;;;;;2316:158:111;;1455:1025;:::o;2316:158::-;2386:77;;;:::i;2161:146::-;2227:69;;;:::i;2004:148::-;2071:70;;;:::i;:::-;;2004:148;;;1684:130;1688:23;332:1303:114;-1:-1:-1;;;1776:27:111;;;;;1688:65;1729:19;;;;332:1303:114;1729:24:111;;1688:65;;1555:119;332:1303:114;;-1:-1:-1;;;1620:43:111;;;;;4421:582:57;;4593:8;;-1:-1:-1;332:1303:114;;5674:21:57;:17;;5799:158;;;;;;5670:354;332:1303:114;;-1:-1:-1;;;5994:19:57;;;;;4589:408;332:1303:114;;4841:22:57;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;332:1303:114;;-1:-1:-1;;;4917:24:57;;-1:-1:-1;;;;;332:1303:114;;;4917:24:57;;;332:1303:114;;;4917:24:57;4841:49;4867:18;;;:23;4841:49;;14296:213:71;332:1303:114;14374:24:71;;;;14370:103;;332:1303:114;14296:213:71;:::o;14370:103::-;332:1303:114;;;;14421:41:71;;;;;;14452:2;14421:41;;;332:1303:114;;;;;14421:41:71","linkReferences":{},"immutableReferences":{"60387":[{"start":1366,"length":32},{"start":1729,"length":32}],"71678":[{"start":5424,"length":32},{"start":8628,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155\",\"dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"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\":\"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6\",\"dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0xfe5c97cd40812cbf3cafff319b4af8fe5c5878f5ac36f87f51725a10dd3f81cc","urls":["bzz-raw://2b2ede179207b620fd3453459f10531b15837ec0c85fb3fe2174a61c97ba0155","dweb:/ipfs/QmTbnZupPwP8M8mSFBFzCbBNx2YqrHeEj6WXEaRrLarvhB"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x802e988c5239d4136b77e10f8060440de3d0c118b1d5ec3b1f4d0246da2f293d","urls":["bzz-raw://4004b724adf7e6c8ad663f0a70cc0c266053939a6907a05d8d11d5949cc915a6","dweb:/ipfs/QmbS4z5fypNWWpbMvX73FXVDmvfJpkjQiutUTXNTbjMTA5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":114} \ No newline at end of file +{"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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"0x60c03461011c57612882906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516127399081610149823960805181818161056601526106d1015260a05181818161155d015261222b0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe608060405260043610612221575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b600361222157611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206126e483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f805160206126c4833981519152602052610758600160405f200154611ba1565b612010565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206126e48339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd6119a9565b91610cde6040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f805160206126c4833981519152602052610f5c600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806121e9565b6119fc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61108061225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610cde60405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e81610700565b60408401526080810151611b3181610700565b606084015260a0810151611b4481610700565b60808401520151611b5481610700565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f82610700565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b81610700565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a79648372fc656069f8df3141066176f40563140db5338976e046b63888720c064736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;332:1303:109;;;;;;;;;7896:76:26;;332:1303:109;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;332:1303:109;;;;;;;927:17:82;332:1303:109;;;;;;;;;;1445:31:106;332:1303:109;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;332:1303:109;;;;;;;;;;;;;8087:29:26;;332:1303:109;;8087:29:26;7981:146;;;;;7896:76;332:1303:109;;-1:-1:-1;;;7938:23:26;;;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;-1:-1:-1;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610612221575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b600361222157611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206126e483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f805160206126c4833981519152602052610758600160405f200154611ba1565b612010565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206126e48339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd6119a9565b91610cde6040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f805160206126c4833981519152602052610f5c600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806121e9565b6119fc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61108061225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610cde60405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e81610700565b60408401526080810151611b3181610700565b606084015260a0810151611b4481610700565b60808401520151611b5481610700565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f82610700565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b81610700565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a79648372fc656069f8df3141066176f40563140db5338976e046b63888720c064736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;2603:64:50;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;332:1303: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;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;332:1303:109;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3653:32:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;757:38:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;612:37:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;2084:35:108;332:1303:109;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;4919:24:23;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;332:1303:109;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;332:1303:109;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;;;;6431:44:26;;;;332:1303:109;6427:105:26;;-1:-1:-1;;332:1303:109;;;;;;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;-1:-1:-1;;;332:1303:109;;;6656:20:26;;;;332:1303:109;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;6450:25:26;;;6431:44;;1655:71:82;332:1303:109;;-1:-1:-1;;;1703:12:82;;332:1303:109;;1703:12:82;3666:88:30;332:1303:109;;-1:-1:-1;;;3713:30:30;;332:1303:109;;3713:30:30;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;655:32:82;-1:-1:-1;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;:::o;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;5350:25:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5350:25;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1329:40:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;332:1303:109;;6441:34:23;6437:102;;6549:37;332:1303:109;;;6549:37:23;:::i;6437:102::-;332:1303:109;;-1:-1:-1;;;6498:30:23;;332:1303:109;;6498:30:23;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;4126:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2255:34:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;-1:-1:-1;;;;;;;;;;;;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;332:1303:109;;;;;;734:29:82;730:87;;332:1303:109;;;;;6431:44:26;;;;;332:1303:109;6427:105:26;;;6656:20;332:1303:109;6656:20:26;332:1303:109;1167:340:82;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;332:1303:109;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;332:1303:109;;-1:-1:-1;;;786:20:82;;332:1303:109;;786:20:82;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2718:59:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1041:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;1989:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1564:45:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2423:32:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;3975:40:24;332:1303:109;;3975:40:24;332:1303:109;;;;;;;-1:-1:-1;;332:1303:109;;;;;;4027:43:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;332:1303:109;2594:68:108;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3932:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3833:43:108;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3901:31:23;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;3901:31:23;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;332:1303:109;;;;;;;;;;477:31:86;;332:1303:109;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;332:1303:109;518:79:86;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;900:35:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;2953:94:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;2953:94:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;2953:94:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3103:92:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;3103:92:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;4396:31:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2833:64:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2345:22:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1183:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3543:54:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2175:24:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3741:36:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;5767:26:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5767:26;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;466:39:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4221:36:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4313:27:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1466:3:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1286:6:106;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2357:1:24;332:1303:109;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;3437:50:108;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;477:31:86;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;1167:340:82:-;;332:1303:109;1167:340:82;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;1949;-1:-1:-1;;;;;332:1303:109;;;;1376:73:82;;1167:340;332:1303:109;;;;:::i;:::-;674:55;332:1303;;674:55;;;;;;;;;;;:::i;:::-;782:17;2802:37:106;782:17:109;;332:1303;;;;2802:37:106;;;;;;:::i;:::-;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;2854:31:106;2850:95;;2959:20;;;;;332:1303:109;;;;;;;;;;;2959:25:106;2955:92;;3061:29;;;332:1303:109;;3061:29:106;;332:1303:109;3061:43:106;;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;3061:43:106;;3057:971;;1167:340:82;4043:23:106;;;332:1303:109;4042:24:106;332:1303:109;;;;;;;;4042:24:106;;332:1303:109;4042:24:106;:67;;;1167:340:82;4038:132:106;;4200:28;;;-1:-1:-1;4185:9:106;1949:1:30;;;4180:411:106;-1:-1:-1;;332:1303:109;;4605:43:106;;-1:-1:-1;;;;;;332:1303:109;;;4605:43:106;;4601:697;;4180:411;6798:32;5411:34;332:1303:109;5411:34:106;;6015:42;332:1303:109;5411:34:106;;;811:157:109;5411:34:106;;332:1303:109;;5411:34:106;863:95:109;5411:34:106;332:1303:109;863:95;5411:34:106;;5343:468;5411:34;5343:468;5960:44;5411:34;5343:468;5411:34;5873:22;5411:34;;332:1303:109;5477:19:106;5343:468;5477:19;;;332:1303:109;5532:23:106;5343:468;332:1303:109;5532:23:106;;;332:1303:109;;;;;;;;;;5601:33:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;5679:32:106;;;332:1303:109;5679:32:106;;;332:1303:109;;5760:36:106;;-1:-1:-1;;;;;332:1303:109;5760:36:106;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;:::i;:::-;;;;5343:468:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;5343:468:106;;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;4043:23:106;5343:468;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;5343:468:106;;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;5343:468:106;;;332:1303:109;;5343:468:106;;:::i;:::-;332:1303:109;;5832:30:106;;-1:-1:-1;;;;;332:1303:109;1398:1:82;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;5832:30:106;5882:13;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;1949:1:30;332:1303:109;;;1949:1:30;332:1303:109;;5873:22:106;5906:44;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;;-1:-1:-1;;;332:1303:109;;;;;;;;5906:44:106;332:1303:109;;;;;;1949:1:30;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;5960:44:106;332:1303:109;;;;;;;;;1398:1:82;332:1303:109;;;;;;;1398:1:82;332:1303:109;;6015:42:106;6068:38;332:1303:109;5343:468:106;6085:21;;332:1303:109;;;;;;;1398:1:82;332:1303:109;;;;;;;;;;;;1398:1:82;332:1303:109;;6068:38:106;6116:34;5343:468;6131:19;;332:1303:109;6116:34:106;1991:1:30;;6116:34:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6161:135:106;;4180:411;-1:-1:-1;6309:36:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6305:157:106;;4180:411;-1:-1:-1;6475:35:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6471:153:106;;4180:411;-1:-1:-1;6637:34:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6633:152:106;;4180:411;-1:-1:-1;6798:32:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6794:145:106;;4180:411;930:11:109;;;;;;943:13;;;332:1303;;863:95;;;;;;;;;;;;;;:::i;:::-;1615:14:106;811:157:109;:::i;:::-;;1167:340:82:o;6794:145:106:-;6860:68;;;:::i;:::-;;6794:145;;;6633:152;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;332:1303:109;4668:37:106;;-1:-1:-1;;;;;332:1303:109;;;4668:37:106;:23;;4729:32;;;332:1303:109;4729:46:106;;-1:-1:-1;;;;;332:1303:109;;;4729:46:106;:32;;4803:36;;;332:1303:109;4803:50:106;;-1:-1:-1;;;;;332:1303:109;;;4803:50:106;;;:78;;;4725:396;4799:167;;6798:32;4725:396;332:1303:109;4725:396:106;;6015:42;332:1303:109;4725:396:106;;;811:157:109;4725:396:106;;332:1303:109;;4725:396:106;863:95:109;4725:396:106;332:1303:109;863:95;4725:396:106;;5343:468;5873:22;4725:396;5343:468;5960:44;4725:396;;4601:697;;;;;;;;;;;;;;;;;;;;;;;;;;;4799:167;332:1303:109;;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;332:1303:109;4857:24:106;4803:78;;4725:396;4994:36;;;332:1303:109;4994:50:106;;-1:-1:-1;;;;;332:1303:109;;;4994:50:106;;4990:131;;6798:32;4725:396;332:1303:109;4725:396:106;;6015:42;332:1303:109;4725:396:106;;;811:157:109;4725:396:106;;332:1303:109;;4725:396:106;863:95:109;4725:396:106;332:1303:109;863:95;4725:396:106;;5343:468;5873:22;4725:396;5343:468;5960:44;4725:396;;;4664:624;5145:32;;;332:1303:109;5145:46:106;;-1:-1:-1;;;;;332:1303:109;;;5145:46:106;;:74;;;4664:624;5141:147;;6798:32;4664:624;332:1303:109;4664:624:106;;6015:42;332:1303:109;4664:624:106;;;811:157:109;4664:624:106;;332:1303:109;;4664:624:106;863:95:109;4664:624:106;332:1303:109;863:95;4664:624:106;;5343:468;5873:22;4664:624;5343:468;5960:44;4664:624;;;5145:74;5195:19;;;;332:1303:109;5195:24:106;5145:74;;4237:3;4200:28;;332:1303:109;;4196:39:106;;;;;4260:31;;;:45;:31;;:::i;:45::-;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;4388:22:106;332:1303:109;;;;;;;4388:55:106;332:1303:109;;;;;4388:55:106;4384:120;;4541:28;;;4518:62;:55;4541:31;;:28;;;;:31;:::i;4518:55::-;332:1303:109;;-1:-1:-1;;332:1303:109;1949:1:30;332:1303:109;;;;4518:62:106;332:1303:109;4185:9:106;;;;4384:120;332:1303:109;;-1:-1:-1;;;4470:19:106;;;;;4256:114;332:1303:109;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;4038:132;332:1303:109;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;332:1303:109;4070:39:106;;4042:67;;3057:971;3124:36;;;332:1303:109;3124:50:106;;-1:-1:-1;;;;;332:1303:109;;;3124:50:106;;3120:419;;3057:971;3557:34;;;332:1303:109;3557:48:106;;-1:-1:-1;;;;;332:1303:109;;;3557:48:106;;3553:465;;3057:971;;;3553:465;3629:21;;;332:1303:109;;3629:21:106;;3678:19;;;332:1303:109;3678:24:106;:74;;;3625:379;3674:157;3057:971;3674:157;332:1303:109;;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;332:1303:109;3706:46:106;;-1:-1:-1;;;;;332:1303:109;;;3706:46:106;;3678:74;;3625:379;3859:19;;;332:1303:109;3859:24:106;;;:74;;;3625:379;3855:149;3553:465;3855:149;332:1303:109;;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;332:1303:109;3887:46:106;;-1:-1:-1;;;;;332:1303:109;;;3887:46:106;;;3859:74;;3120:419;3198:23;;;332:1303:109;;3198:23:106;;3249:35;;;332:1303:109;3249:49:106;;-1:-1:-1;;;;;332:1303:109;;;3249:49:106;3120:419;3245:132;332:1303:109;;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;332:1303:109;3405:49:106;;-1:-1:-1;;;;;332:1303:109;;;3405:49:106;3401:124;3120:419;3401:124;332:1303:109;;-1:-1:-1;;;3485:21:106;;;;;2955:92;332:1303:109;;-1:-1:-1;;;3007:29:106;;;;;2850:95;332:1303:109;;-1:-1:-1;;;2908:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;332:1303:109;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;332:1303:109;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;332:1303:109;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;332:1303:109;;;3534:31:24;1809:204:82;;332:1303:109;1110:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;332:1303:109;;;:::i;:::-;;;1096:15;1110:1;;1200:58;332:1303;1200:58;332:1303;1345:165;332:1303;;1200:58;;;;;;:::i;:::-;;1312:17;;1200:58;:::i;:::-;1401:95;1481:13;1200:58;1468:11;;;1481:13;;;332:1303;1401:95;1481:13;332:1303;863:95;;;;;;1200:58;1401:95;;;;;;;:::i;1092:535::-;332:1303;;;;7113:40:106;;332:1303:109;;;;7208:64:106;7209:38;1286:6;332:1303:109;;;;;;;;:::i;:::-;7113:40:106;;;332:1303:109;;;;;;;7113:40:106;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7186:6:106;;;:::i;:::-;332:1303:109;7209:38:106;:::i;:::-;7208:64;332:1303:109;1110:1;332:1303;;;;;;;;;;7208:64:106;;;:::i;:::-;:82;7204:151;;1809:204:82:o;7204:151:106:-;332:1303:109;;-1:-1:-1;;;7313:31:106;;;;;4148:103:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;966:10:28;332:1303:109;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;332:1303:109;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;332:1303:109;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;332:1303:109;;1398:1:82;332:1303:109;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;;;1398:1:82;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;-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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303: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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;3901:31:23;332:1303:109;7892:388:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;;8155:40:23;-1:-1:-1;;8155:40:23;332:1303:109;8209:11:23;:::o;332:1303:109:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;332:1303:109;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;332:1303:109;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;332:1303:109;;-1:-1:-1;;;7191:17:26;;;;;332:1303:109;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;332:1303:109:-;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;1642:1025:106:-;1783:1;332:1303:109;;1746:38:106;1742:119;;1875:23;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;1875:23:106;;332:1303:109;;1875:37:106;;:65;;1642:1025;1871:130;;332:1303:109;2138:42:106;332:1303:109;2507:36:106;332:1303:109;2011:72:106;332:1303:109;;;2011:72:106;1991:1:30;;2011:72:106;2094:34;2109:19;;;332:1303:109;2094:34:106;1991:1:30;;332:1303:109;;;;;;;;;;2138:42:106;332:1303:109;;;2138:42:106;332:1303:109;;2138:42:106;2195:33;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2191:148:106;;1642:1025;-1:-1:-1;2352:32:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2348:146:106;;-1:-1:-1;2507:36:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;2503:158:106;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;332:1303:109;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;332:1303:109;1916:24:106;;1875:65;;1742:119;332:1303:109;;-1:-1:-1;;;1807:43:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;332:1303:109;;5674:21:56;:17;;5799:158;;;;;;5670:354;332:1303:109;;-1:-1:-1;;;5994:19:56;;;;;4589:408;332:1303:109;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;332:1303:109;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;332:1303:109;;;4917:24:56;;;332:1303:109;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;14296:213:69;332:1303:109;14374:24:69;;;;14370:103;;332:1303:109;14296:213:69;:::o;14370:103::-;332:1303:109;;;;14421:41:69;;;;;;14452:2;14421:41;;;332:1303:109;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":5469,"length":32},{"start":8747,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"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\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":109} \ No newline at end of file diff --git a/src/contracts/vault/v1.1/Vault.sol b/src/contracts/vault/v1.1/Vault.sol index 50096b3..56f881e 100644 --- a/src/contracts/vault/v1.1/Vault.sol +++ b/src/contracts/vault/v1.1/Vault.sol @@ -23,6 +23,11 @@ contract Vault is VaultStorage, MigratableEntity, AccessControlUpgradeable, Prox using SafeERC20 for IERC20; using Address for address; + /** + * @notice The minimum period of time that must be available to exit in case of epoch increase after migration. + */ + uint256 public constant MIN_EXIT_WINDOW = 7 days; + address private immutable IMPLEMENTATION; constructor(address vaultFactory, address implementation) MigratableEntity(vaultFactory) { @@ -170,5 +175,9 @@ contract Vault is VaultStorage, MigratableEntity, AccessControlUpgradeable, Prox (IVault.MigrateParams memory params) = abi.decode(data, (IVault.MigrateParams)); _processMigrateParams(params); + + if ((params.epochDurationSetEpochsDelay - 2) * epochDurationInternal < MIN_EXIT_WINDOW) { + revert IVault.InsufficientExitWindow(); + } } } diff --git a/src/interfaces/vault/v1.1/IVault.sol b/src/interfaces/vault/v1.1/IVault.sol index ae6f343..7826ca4 100644 --- a/src/interfaces/vault/v1.1/IVault.sol +++ b/src/interfaces/vault/v1.1/IVault.sol @@ -14,6 +14,7 @@ interface IVault is IVaultStorage, IAccessControl, IERC165, IERC3156FlashLender error DepositLimitReached(); error InsufficientClaim(); error InsufficientDeposit(); + error InsufficientExitWindow(); error InsufficientRedemption(); error InsufficientWithdrawal(); error InvalidAccount(); diff --git a/test/vault/v1.1/VaultTokenized.t.sol b/test/vault/v1.1/VaultTokenized.t.sol index 6008b76..55394aa 100644 --- a/test/vault/v1.1/VaultTokenized.t.sol +++ b/test/vault/v1.1/VaultTokenized.t.sol @@ -3624,6 +3624,102 @@ contract VaultTokenizedTest is Test { assertEq(VaultImplementation(payable(address(vault))).epochDurationSetEpochsDelay(), 3); } + function test_MigrateRevertInsufficientExitWindow() public { + 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: 1, + owner: alice, + vaultParams: abi.encode( + IVaultV1.InitParams({ + collateral: address(collateral), + burner: address(0xdEaD), + epochDuration: 1, + depositWhitelist: false, + isDepositLimit: false, + depositLimit: 0, + defaultAdminRoleHolder: alice, + depositWhitelistSetRoleHolder: alice, + depositorWhitelistRoleHolder: alice, + isDepositLimitSetRoleHolder: alice, + depositLimitSetRoleHolder: 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 = VaultTokenizedImplementation(payable(vault_)); + + vm.startPrank(alice); + vm.expectRevert(IVault.InsufficientExitWindow.selector); + vaultFactory.migrate( + address(vault), + 3, + abi.encode( + IVaultTokenized.MigrateParamsTokenized({ + baseParams: abi.encode( + IVault.MigrateParams({ + epochDurationSetEpochsDelay: 7 days + 1, + flashFeeRate: 1, + flashFeeReceiver: alice, + epochDurationSetRoleHolder: alice, + flashFeeRateSetRoleHolder: alice, + flashFeeReceiverSetRoleHolder: alice + }) + ), + name: "test1", + symbol: "TEST1" + }) + ) + ); + vm.stopPrank(); + + vm.startPrank(alice); + vaultFactory.migrate( + address(vault), + 3, + abi.encode( + IVaultTokenized.MigrateParamsTokenized({ + baseParams: abi.encode( + IVault.MigrateParams({ + epochDurationSetEpochsDelay: 7 days + 2, + flashFeeRate: 1, + flashFeeReceiver: alice, + epochDurationSetRoleHolder: alice, + flashFeeRateSetRoleHolder: alice, + flashFeeReceiverSetRoleHolder: alice + }) + ), + name: "test1", + symbol: "TEST1" + }) + ) + ); + vm.stopPrank(); + } + // struct GasStruct { // uint256 gasSpent1; // uint256 gasSpent2; From 608fa54f8f8876107d87cf68b300886a706d8912 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 24 Feb 2025 13:49:31 +0400 Subject: [PATCH 10/12] fix: adjust setEpochDuration --- .../VaultImplementation.json | 2 +- .../VaultTokenizedImplementation.json | 2 +- out/VaultVotes.sol/VaultVotes.json | 2 +- .../VaultVotesImplementation.json | 2 +- out/v1.1/Vault.sol/Vault.json | 2 +- .../VaultTokenized.sol/VaultTokenized.json | 2 +- .../vault/v1.1/VaultImplementation.sol | 35 +++++++------------ src/interfaces/vault/v1.1/IVault.sol | 3 +- test/vault/v1.1/Vault.t.sol | 17 +++++---- 9 files changed, 31 insertions(+), 36 deletions(-) diff --git a/out/VaultImplementation.sol/VaultImplementation.json b/out/VaultImplementation.sol/VaultImplementation.json index 03cbe52..4c5992f 100644 --- a/out/VaultImplementation.sol/VaultImplementation.json +++ b/out/VaultImplementation.sol/VaultImplementation.json @@ -1 +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":"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":"_Vault_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","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":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"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":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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"}],"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614cc938819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614c1c90816100ad8239608051818181611458015261194a015260a051818181611e2001526123280152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131e8565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b91821561073357826107159261322a565b9061071e613217565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613564565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613792565b6137be565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613859565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131e8565b610aef613630565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131e8565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138eb565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a3f565b5050610cbd89610ca242613eb9565b90613b1f565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613bfb565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613217565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133d9565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131e8565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131e8565b61103761368d565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613217565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131e8565b61116e84612d48565b831161134a5761117e8385613155565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613cb9565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613217565b5160018152602090f35b6112d292613cb9565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131e8565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613217565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613cb9565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d90565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d90565b9788958584613d90565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906134af565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131e8565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613217565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131e8565b611abd6136e4565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613217565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131e8565b6120f061373b565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613217565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131e8565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613217565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131e8565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e1d565b9485915f5460101c16613cb9565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131e8565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b9818361318a565b83018093116108195760018201809211610819576126d69161318a565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613115565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613792565b613859565b346105ca5760203660031901126105ca576004356127b16131e8565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613155565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a046020850151836134af565b930151906133d9565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131e8565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b395761071591839161322a565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b60043561318a565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613564565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d90565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131e8565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613cb9565b612f65604051928392339684612fce565b0390a3906108d7613217565b94612f8c600191611719612f86898789612fb9565b35613e1d565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b601254808210613103576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613140575b505061313a5760105490565b600f5490565b90915061314c42613eb9565b16105f8061312e565b5f5460101c6001600160a01b0390811691160361317857601554610eed91613d12565b60405163350b944160e11b8152600490fd5b906131b090825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d90565b5f80516020614bc783398151915260028154146132055760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061324542613eb9565b335f908152600e6020526040902061325c90613fd3565b91848303928311610819576132977febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361332699613bfb565b50506132b16132a542613eb9565b610cbd876116b3613f5f565b50506132cb6132bf42613eb9565b610ca8846116b3613eeb565b50506133748161335f6132e86132e36107e842613eb9565b612c4e565b61333e6132fd825f52600660205260405f2090565b54613310835f52600760205260405f2090565b5461331c82828b614026565b9d8e998a93612c5c565b613338855f52600660205260405f2090565b55612c5c565b613350825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61337f838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156134a557806020806133f4935183010191016133a8565b6133fd81614297565b9061340e825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613444575b505061343b5750610eed90614047565b60209150015190565b909150613452600a54612bb8565b63ffffffff83161491821561346b575b50505f8061342b565b613491919250613485613480611b19926133c4565b614297565b5165ffffffffffff1690565b115f80613462565b50505060209150015190565b50610eed90614047565b9080511561355a57806020806134ca935183010191016133a8565b6134d381614321565b906134e4825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613511575b505061343b5750610eed9061410e565b90915061351f600c54612bb8565b63ffffffff831614918215613538575b50505f80613501565b61355291925061348561354d611b19926133c4565b614321565b115f8061352f565b50610eed9061410e565b91805115613626578060208061357f935183010191016133a8565b9161358a83826143a1565b9261359b845165ffffffffffff1690565b9065ffffffffffff808516921682811461361a57821191826135d1575b50506135c857610eed92506141ce565b50506020015190565b9091506135de8354612bb8565b63ffffffff8316149182156135f7575b50505f806135b8565b61361291925061348561360c611b19926133c4565b856143a1565b115f806135ee565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613683565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613683565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613683565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613683565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a279160016108d795018155613987565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613aea575b50613a576144a2565b50929091815492613a66613eeb565b9481613ad5575b5015613ab257505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ac6926001600160d01b0316915061469e565b5050613ad18361399c565b9190565b65ffffffffffff83811691161490505f613a6d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a4e565b919091600b9081548015613bc6575b50613b376144f7565b50929091815492613b46613f5f565b9481613bb1575b5015613b9257505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ba6926001600160d01b0316915061476e565b5050613ad1836139d0565b65ffffffffffff83811691161490505f613b4d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b2e565b90929192600182019081548015613c89575b5084613c188461454c565b50949092845493613c2883613fd3565b9681613c74575b5015613c51575050505f19810190811161081957613a278591613ad193613987565b613ad1949293613c6d926001600160d01b03909116919061480d565b5050613a04565b65ffffffffffff83811691161490505f613c2f565b600160401b81101561088957806001613ca59201845583613987565b8154905f199060031b1b191690555f613c0d565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d8357633b9aca009082821115613d71577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613e105784831115613e035790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613d08565b90613e2a6107e842613eb9565b8210156131035760ff613e5a613e48845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613ea757613e6a338361318a565b918215613e9557613e889061335f33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613987565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d90565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613943565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613965565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613987565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613987565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613987565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d90565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613987565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613d08565b0160011c90565b61494f818a613d08565b61494f8189613d08565b61494f8188613d08565b61494f8187613d08565b61494f8186613d08565b8093613d08565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220a9f326954cff8e5263453131c97e40d00cc8e612c316b4d620d2fc7a34366ff964736f6c63430008190033","sourceMap":"1252:21568:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21568;;;;;;;;1785:36;1252:21568;;;;;;;;;;1831:32;1252:21568;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612b87565b612b5d565b612ab7565b61296c565b61294f565b612931565b612914565b6128f7565b6128e5565b6128ab565b612880565b612855565b612795565b612749565b61272c565b612704565b6126ea565b61267c565b612662565b6125a2565b612588565b61256b565b612531565b612509565b6124df565b61241e565b612275565b612257565b61222f565b6121e9565b61219c565b6120b7565b61207d565b612063565b61203f565b611f72565b611f38565b611eda565b611eb5565b611e4f565b611e0b565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b96131e8565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613fd3565b613fd3565b8211610748576107046106f5613eeb565b6106fd613f5f565b9084614026565b91821561073357826107159261322a565b9061071e613217565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614ba78339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613eb9565b612df5565b801561081e575f1981019081116108195761080960209161303d565b65ffffffffffff60405191168152f35b612ba4565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613564565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614ba78339815191526020526109f1600160405f200154613792565b6137be565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f690600435613859565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae76131e8565b610aef613630565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614bc783398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612bf4565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f6131e8565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c139060243590309033906138eb565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612bc6565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613eeb565b95610cc3610c86613f5f565b610cae610c948a838b614026565b99610ca88a610ca242613eb9565b92612c5c565b90613a3f565b5050610cbd89610ca242613eb9565b90613b1f565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613eb9565b6001600160a01b039095165f908152600e6020526040902090565b612c5c565b91613bfb565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613217565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613eeb565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612c34565b5f80610c4b565b503d610da9565b612c43565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612c69565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b906133d9565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e6131e8565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614bc783398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f6131e8565b61103761368d565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613217565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612caf565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b6111659591956131e8565b61116e84612d48565b831161134a5761117e8385613155565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613cb9565b516323e30c8b60e01b8152998a988997889633908801612cfe565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612bc6565b036112da57506016546001600160a01b03169081166112c9575b836112bf613217565b5160018152602090f35b6112d292613cb9565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612d48565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613eb9565b61303d565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d06131e8565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613eb9565b9061150181612df5565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613eeb565b9461155f61155182612c4e565b5f52600660205260405f2090565b549082810361164457506115738187612c5c565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613217565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613cb9565b611590565b61163993610c4b83610ca861162361161c611551986116339888613d90565b8096612bc6565b9461162d42613eb9565b92612bc6565b92612c4e565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612c5c565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613d90565b9788958584613d90565b948592612bc6565b612bc6565b93848410611703575b610c4b90610ca86116d795969761162d42613eb9565b6116e361155187612c4e565b55612bc6565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612bc6565b90612c5c565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612bb8565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613eb9565b600181018091116108195761080960209161303d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613eb9565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612ee0565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906134af565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d6131e8565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613217565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190613015565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190613000565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b60243590611ab56131e8565b611abd6136e4565b60038210611df95765ffffffffffff80611ae260135465ffffffffffff9060601c1690565b168015159081611de3575b50611cb6575b60015460d01c818084169116818111611ca457601354611b249060601c65ffffffffffff165b65ffffffffffff1690565b15611c6f5750907fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba89392611b5b5f601455565b601380546bffffffffffffffffffffffff60601b191690555f6010555b611b87611b1960015460d01c90565b03611bb3575b505060405165ffffffffffff90911681529081906020820190565b0390a16109f6613217565b611c63611c3a611c35611c6894611be0611bdb611bd26107e842613eb9565b600f5490612c5c565b601455565b6013805465ffffffffffff60901b1916609089901b65ffffffffffff60901b16179055611c126113dc6107e842613eb9565b90611c2e600f54611c28611b1960015460d01c90565b9061302a565b9116612c5c565b613eb9565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b601055565b5f80611b8d565b908093929114610b4b577fc950f06b73b224f8b32d39245a5905020aebfc426a15833a70ac2e4e2ebe098c93611ba893611b78565b6040516359dcfd5560e11b8152600490fd5b611dae611cc56107e842613eb9565b611d4e611cd76113dc6107e842613eb9565b91611ce3601154601255565b611d1d611cf260015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611d499060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b601155565b601354611d859060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611db9601054600f55565b611dc25f601455565b601380546bffffffffffffffffffffffff60601b191690555f601055611af3565b9050611df1611b1942613eb9565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611e6b6107e842613eb9565b611e73613eeb565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c602435611efe8161067f565b6004355f525f80516020614ba7833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611f558161067f565b60018060a01b03165f52600e60205260206109a260405f20613fd3565b346105ca576040806003193601126105ca57600435611f908161067f565b6024356001600160401b0381116105ca575f8061202e93611fb760809436906004016110e2565b908188519283928337810184815203915af43d156120365760203d611fdb816108d9565b90611fe8875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611ff1565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120d48161067f565b6024356120e081610ab8565b6120e86131e8565b6120f061373b565b6001600160a01b03821691821561218a575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a629161217f9161216d908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613217565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121e06024356121be8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611f2c60243561220d8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca57602061080960043561303d565b346105ca576020806003193601126105ca5760048035906122958261067f565b61229d6131e8565b60035460a01c60ff1661240f576001600160a01b038281169390846122fd575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613217565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f916123f2575b50156123e15760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936123c2575b5050309116036123b35750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806122bd565b604051633f3e089160e21b8152fd5b6123d9929350803d10611a3d57611a2d81836108a9565b905f80612380565b60405163dabc4ad960e01b81528390fd5b6124099150833d8511611a7a57611a6c81836108a9565b5f612358565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561243b8161067f565b602435906124476131e8565b6001600160a01b03918183169081156124cd5761247861072f9461246a83613e1d565b9485915f5460101c16613cb9565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614bc7833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613eeb565b346105ca5760203660031901126105ca576004356125be6131e8565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca5760206109a2613f5f565b346105ca5760203660031901126105ca576004356126998161067f565b6126a56107e842613eb9565b6126ae82612caf565b916126b9818361318a565b83018093116108195760018201809211610819576126d69161318a565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613115565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f660243560043561276c8261067f565b805f525f80516020614ba7833981519152602052612790600160405f200154613792565b613859565b346105ca5760203660031901126105ca576004356127b16131e8565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614bc783398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356128a28161067f565b60243590613155565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356129898161067f565b612991610830565b6001600160401b0391906044358381116105ca576129b39036906004016110e2565b909260409384516129c38161086e565b60608152606060208201526060868201529280612a22575b61072f86612a138787612a0d6129f48984845191612bd3565b9285612a046020850151836134af565b930151906133d9565b91614026565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca57845195612a538761086e565b84358181116105ca5782612a689187016108f4565b875260208501358181116105ca5782612a829187016108f4565b6020880152858501359081116105ca5761072f96612aab612a0d936129f493612a1398016108f4565b878201529394506129db565b346105ca5760403660031901126105ca57600435612ad48161067f565b602435612adf6131e8565b6001600160a01b0382161561075a578015612b4b57612b0e612aff613f5f565b612b07613eeb565b9083614469565b335f908152600e60205260409020909290612b2890613fd3565b8311612b395761071591839161322a565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612b7f8161067f565b60043561318a565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed929190613564565b65ffffffffffff8060135460601c169081158015612c21575b612c15575090565b905060015460a01c1690565b508181612c2d42613eb9565b1610612c0d565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612c9b575b50612c905760901c1690565b505060015460d01c90565b905082612ca742613eb9565b16105f612c84565b6001600160a01b03165f908152600e60205260409020612cce90613fd3565b612cd6613eeb565b612cde613f5f565b9060018101809111610819576001820180921161081957610eed92613d90565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612da8576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612d8f575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612df057160490565b612dc5565b60015465ffffffffffff808316929160a081901c821680851015612e6d5750506013549281841690818015918215612e63575b5050612e5157610eed9361171992612e46611b199360125496612dad565b9160301c1690612dd9565b60405163b7d0949760e01b8152600490fd5b109050815f612e28565b909160135490808260601c1695868015918215612ed6575b505015612eb1575050610eed935061171991612ea7611b199260115495612dad565b9060d01c90612dd9565b6117199350611b199250612ecb610eed9660145496612dad565b9160901c1690612dd9565b109050865f612e85565b90612ee96131e8565b5f926001600160a01b0383169283156124cd578115612f93575f5b828110612f7157505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612f54918491612f4f9060101c6001600160a01b0316611194565b613cb9565b612f65604051928392339684612fce565b0390a3906108d7613217565b94612f8c600191611719612f86898789612fb9565b35613e1d565b9501612f04565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612fc95760051b0190565b612fa5565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b601254808210613103576011548083101561307e5750611c3590610eed92611c2e6130726013549365ffffffffffff93612bc6565b828460301c169061302a565b9050601454801580156130fa575b156130c45750610eed9165ffffffffffff6130ba6130b0611c359460015494612bc6565b8360d01c9061302a565b9160a01c16612c5c565b611c359150610eed926130f06130e46013549365ffffffffffff93612bc6565b828460901c169061302a565b9160601c16612c5c565b5080831061308c565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613140575b505061313a5760105490565b600f5490565b90915061314c42613eb9565b16105f8061312e565b5f5460101c6001600160a01b0390811691160361317857601554610eed91613d12565b60405163350b944160e11b8152600490fd5b906131b090825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613d90565b5f80516020614bc783398151915260028154146132055760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614bc783398151915255565b335f908152600e602052604090209392919061324542613eb9565b335f908152600e6020526040902061325c90613fd3565b91848303928311610819576132977febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361332699613bfb565b50506132b16132a542613eb9565b610cbd876116b3613f5f565b50506132cb6132bf42613eb9565b610ca8846116b3613eeb565b50506133748161335f6132e86132e36107e842613eb9565b612c4e565b61333e6132fd825f52600660205260405f2090565b54613310835f52600760205260405f2090565b5461331c82828b614026565b9d8e998a93612c5c565b613338855f52600660205260405f2090565b55612c5c565b613350825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61337f838254612c5c565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156134a557806020806133f4935183010191016133a8565b6133fd81614297565b9061340e825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613444575b505061343b5750610eed90614047565b60209150015190565b909150613452600a54612bb8565b63ffffffff83161491821561346b575b50505f8061342b565b613491919250613485613480611b19926133c4565b614297565b5165ffffffffffff1690565b115f80613462565b50505060209150015190565b50610eed90614047565b9080511561355a57806020806134ca935183010191016133a8565b6134d381614321565b906134e4825165ffffffffffff1690565b9065ffffffffffff80851692168281146134995782119182613511575b505061343b5750610eed9061410e565b90915061351f600c54612bb8565b63ffffffff831614918215613538575b50505f80613501565b61355291925061348561354d611b19926133c4565b614321565b115f8061352f565b50610eed9061410e565b91805115613626578060208061357f935183010191016133a8565b9161358a83826143a1565b9261359b845165ffffffffffff1690565b9065ffffffffffff808516921682811461361a57821191826135d1575b50506135c857610eed92506141ce565b50506020015190565b9091506135de8354612bb8565b63ffffffff8316149182156135f7575b50505f806135b8565b61361291925061348561360c611b19926133c4565b856143a1565b115f806135ee565b50505050506020015190565b50610eed916141ce565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613683565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613683565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613683565b5f8181525f80516020614ba783398151915260209081526040808320338452909152902060ff90613683565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ba7833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613852575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261440f565b600b54811015612fc957600b5f525f80516020614b8783398151915201905f90565b600d54811015612fc957600d5f525f80516020614b6783398151915201905f90565b8054821015612fc9575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612fc957600d5f525f80516020614b678339815191520155565b600b54600160401b811015610889576001810180600b55811015612fc957600b5f525f80516020614b878339815191520155565b90815491600160401b8310156108895782613a279160016108d795018155613987565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613aea575b50613a576144a2565b50929091815492613a66613eeb565b9481613ad5575b5015613ab257505f1982018281116108195781541115612fc9575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613ac6926001600160d01b0316915061469e565b5050613ad18361399c565b9190565b65ffffffffffff83811691161490505f613a6d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b6783398151915201555f613a4e565b919091600b9081548015613bc6575b50613b376144f7565b50929091815492613b46613f5f565b9481613bb1575b5015613b9257505f1982018281116108195781541115612fc9575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613ba6926001600160d01b0316915061476e565b5050613ad1836139d0565b65ffffffffffff83811691161490505f613b4d565b600160401b8110156108895760018101808455811015612fc9575f908382525f80516020614b8783398151915201555f613b2e565b90929192600182019081548015613c89575b5084613c188461454c565b50949092845493613c2883613fd3565b9681613c74575b5015613c51575050505f19810190811161081957613a278591613ad193613987565b613ad1949293613c6d926001600160d01b03909116919061480d565b5050613a04565b65ffffffffffff83811691161490505f613c2f565b600160401b81101561088957806001613ca59201845583613987565b8154905f199060031b1b191690555f613c0d565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261440f565b8115612df0570490565b90808202905f1981840990828083109203918083039214613d8357633b9aca009082821115613d71577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613e105784831115613e035790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b8215600302601118614585565b505090610eed9250613d08565b90613e2a6107e842613eb9565b8210156131035760ff613e5a613e48845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613ea757613e6a338361318a565b918215613e9557613e889061335f33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ecc571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613f2657505f5b6001600160d01b03811615612da857600d54811015612fc957600d5f525f80516020614b67833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613ef6565b600a5480613f9a57505f5b6001600160d01b03811615612da857600b54811015612fc957600b5f525f80516020614b87833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613f6a565b80548061400857505f5b6001600160d01b03811615614002576001613ff89201613987565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613fdd565b919060018101809111610819576001820180921161081957610eed92613d90565b600a54905f8291600584116140b5575b61406193506149f2565b8061408457505f5b6001600160d01b03811615612da857613ff8610eed91613943565b6140a96140936140b092612bb8565b600a5f525f80516020614b478339815191520190565b5460301c90565b614069565b91926140c0816148c7565b81039081116108195761406193600a5f5265ffffffffffff80835f80516020614b47833981519152015416908516105f146140fc575091614057565b92915061410890612c4e565b90614057565b600c54905f829160058411614175575b6141289350614a5b565b8061414b57505f5b6001600160d01b03811615612da857613ff8610eed91613965565b6140a961415a61417092612bb8565b600c5f525f80516020614b278339815191520190565b614130565b9192614180816148c7565b81039081116108195761412893600c5f5265ffffffffffff80835f80516020614b27833981519152015416908516105f146141bc57509161411e565b9291506141c890612c4e565b9061411e565b908154905f829160058411614231575b6141e9935084614ac4565b8061421157505f905b6001600160d01b0382161561400257610eed916001613ff89201613987565b6140a961422061422b92612bb8565b835f5260205f200190565b906141f2565b919261423c816148c7565b8103908111610819576141e993855f5265ffffffffffff808360205f20015416908516105f1461426d5750916141de565b92915061427990612c4e565b906141de565b6040519061428c8261088e565b5f6020838281520152565b61429f61427f565b506142a861427f565b50600a54811015612fc957600a5f526020604051916142c68361088e565b5f80516020614b4783398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612fc957600b5f525f80516020614b878339815191520154604051916143178361088e565b8252602082015290565b61432961427f565b5061433261427f565b50600c54811015612fc957600c5f526020604051916143508361088e565b5f80516020614b2783398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612fc957600d5f525f80516020614b678339815191520154604051916143178361088e565b90602060016143c56143f1936143b561427f565b506143be61427f565b5085613987565b5093604051946143d48661088e565b549465ffffffffffff86169586825260301c938491015201613987565b905490604051926144018461088e565b835260031b1c602082015290565b905f602091828151910182855af115612c43575f513d61446057506001600160a01b0381163b155b61443e5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614437565b91906001810180911161081957600182018092116108195761448c828285613d90565b928215612df05709151581018091116108195790565b600c54806144b357505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061450857505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061455d5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612fc957600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b2783398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612fc957600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614b4783398151915290910155565b8054600160401b8110156108895761466091600182018155613987565b61468b57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156147455761415a6146b691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036146fb576146f492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061472e9061471a61470c6108ca565b65ffffffffffff9092168252565b6001600160d01b0385166020820152614595565b6146f4565b604051632520601d60e01b8152600490fd5b506147699061475561470c6108ca565b6001600160d01b0384166020820152614595565b5f9190565b600a5491929180156147e95761409361478691612bb8565b9081549165ffffffffffff90818416918316808311614733578692036147c4576146f492509065ffffffffffff82549181199060301b169116179055565b505061472e906147d561470c6108ca565b6001600160d01b03851660208201526145ec565b50614769906147f961470c6108ca565b6001600160d01b03841660208201526145ec565b805492939280156148a25761482461482f91612bb8565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116147335787930361486e57506146f492509065ffffffffffff82549181199060301b169116179055565b91505061472e9161488e6148806108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614643565b5090614769916148b36148806108ca565b6001600160d01b0385166020830152614643565b6001811115610eed57600181600160801b8110156149e0575b61498861497e61497461496a61496061495661499497600488600160401b61498f9a10156149d3575b6401000000008110156149c6575b620100008110156149b9575b6101008110156149ad575b60108110156149a1575b1015614999575b60030260011c61494f818b613d08565b0160011c90565b61494f818a613d08565b61494f8189613d08565b61494f8188613d08565b61494f8187613d08565b61494f8186613d08565b8093613d08565b821190565b900390565b60011b61493f565b811c9160021b91614938565b60081c91811b9161492e565b60101c9160081b91614923565b60201c9160101b91614917565b60401c9160201b91614909565b50600160401b9050608082901c6148e0565b905b828110614a0057505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614b47833981519152015416908616105f14614a48575050915b906149f4565b9093925081018091116108195790614a42565b905b828110614a6957505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614b27833981519152015416908616105f14614ab1575050915b90614a5d565b9093925081018091116108195790614aab565b91905b838210614ad45750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614b13575050925b9190614ac7565b9094935081018091116108195791614b0c56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220a9f326954cff8e5263453131c97e40d00cc8e612c316b4d620d2fc7a34366ff964736f6c63430008190033","sourceMap":"1252:21568: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;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21568:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3653:32:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;757:38:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;612:37:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;2084:35:108;1252:21568:107;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;10976:21;10972:75;;11085:10;1252:21568;;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:24::-;:33;:::i;:::-;11061:35;;11057:88;;1057:70:95;5835:21:107;;:::i;:::-;5479:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11252:20:107;;;11248:82;;11355:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;;;11248:82;1252:21568;;-1:-1:-1;;;;;;11295:24:107;;1252:21568;;11295:24;11057:88;1252:21568;;-1:-1:-1;;;11119:15:107;;1252:21568;;11119:15;10972:75;1252:21568;;-1:-1:-1;;;11020:16:107;;1252:21568;;11020:16;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;4919:24:23;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;:::-;4538:25:107;:::i;:::-;4887:10;;4883:65;;-1:-1:-1;;1252:21568:107;;;;;;;4964:21;1252:21568;4964:21;;:::i;:::-;1252:21568;;;;;;;;;;:::i;4883:65::-;1252:21568;;-1:-1:-1;;;4920:17:107;;1252:21568;;4920:17;1252:21568;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;6038:59;1252:21568;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;6038:15;1252:21568;;;;;6038:59;:::i;:::-;1252:21568;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;5350:25:23;1252:21568:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;3202:4:23;4919:24;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21568:107;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1329:40:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:21568:107;;6441:34:23;6437:102;;6549:37;1252:21568:107;;;6549:37:23;:::i;6437:102::-;1252:21568:107;;-1:-1:-1;;;6498:30:23;;1252:21568:107;;6498:30:23;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;;6413:22;1252:21568;;;;6413:46;;;1252:21568;;;;;;;;;;;6413:46;-1:-1:-1;6439:20:107;1252:21568;;;;;6413:46;;1252:21568;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;;;;;15984:26;15980:76;;-1:-1:-1;;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;;;16107:27;;1252:21568;;16107:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;15980:76;1252:21568;;-1:-1:-1;;;16033:12:107;;1252:21568;;16033:12;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;8925:24;;8921:81;;-1:-1:-1;1252:21568:107;;;;9016:55;;;1252:21568;9012:118;;1252:21568;;-1:-1:-1;;;9164:43:107;;;9201:4;9164:43;;;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;;9164:43;;;;;;;;;;-1:-1:-1;9164:43:107;;;1252:21568;;9280:6;1252:21568;;;9201:4;;9253:10;;9280:6;;:::i;:::-;-1:-1:-1;1252:21568:107;;;9315:43;;;9201:4;9315:43;;;1252:21568;;;;;;;;;;9315:43;1252:21568;;;;;;9315:43;1252:21568;;;;;9315:43;;;;;;;:59;:43;-1:-1:-1;9315:43:107;;;1252:21568;9315:59;;;:::i;:::-;9389:20;;;9385:79;;1252:21568;;;;;9478:64;;1252:21568;9474:123;;5835:21;;1252:21568;5835:21;9953:93;5835:21;;:::i;:::-;5479:22;9877:66;5479:22;;:::i;:::-;9800:67;390:70:95;;;;;:::i;:::-;837:15:73;9836:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9836:30:107;;:::i;:::-;9800:67;;:::i;:::-;837:15:73;;9914:28:107;837:15:73;819:34;837:15;819:34;:::i;9914:28:107:-;9877:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21568:107;;;;;;6254:15;1252:21568;;;;;837:15:73;10004:41:107;837:15:73;6254:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;;6254:15;1252:21568;;;;;;;6254:33;10004:41;:::i;:::-;9953:93;;:::i;:::-;-1:-1:-1;;1252:21568:107;;;;;;;;;;;9253:10;;10062:62;;1252:21568;;10062:62;3426:1:30;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;;;;9474:123;1252:21568;;-1:-1:-1;;;9565:21:107;;;9478:64;5835:21;9496:31;5835:21;;;:::i;9496:31::-;1252:21568;;-1:-1:-1;9478:64:107;;9385:79;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;9432:21:107;;;9315:43;;;;;;-1:-1:-1;9315:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9164:::-;9280:6;9164:43;;;;;;;;;;;;;;;:::i;:::-;;;;;9012:118;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;9094:25:107;;;9016:55;-1:-1:-1;9060:10:107;1252:21568;;;;9037:22;1252:21568;;;;;;;;9036:35;9016:55;;8921:81;1252:21568;;-1:-1:-1;;;8972:19:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;4126:39:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;2255:34:108;1252:21568:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5305:48;1252:21568;;;:::i;:::-;5305:48;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;1329:40:108;;1252:21568:107;;4468:23:23;4464:108;;-1:-1:-1;19965:16:107;1252:21568;-1:-1:-1;;;;;1252:21568:107;;;;;;19965:37;;19961:87;;-1:-1:-1;;;;;;1252:21568:107;;;19965:16;1252:21568;;;;;;20109:38;;1252:21568;;20109:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;4464:108:23;1252:21568:107;;;;4514:47:23;;;;;;966:10:28;1252:21568:107;4514:47:23;;1252:21568:107;;;;;4514:47:23;1252:21568:107;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;16812:24;16808:74;;-1:-1:-1;;1252:21568:107;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;16931:25;;1252:21568;;16931:25;3426:1:30;;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;2718:59:108;1252:21568:107;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12652:19:107;;;:::i;:::-;12644:27;;12640:82;;12745:22;;;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;12843:19;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;;;;;1252:21568:107;;;12843:19;1252:21568;;;-1:-1:-1;;;12843:44:107;;;12881:4;12843:44;;;1252:21568;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;12881:4;1252:21568;;;;;;;;12843:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12843:44:107;;;1252:21568;;;12950:5;1252:21568;12971:57;1252:21568;;-1:-1:-1;1252:21568:107;;;;12950:5;;;:::i;:::-;1252:21568;-1:-1:-1;;;12971:57:107;;1252:21568;;;;;;;12992:10;;12971:57;;;:::i;:::-;;;;;;;;;1564:45:108;12971:57:107;-1:-1:-1;12971:57:107;;;1252:21568;12971:73;;12967:128;;1252:21568;;13109:44;;;12881:4;13109:44;;;1252:21568;;;;;;;;;13109:44;1252:21568;;;;;;13109:44;;;;;;;;;;:60;:44;-1:-1:-1;13109:44:107;;;:60;;;:::i;:::-;:67;13105:126;;-1:-1:-1;13245:16:107;1252:21568;-1:-1:-1;;;;;1252:21568:107;;;;13241:116;;1252:21568;3426:1:30;;;:::i;:::-;1252:21568:107;13374:4;1252:21568;;;;;13241:116;13342:3;;;:::i;:::-;13241:116;;;;;13105:126;1252:21568;;-1:-1:-1;;;13199:21:107;;;12967:128;1252:21568;;-1:-1:-1;;;13067:17:107;;1252:21568;;13067:17;12971:57;;;;;;;;;;;;;;:::i;:::-;;;;12843:44;-1:-1:-1;12843:44:107;;;;;;;12971:57;12843:44;;;12950:5;12843:44;;;;-1:-1:-1;12843:44:107;;;;;;:::i;:::-;;;;;;;;;;;;;12640:82;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;12694:17:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1041:36:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;4693:26;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1989:39:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1564:45:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1575:42;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;2423:32:108;1252:21568:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13573:7:107;1252:21568;13559:21;;-1:-1:-1;;;;;1252:21568:107;;;13559:21;:10;:21;13555:71;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;13707;;;;:::i;:::-;13747:17;;;;:53;;;1252:21568;13746:87;;;;1252:21568;13742:146;;1252:21568;5835:21;15752:48;5835:21;;;:::i;:::-;13982:17;13970:30;13982:17;;;:::i;:::-;1252:21568;;13970:11;1252:21568;;;;;;;13970:30;1252:21568;;14014:29;;;;;14084:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:21568:107;3060:42:68;;14194:17:107;;;14190:384;;14010:1615;;;;;;;15639:17;15635:102;;14010:1615;1252:21568;;;;;;;;;;;;;;;;;;;;;;;15752:48;3426:1:30;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;15635:102;-1:-1:-1;1252:21568:107;15712:13;;1252:21568;;15672:18;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;15672:18;13998:1;1252:21568;-1:-1:-1;;;;;1252:21568:107;15712:13;;:::i;:::-;15635:102;;14190:384;14487:29;14255:50;14404:65;14255:50;14440:28;14356:29;14255:50;14499:16;14255:50;14519:40;14255:50;;;:::i;:::-;14356:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14440:28:107;;:::i;14519:40::-;14499:16;;:::i;14487:29::-;1252:21568;14190:384;;;;;;;14010:1615;14627:26;;;;1252:21568;;13970:11;1252:21568;;;;;;;14627:26;1252:21568;14692:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:21568:107;3060:42:68;;14817:17:107;;14813:802;;14010:1615;;;;;;;;14813:802;15538:26;14878:50;;14979:53;14878:50;15079:54;14878:50;15079:29;14878:50;15567:33;14878:50;;;;:::i;:::-;14979:53;;;;;;:::i;:::-;15079:29;;;;:::i;:::-;:54;:::i;:::-;15156:33;;;;15152:194;;14813:802;15364:65;837:15:73;15400:28:107;15480:40;837:15:73;;;819:34;837:15;819:34;:::i;15480:40:107:-;15447:30;15459:17;;;:::i;15447:30::-;1252:21568;15567:33;:::i;:::-;15538:26;1252:21568;;13970:11;1252:21568;;;;;;;15538:26;1252:21568;14813:802;;;;;;;15152:194;15239:33;15213:59;15364:65;15239:33;;;15480:40;15239:33;;;:::i;:::-;15213:59;;:::i;:::-;15294:33;;-1:-1:-1;15294:33:107;;-1:-1:-1;15152:194:107;;13742:146;1252:21568;;-1:-1:-1;;;13856:21:107;;1252:21568;;13856:21;13746:87;13805:28;;;;13746:87;;13747:53;13783:17;;;;:::i;:::-;13768:32;;13747:53;;13555:71;1252:21568;;-1:-1:-1;;;13603:12:107;;1252:21568;;13603:12;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;5140:1;1252:21568;;;;;;;5112:30;1252:21568;5112:30;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;4027:43:108;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4538:25;819:34:73;837:15;819:34;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21568:107;2594:68:108;1252:21568:107;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11942:14;1252:21568;;11942:14;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3932:39:108;1252:21568:107;;;;;;;;;;;;;;;5663:47;1252:21568;;;:::i;:::-;5663:47;;:::i;1252:21568::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20294:22:107;1252:21568;;;;;20290:89;;1252:21568;;-1:-1:-1;;;20394:49:107;;-1:-1:-1;;;;;1252:21568:107;;;20394:49;;;1252:21568;;;;;;;;;;;;;;;20394:49;20404:17;;;1252:21568;20394:49;;;;;;;-1:-1:-1;20394:49:107;;;1252:21568;20393:50;;20389:102;;1252:21568;;-1:-1:-1;;;20505:34:107;;1252:21568;;;;;20505:34;1252:21568;20505:34;1252:21568;;20505:34;;;;;;;-1:-1:-1;20505:34:107;;;1252:21568;20551:4;;;1252:21568;;20505:51;20501:107;;-1:-1:-1;20294:22:107;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;;-1:-1:-1;;;;;;1252:21568:107;;;;;;;-1:-1:-1;;;1252:21568:107;;;20696:24;-1:-1:-1;;20696:24:107;3426:1:30;;:::i;20501:107:107:-;1252:21568;;-1:-1:-1;;;20579:18:107;;;20505:34;;;;;;;-1:-1:-1;20505:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20389:102;-1:-1:-1;1252:21568:107;;-1:-1:-1;;;20466:14:107;;;20394:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;20290:89;1252:21568;;-1:-1:-1;;;20339:29:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;3202:4:23;;:::i;:::-;17534:1:107;17503:32;;17499:106;;1252:21568;;;17619:29;1252:21568;;;;;;;;;;17619:34;;;:87;;;;1252:21568;17615:854;;;1252:21568;18483:21;1252:21568;;;;;;;;;18483:38;;;18479:101;;17619:29;1252:21568;18594:34;;1252:21568;;;;;;;;;18594:34;;17619:29;;18644:25;;19389:32;18644:25;19389:32;18644:25;;;17652:1;18286:25;1252:21568;;18644:25;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;-1:-1:-1;18233:39:107;1252:21568;18773:43;18936:39;1252:21568;18483:21;1252:21568;;;;;18936:39;;18932:442;;18590:332;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;19389:32;;;;3426:1:30;;:::i;18932:442:107:-;19137:142;19185:94;19186:81;19293:70;837:15:73;18991:76:107;19015:52;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;19032:35;1252:21568;19015:52;;:::i;:::-;18991:76;1252:21568;;18991:76;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;-1:-1:-1;;;1252:21568:107;;;;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4693:26:107:-;1252:21568;19208:59;19032:35;1252:21568;19208:59;1252:21568;18483:21;1252:21568;;;;;19208:59;;;:::i;:::-;1252:21568;;19186:81;:::i;:::-;19185:94;:::i;:::-;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;19137:142;19293:70;1252:21568;;19293:70;18932:442;;;;18590:332;18837:39;;;;;;18833:89;;19389:32;18590:332;19389:32;18590:332;;;18479:101;1252:21568;;-1:-1:-1;;;18544:25:107;;1252:21568;;18544:25;17615:854;18135:46;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;18025:33;4693:26;4538:25;819:34:73;837:15;819:34;:::i;4693:26:107:-;1252:21568;17836:41;17860:17;1252:21568;17836:41;1252:21568;;17836:41;17891:49;1252:21568;17919:21;1252:21568;;;;;;;17619:29;1252:21568;;;;;;;;;;17619:29;1252:21568;;17891:49;17919:21;1252:21568;17954:57;;1252:21568;;;;;;;;17619:29;1252:21568;;;17619:29;1252:21568;;17954:57;17860:17;1252:21568;;18025:33;17619:29;1252:21568;18072:49;;1252:21568;;;;17919:21;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;;;;-1:-1:-1;;;;;;1252:21568:107;;;;;;;;18072:49;17919:21;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;18135:46;18195:77;18233:39;1252:21568;18195:77;1252:21568;;18195:77;18286:25;17652:1;18286:25;1252:21568;;18286:25;17619:29;1252:21568;;-1:-1:-1;;;;1252:21568:107;;;-1:-1:-1;18233:39:107;1252:21568;17615:854;;17619:87;837:15:73;;17657:49:107;819:34:73;837:15;819:34;:::i;17657:49:107:-;-1:-1:-1;17657:49:107;17619:87;;;17499:106;1252:21568;;-1:-1:-1;;;17558:36:107;;1252:21568;;17558:36;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;1666:40;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;5835:21;;:::i;:::-;1252:21568;;;;6639:11;1252:21568;;;;;;;;;;;;;6680:1;1252:21568;;;;;;;;;6639:11;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3833:43:108;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3901:31:23;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;3901:31:23;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21568:107;6254:15;1252:21568;;;6254:33;1252:21568;-1:-1:-1;1252:21568:107;6254:33;:::i;1252:21568::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21568:107;;;;-1:-1:-1;1252:21568:107;477:31:86;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;477:31:86;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;477:31:86;1252:21568:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:21568:107;518:79:86;;1252:21568:107;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;900:35:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;16349:21;;16345:75;;-1:-1:-1;1252:21568:107;;;16434:22;1252:21568;;;;;;;;;;;;;16434:41;16430:91;;-1:-1:-1;;;;;1252:21568:107;;;;;9037:22;1252:21568;;;;;16587:44;;;;16531:40;;:31;1252:21568;;;;;;;;;;;;;;16531:40;1252:21568;;;;;;;;;;;;;;;16587:44;;;;3426:1:30;;:::i;16345:75:107:-;1252:21568;;-1:-1:-1;;;16393:16:107;;1252:21568;;16393:16;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;2953:94:108;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;2953:94:108;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;2953:94:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3103:92:108;1252:21568:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21568:107;3103:92:108;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;4396:31:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20863:20:107;1252:21568;;;;;20859:85;;-1:-1:-1;;;;;1252:21568:107;;;;;;20954:312;;1252:21568;20863:20;1252:21568;;-1:-1:-1;;;;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;21276:27;21319:20;-1:-1:-1;21319:20:107;;3426:1:30;;:::i;20954:312:107:-;1252:21568;;-1:-1:-1;;;21001:45:107;;-1:-1:-1;;;;;1252:21568:107;;21001:45;;;1252:21568;;;21001:45;;1252:21568;;;;;;21001:45;21011:15;;;1252:21568;21001:45;;;;;;;-1:-1:-1;21001:45:107;;;20954:312;21000:46;;20996:104;;1252:21568;;-1:-1:-1;;;21118:30:107;;;1252:21568;21118:30;1252:21568;21118:30;;;;;;;;-1:-1:-1;21118:30:107;;;20954:312;21160:4;;;1252:21568;;21118:47;21114:109;;-1:-1:-1;20863:20:107;1252:21568;;-1:-1:-1;;;;;;1252:21568:107;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;20954:312;;;;;;21114:109;1252:21568;;-1:-1:-1;;;21192:16:107;;;21118:30;;;;;;;-1:-1:-1;21118:30:107;;;;;;:::i;:::-;;;;;;20996:104;1252:21568;;-1:-1:-1;;;21073:12:107;;1252:21568;;21073:12;21001:45;;;;;;;;;;;;;;:::i;:::-;;;;20859:85;1252:21568;;-1:-1:-1;;;20906:27:107;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;11563:23;;11559:79;;11724:6;1252:21568;11657:13;;;;:::i;:::-;1252:21568;;;-1:-1:-1;1252:21568:107;;;;11724:6;:::i;:::-;1252:21568;;;;;;;;;;;;11753:10;;11747:43;;1252:21568;11747:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;11559:79;1252:21568;;-1:-1:-1;;;11609:18:107;;1252:21568;;11609:18;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;-1:-1:-1;1252:21568:107;2833:64:108;1252:21568:107;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;2345:22:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1183:36:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3543:54:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;5835:21;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;900:35:108;;1252:21568:107;;4468:23:23;4464:108;;1252:21568:107;;;;17134:21;17130:71;;1252:21568;;17247:22;1252:21568;;;;;;;;17247:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;5479:22;;:::i;1252:21568::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;8043:24;;;:::i;:::-;8070:29;;;;;:::i;:::-;1252:21568;;;;;;;8124:1;1252:21568;;;;;;;8102:33;;;:::i;:::-;1252:21568;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;2175:24:108;1252:21568:107;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;3741:36:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;5767:26:23;1252:21568:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;3202:4:23;4919:24;1252:21568:107;-1:-1:-1;1252:21568:107;4919:24:23;1252:21568:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:21568:107:-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;;1183:36:108;;1252:21568:107;;4468:23:23;4464:108;;1252:21568:107;;19608:12;1252:21568;19608:29;19604:79;;1252:21568;;19736:30;1252:21568;19608:12;1252:21568;;;;;;19736:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;466:39:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4221:36:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;4313:27:108;1252:21568:107;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;1466:3:108;1252:21568:107;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;:::i;:::-;6861:48;;1252:21568;;;;;;;:::i;:::-;;;;;;;;;;;;;;6923:16;;6919:111;;1252:21568;;7122:39;1057:70:95;7122:39:107;;5305:48;7085:77;7122:39;;;;7085:77;;:::i;:::-;7201:36;;5663:47;1252:21568;7201:36;;;5663:47;;:::i;:::-;7278:37;;;5305:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;6919:111;6978:41;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5305:48;1252:21568;7085:77;1252:21568;1057:70:95;1252:21568:107;;;:::i;:::-;;;;;6919:111;;;;;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21568:107;;10341:21;10337:75;;10426:11;;10422:73;;845:69:95;5479:22:107;;:::i;:::-;5835:21;;:::i;:::-;845:69:95;;;:::i;:::-;10631:10:107;1252:21568;;;;6254:15;1252:21568;;;;;10631:10;;;6254:33;;;:::i;:::-;10601:41;;10597:96;;10718:40;;;;;:::i;10597:96::-;1252:21568;;-1:-1:-1;;;10665:17:107;;1252:21568;;10665:17;10422:73;1252:21568;;-1:-1:-1;;;10460:24:107;;1252:21568;;10460:24;1252:21568;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21568:107;;;;;3437:50:108;1252:21568:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5911:193::-;-1:-1:-1;;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;6038:15;1252:21568;;;;;6038:59;;5911:193;;6038:59;:::i;2573:269::-;1252:21568;;2645:29;1252:21568;;;;2645:34;;;:86;;;;2573:269;2641:149;;2799:36;2573:269;:::o;2641:149::-;1252:21568;;2754:25;1252:21568;;;;2747:32;:::o;2645:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2683:48;2645:86;;1252:21568;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13998:1;1252:21568;;;;;;;:::o;:::-;;;;;;;;;;:::o;2268:257::-;2336:29;1252:21568;;;;;;;;2336:34;;:86;;;;;2268:257;2332:145;;;1252:21568;;;2268:257;:::o;2332:145::-;1252:21568;;2445:21;1252:21568;;;2438:28;:::o;2336:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2374:48;2336:86;;;7381:191;-1:-1:-1;;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:::-;5835:21;;:::i;:::-;5479:22;;:::i;:::-;1252:21568;1884:1:95;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;1252:21568:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;:::o;8203:218::-;8316:10;1252:21568;;;-1:-1:-1;;;;;1252:21568:107;;;;;8343:20;;1252:21568;;8366:44;1252:21568;;;;;;;;;;;8366:44;;8404:4;8366:44;;;1252:21568;8366:44;;;;;;;8316:10;8366:44;;;8343:71;8203:218;:::o;8366:44::-;;;;;;;;;;;;;;:::i;8343:71::-;;8316:10;8203:218;:::o;1252:21568::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2890:760::-;2995:25;1252:21568;;;;;;;;;;;;;2983:37;;;;;;1252:21568;;3040:29;1252:21568;;;;;3040:34;;;;:79;;;;;2979:665;3036:143;;;;3199:95;1252:21568;3199:95;1252:21568;3224:41;3223:71;1252:21568;3199:21;1252:21568;3224:41;;:::i;:::-;1252:21568;;;;3223:71;;:::i;3036:143::-;1252:21568;;-1:-1:-1;;;3146:18:107;;;;;3040:79;3078:41;;-1:-1:-1;3040:79:107;;;;2979:665;1252:21568;;3315:29;1252:21568;;;;;;;3315:34;;;;:79;;;;;2979:665;-1:-1:-1;;3311:333:107;;;1252:21568;;3417:83;1252:21568;;3417:83;1252:21568;3438:37;3437:63;1252:21568;3417:17;1252:21568;3438:37;;:::i;:::-;1252:21568;;;3437:63;;:::i;3311:333::-;3538:95;1252:21568;;3562:71;1252:21568;;3563:41;3538:95;1252:21568;3538:21;1252:21568;3563:41;;:::i;:::-;1252:21568;;;;3562:71;;:::i;3315:79::-;3353:41;;-1:-1:-1;3315:79:107;;;;3361:103:30;;;;:::i;:::-;1252:21568:107;;-1:-1:-1;;;;;1252:21568:107;;;11972:23;;11968:79;;12101:11;;12097:70;;1252:21568;12193:10;;;;;;-1:-1:-1;1252:21568:107;;12338:49;;1252:21568;;;;12315:6;;1252:21568;;12272:18;;1252:21568;;-1:-1:-1;;;;;1252:21568:107;;;12272:18;12315:6;:::i;:::-;12338:49;1252:21568;;12349:10;;;;12338:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12205:3:107:-;12241:9;12224:27;1252:21568;12241:9;12234:17;12241:9;;;;;:::i;:::-;1252:21568;12234:17;:::i;12224:27::-;12205:3;1252:21568;12182:9;;12097:70;1252:21568;;-1:-1:-1;;;12135:21:107;;;;;1252:21568;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3698:721::-;3798:21;1252:21568;3790:29;;;3786:81;;3889:17;1252:21568;3881:25;;;;;;1252:21568;3946:91;1252:21568;3945:104;1252:21568;3978:59;3979:29;3946;1252:21568;;;3979:29;;:::i;:::-;1252:21568;;;;;3978:59;;:::i;3877:536::-;1252:21568;;4070:21;1252:21568;4070:26;;:59;;;;3877:536;4066:347;;;1252:21568;4152:92;1252:21568;;4181:51;4182:25;4153:79;1252:21568;4153:25;1252:21568;4182:25;;:::i;:::-;1252:21568;;;4181:51;;:::i;:::-;1252:21568;;;;4153:79;:::i;4066:347::-;4299:91;1252:21568;;4298:104;1252:21568;4331:59;4332:29;4299;1252:21568;;;4332:29;;:::i;:::-;1252:21568;;;;;4331:59;;:::i;:::-;1252:21568;;;;4299:91;:::i;4070:59::-;4100:29;;;;4070:59;;3786:81;1252:21568;;-1:-1:-1;;;3842:14:107;;;;;1918:302;1252:21568;;2003:29;1252:21568;;;;2003:34;;:86;;;;;1918:302;1999:159;;;;2174:39;1252:21568;1918:302;:::o;1999:159::-;2112:35;1252:21568;2105:42;:::o;2003:86::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21568:107;2041:48;2003:86;;;;8482:228;8583:10;1252:21568;;;-1:-1:-1;;;;;1252:21568:107;;;;;8574:19;8570:75;;8674:12;1252:21568;8661:42;;;:::i;8570:75::-;1252:21568;;-1:-1:-1;;;8616:18:107;;;;;7620:227;;7760:34;7620:227;1252:21568;-1:-1:-1;1252:21568:107;7760:18;1252:21568;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;;;;;;;7760:34;1252:21568;;-1:-1:-1;1252:21568:107;7796:11;1252:21568;;;-1:-1:-1;1252:21568:107;;7816:16;1252:21568;;;-1:-1:-1;1252:21568:107;;;1884:1:95;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:21568:107;;3670:20:30;3666:88;;1991:1;1252:21568:107;;3470:384:30:o;3666:88::-;1252:21568:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21568:107;3860:283:30:o;21352:960:107:-;21531:10;1252:21568;;;;6254:15;1252:21568;;;;;;21352:960;;;819:34:73;837:15;819:34;:::i;:::-;21531:10:107;1252:21568;;;;6254:15;1252:21568;;;;;6254:33;;;:::i;:::-;1252:21568;;;;;;;;;21515:93;22231:74;21515:93;;;22056:30;21515:93;;:::i;:::-;837:15:73;;21618:67:107;819:34:73;837:15;819:34;:::i;:::-;21655:29:107;5479:22;;;:::i;21618:67::-;837:15:73;;21695:68:107;819:34:73;837:15;819:34;:::i;:::-;21731:31:107;5835:21;;;:::i;21695:68::-;837:15:73;;22165:34:107;837:15:73;22165:25:107;21790:18;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;21790:18;:::i;:::-;22122:33;21841:18;;1252:21568;;13970:11;1252:21568;;;;;;;21841:18;1252:21568;21898:23;;1252:21568;;21898:16;1252:21568;;;;;;;21898:23;1252:21568;390:70:95;;;;;:::i;:::-;22056:30:107;;;;;;:::i;:::-;22035:18;;1252:21568;;13970:11;1252:21568;;;;;;;22035:18;1252:21568;22122:33;:::i;:::-;22096:23;;1252:21568;;21898:16;1252:21568;;;;;;;22096:23;1252:21568;;;22165:18;1252:21568;;;;;;;22165:25;1252:21568;;;;;;;;;;;;;;;;22165:34;:50;1252:21568;;;22165:50;:::i;:::-;1252:21568;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;21531:10;;1252:21568;;22231:74;21352:960::o;1252:21568::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21568: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:21568:107;8075:24:94;:::o;7975:84::-;1252:21568:107;;;8009:16:94;5305:13:107;1252:21568;8009:16:94;:::i;:::-;1252:21568: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:21568:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21568:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21568:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21568:107;;;8009:16:94;5663:12:107;1252:21568;8009:16:94;:::i;:::-;1252:21568: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:21568:107;;7686:17:94;7682:83;;1252:21568:107;7789:27:94;1252:21568:107;7789:27:94;1252:21568:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21568: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:21568:107;8075:24:94;:::o;7975:84::-;1252:21568:107;;;8009:16:94;1252:21568:107;;8009:16:94;:::i;:::-;1252:21568: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:21568:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;466:39:108;;1252:21568:107;;3901:31:23;1252:21568:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;757:38:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;1041:36:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;966:10:28;-1:-1:-1;1252:21568:107;;;;;;;;;612:37:108;;1252:21568:107;;3901:31:23;1252:21568:107;4148:103:23;-1:-1:-1;1252:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;966:10:28;1252:21568:107;;;;;;;;;3901:31:23;1252:21568:107;7270:387:23;-1:-1:-1;1252:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;7509:4:23;1252:21568:107;;;966:10:28;;-1:-1:-1;;;;;1252:21568: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:21568:107;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;966:10:28;;-1:-1:-1;;;;;1252:21568:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21568:107;8209:11:23;:::o;1670:188:55:-;1252:21568:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:21568:107;;;1797:53:55;;;1252:21568:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:21568:107;;;;;;;-1:-1:-1;;;;;1252:21568:107;;;;;1797:53:55;1252:21568:107;;;1797:53:55;:::i;1252:21568:107:-;7178:12:94;1252:21568:107;;;;;;7178:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;-1:-1:-1;1252:21568:107;:::o;:::-;7178:12:94;1252:21568:107;;;;;;7178:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;-1:-1:-1;1252:21568:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:21568:107;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;:::o;:::-;6360:12:94;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;;;;;;;6360:12:94;1252:21568:107;;;;;;6360:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;:::o;:::-;6360:12:94;1252:21568:107;-1:-1:-1;;;1252:21568:107;;;;;;;;;6360:12:94;1252:21568:107;;;;;;6360:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;6798:25:94;1252:21568:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;6356:75:94;;;6246:584;;;;6360:12;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;-1:-1:-1;1252:21568:107;;;-1:-1:-1;1252:21568:107;;;;;;6798:25:94;1252:21568:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21568:107;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:21568:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21568:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21568:107;;8310:38:71;;-1:-1:-1;;;;;1252:21568:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:21568:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21568:107;;;;;;6360:12:94;1252:21568:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:21568:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:21568:107;;;1380:43:55;;;1252:21568:107;;;;;;;;;1380:43:55;;;1252:21568:107;;;;-1:-1:-1;;;;;1252:21568:107;;;;;;;;1380:43:55;1252:21568:107;;;1380:43:55;:::i;1252:21568:107:-;;;;;;;:::o;4996:4226:68:-;;1252:21568:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:108;6270:20:68;;;;;6266:143;;1252:21568:107;6695:300:68;;;;;;;;1252:21568:107;;6695:300:68;;7259:375;;7700:21;1252:21568:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1252:21568:107;;1466:3:108;1252:21568:107;;;6119:26:68;:::o;4996:4226::-;;1252:21568:107;;;;-1:-1:-1;;1252:21568: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:21568:107;;8075:1:68;1252:21568:107;8074:21:68;1252:21568:107;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;;;;940:4:59;;1252:21568:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:21568:107;6695:300:68;;7259:375;7700:21;1252:21568:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:21568:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;22318:460:107:-;;4538:25;819:34:73;837:15;819:34;:::i;4538:25:107:-;22411:23;;;22407:75;;1252:21568;22496:39;:27;;1252:21568;;22496:20;1252:21568;;;;;;;22496:27;22524:10;1252:21568;;;;;;;;;;;;;;22496:39;1252:21568;;22492:93;;22604:32;22524:10;22604:32;;:::i;:::-;22651:11;;;22647:68;;22725:39;22524:10;22725:27;22524:10;22725:27;1252:21568;;22496:20;1252:21568;;;;;;;22725:39;1252:21568;;-1:-1:-1;;1252:21568:107;22767:4;1252:21568;;;22318:460::o;22647:68::-;1252:21568;;-1:-1:-1;;;22685:19:107;;;;;22492:93;1252:21568;;-1:-1:-1;;;22558:16:107;;;;;14296:213:69;1252:21568:107;14374:24:69;;;;14370:103;;1252:21568:107;14296:213:69;:::o;14370:103::-;1252:21568:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:21568:107;;;;;14421:41:69;10580:184:94;5835:12:107;1252:21568;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;1252:21568:107;;;;;;10736:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;5835:12;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;10580:184:94;5479:13:107;1252:21568;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;1252:21568:107;;;;;;10736:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;5479:13;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;10580:184:94;1252:21568:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21568:107;;10726:7:94;1252:21568:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:21568:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:21568:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:21568:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:21568:107;;;;;;;1884:1:95;1252:21568:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5305:13:107;1252:21568;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:21568:107;;7168:7:94;1252:21568:107;;7178:17:94;1252:21568:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5305:13:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;1252:21568:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21568:107;;;;;;;10049:53:71;14439:109;5305:13:107;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5663:12:107;1252:21568;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:21568:107;;7168:7:94;1252:21568:107;;7178:17:94;1252:21568:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5663:12:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21568:107;;;;;;;10049:53:71;14439:109;5663:12:107;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:21568: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:21568:107;;7168:7:94;1252:21568: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:21568:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21568:107;;;;;9870:48:71;9866:149;1252:21568:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21568:107;;;;;;;:::i;:::-;-1:-1:-1;1252:21568:107;;;;;;;:::o;11486:272:94:-;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;5305:13;1252:21568;;;;;;5305:13;-1:-1:-1;1252:21568:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21568:107;;;;;;11718:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:21568:107;11486:272:94;:::o;:::-;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;5663:12;1252:21568;;;;;;5663:12;-1:-1:-1;1252:21568:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21568:107;;;;;;11718:12:94;-1:-1:-1;1252:21568:107;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;;;;;:::i;11486:272:94:-;;1252:21568:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:21568:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:21568:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:21568:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:21568: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:21568:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21568:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:21568:107;;;8401:40:55;;;1252:21568:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:21568:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:21568:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5835:12:107;1252:21568;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;5835:12;10833:17:71;14439:109;;;1252:21568:107;11014:1:71;;1252:21568:107;;;;;;;11030:37:71:o;10695:389::-;5479:13:107;1252:21568;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;5479:13;10833:17:71;14439:109;;;1252:21568:107;11014:1:71;;1252:21568:107;;;;;;;11030:37:71:o;10695:389::-;1252:21568:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21568:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:21568:107;11014:1:71;1252:21568:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:21568:107;5835:12;1252:21568;;-1:-1:-1;;;1252:21568:107;;;;;;;;;5835:12;1252:21568;;;;;;5835:12;-1:-1:-1;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;:::o;:::-;5479:13;1252:21568;;-1:-1:-1;;;1252:21568:107;;;;;;;;;5479:13;1252:21568;;;;;;5479:13;-1:-1:-1;1252:21568:107;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21568:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:21568:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21568:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5835:12:107;1252:21568;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21568:107;;;;;;;;;;;;;;;;;12285:19:71;1252:21568:107;;12423:25:71;;:::o;12247:163::-;1252:21568:107;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:21568:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:21568:107;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5479:13:107;1252:21568;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21568:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21568:107;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;11860:713::-;1252:21568:107;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568:107;12343:52:71;:::i;11657:922::-;1252:21568:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21568:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21568:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21568:107;;;12343:52:71;1252:21568:107;12353:41:71;1252:21568:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21568:107;;12353:41:71;;;1252:21568:107;12343:52:71;:::i;11860:713::-;1252:21568:107;;12479:52:71;1252:21568:107;12489:41:71;1252:21568:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21568:107;;12489:41:71;;;1252:21568: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:21568:107;18246:1:68;1252:21568:107;22284:6:68;;;;:::i;:::-;1252:21568: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:21568:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:21568:107;19887:61:68;;19787:87;1252:21568:107;;;;;19787:87:68;;;19687;1252:21568:107;;;;;19687:87:68;;;19585:89;1252:21568:107;;;;;19585:89:68;;;19482:90;1252:21568:107;;;;;19482:90:68;;;19379;1252:21568:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:21568:107;-1:-1:-1;1252:21568:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;5305:13;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;5663:12;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:21568:107;;3731:5:68;;;1252:21568:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:21568:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21568:107;;;;;-1:-1:-1;13189:136:71;1252:21568:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:21568:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"69978":[{"start":5208,"length":32},{"start":6474,"length":32}],"69981":[{"start":7712,"length":32},{"start":9000,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelay()":"c642b050","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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","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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\"}],\"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\":\"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\":\"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\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[{\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"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\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"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)\":{\"params\":{\"epochDuration\":\"epoch duration\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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)\":{\"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.\"},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"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.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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.\"},\"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\":\"0xf55bdd6974494ad6084ad2774f23a551919e7cb54feaffed15fddedbe5f2ae8d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8b95c0b7a9393affd7dfc838709d9016e631fc6db85f77751924dcf73986bda8\",\"dweb:/ipfs/QmP7gxopAzjMNYN7yLVFccGpUE9vNovKtmBRaszJjECRBn\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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}],"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":"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":"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":"nonpayable","type":"function","name":"_Vault_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[{"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","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":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","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":"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"}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"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."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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."},"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":"0xf55bdd6974494ad6084ad2774f23a551919e7cb54feaffed15fddedbe5f2ae8d","urls":["bzz-raw://8b95c0b7a9393affd7dfc838709d9016e631fc6db85f77751924dcf73986bda8","dweb:/ipfs/QmP7gxopAzjMNYN7yLVFccGpUE9vNovKtmBRaszJjECRBn"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":107} \ No newline at end of file +{"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":"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":"_Vault_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","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":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"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":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614c1638819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614b6990816100ad8239608051818181611458015261194a015260a051818181611d6d01526122750152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612ad4565b612aaa565b612a04565b6128b9565b61289c565b61287e565b612861565b612844565b612832565b6127f8565b6127cd565b6127a2565b6126e2565b612696565b612679565b612651565b612637565b6125c9565b6125af565b6124ef565b6124d5565b6124b8565b61247e565b612456565b61242c565b61236b565b6121c2565b6121a4565b61217c565b612136565b6120e9565b612004565b611fca565b611fb0565b611f8c565b611ebf565b611e85565b611e27565b611e02565b611d9c565b611d58565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b9613135565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613f20565b613f20565b8211610748576107046106f5613e38565b6106fd613eac565b9084613f73565b918215610733578261071592613177565b9061071e613164565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614af48339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613e06565b612d42565b801561081e575f19810190811161081957610809602091612f8a565b65ffffffffffff60405191168152f35b612af1565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e8552604090206134b1565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614af48339815191526020526109f1600160405f2001546136df565b61370b565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f6906004356137a6565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae7613135565b610aef61357d565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b1483398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612b41565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f613135565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613838565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b13565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613e38565b95610cc3610c86613eac565b610cae610c948a838b613f73565b99610ca88a610ca242613e06565b92612ba9565b9061398c565b5050610cbd89610ca242613e06565b90613a6c565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613e06565b6001600160a01b039095165f908152600e6020526040902090565b612ba9565b91613b48565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613164565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e38565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612b81565b5f80610c4b565b503d610da9565b612b90565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612bb6565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b90613326565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e613135565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b1483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f613135565b6110376135da565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613164565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612bfc565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b611165959195613135565b61116e84612c95565b831161134a5761117e83856130a2565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613c06565b516323e30c8b60e01b8152998a988997889633908801612c4b565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612b13565b036112da57506016546001600160a01b03169081166112c9575b836112bf613164565b5160018152602090f35b6112d292613c06565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612c95565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613e06565b612f8a565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d0613135565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613e06565b9061150181612d42565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613e38565b9461155f61155182612b9b565b5f52600660205260405f2090565b549082810361164457506115738187612ba9565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613164565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613c06565b611590565b61163993610c4b83610ca861162361161c611551986116339888613cdd565b8096612b13565b9461162d42613e06565b92612b13565b92612b9b565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612ba9565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613cdd565b9788958584613cdd565b948592612b13565b612b13565b93848410611703575b610c4b90610ca86116d795969761162d42613e06565b6116e361155187612b9b565b55612b13565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612b13565b90612ba9565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612b05565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613e06565b6001810180911161081957610809602091612f8a565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613e06565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612e2d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906133fc565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d613135565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613164565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190612f62565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190612f4d565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b602435611ab4613135565b611abc613631565b60038110611d465765ffffffffffff9182611ae260135465ffffffffffff9060601c1690565b168015159081611d30575b50611c32575b60015460d01c838083169116818111611c20571480611c15575b610b4b57611bea611bc1611bbc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b5c611b57611b4e6107e842613e06565b600f5490612ba9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b8e6113dc6107e842613e06565b90611bb5600f54611baf611ba460015460d01c90565b65ffffffffffff1690565b90612f77565b9116612ba9565b613e06565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611bf382601055565b6040805165ffffffffffff9290921682526020820192909252a16109f6613164565b5081600f5414611b0d565b6040516359dcfd5560e11b8152600490fd5b611c3d601154601255565b611c77611c4c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611ca39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cae601454601155565b601354611ce59060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d209060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d2b601054600f55565b611af3565b9050611d3e611ba442613e06565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611db86107e842613e06565b611dc0613e38565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611e79602435611e4b8161067f565b6004355f525f80516020614af4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611ea28161067f565b60018060a01b03165f52600e60205260206109a260405f20613f20565b346105ca576040806003193601126105ca57600435611edd8161067f565b6024356001600160401b0381116105ca575f80611f7b93611f0460809436906004016110e2565b908188519283928337810184815203915af43d15611f835760203d611f28816108d9565b90611f35875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611f3e565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120218161067f565b60243561202d81610ab8565b612035613135565b61203d613688565b6001600160a01b0382169182156120d7575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120cc916120ba908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613164565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca57602061212d60243561210b8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e7960243561215a8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca576020610809600435612f8a565b346105ca576020806003193601126105ca5760048035906121e28261067f565b6121ea613135565b60035460a01c60ff1661235c576001600160a01b0382811693908461224a575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613164565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f9161233f575b501561232e5760405163fbfa77cf60e01b815282818581895afa928315610dc9575f9361230f575b5050309116036123005750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061220a565b604051633f3e089160e21b8152fd5b612326929350803d10611a3d57611a2d81836108a9565b905f806122cd565b60405163dabc4ad960e01b81528390fd5b6123569150833d8511611a7a57611a6c81836108a9565b5f6122a5565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca576004356123888161067f565b60243590612394613135565b6001600160a01b039181831690811561241a576123c561072f946123b783613d6a565b9485915f5460101c16613c06565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b14833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613e38565b346105ca5760203660031901126105ca5760043561250b613135565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca5760206109a2613eac565b346105ca5760203660031901126105ca576004356125e68161067f565b6125f26107e842613e06565b6125fb82612bfc565b9161260681836130d7565b8301809311610819576001820180921161081957612623916130d7565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613062565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f66024356004356126b98261067f565b805f525f80516020614af48339815191526020526126dd600160405f2001546136df565b6137a6565b346105ca5760203660031901126105ca576004356126fe613135565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356127ef8161067f565b602435906130a2565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128d68161067f565b6128de610830565b6001600160401b0391906044358381116105ca576129009036906004016110e2565b909260409384516129108161086e565b6060815260606020820152606086820152928061296f575b61072f86612960878761295a6129418984845191612b20565b92856129516020850151836133fc565b93015190613326565b91613f73565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129a08761086e565b84358181116105ca57826129b59187016108f4565b875260208501358181116105ca57826129cf9187016108f4565b6020880152858501359081116105ca5761072f966129f861295a936129419361296098016108f4565b87820152939450612928565b346105ca5760403660031901126105ca57600435612a218161067f565b602435612a2c613135565b6001600160a01b0382161561075a578015612a9857612a5b612a4c613eac565b612a54613e38565b90836143b6565b335f908152600e60205260409020909290612a7590613f20565b8311612a8657610715918391613177565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612acc8161067f565b6004356130d7565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed9291906134b1565b65ffffffffffff8060135460601c169081158015612b6e575b612b62575090565b905060015460a01c1690565b508181612b7a42613e06565b1610612b5a565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612be8575b50612bdd5760901c1690565b505060015460d01c90565b905082612bf442613e06565b16105f612bd1565b6001600160a01b03165f908152600e60205260409020612c1b90613f20565b612c23613e38565b612c2b613eac565b9060018101809111610819576001820180921161081957610eed92613cdd565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cf5576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612cdc575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d3d57160490565b612d12565b60015465ffffffffffff808316929160a081901c821680851015612dba5750506013549281841690818015918215612db0575b5050612d9e57610eed9361171992612d93611ba49360125496612cfa565b9160301c1690612d26565b60405163b7d0949760e01b8152600490fd5b109050815f612d75565b909160135490808260601c1695868015918215612e23575b505015612dfe575050610eed935061171991612df4611ba49260115495612cfa565b9060d01c90612d26565b6117199350611ba49250612e18610eed9660145496612cfa565b9160901c1690612d26565b109050865f612dd2565b90612e36613135565b5f926001600160a01b03831692831561241a578115612ee0575f5b828110612ebe57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea1918491612e9c9060101c6001600160a01b0316611194565b613c06565b612eb2604051928392339684612f1b565b0390a3906108d7613164565b94612ed9600191611719612ed3898789612f06565b35613d6a565b9501612e51565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f165760051b0190565b612ef2565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b6012548082106130505760115480831015612fcb5750611bbc90610eed92611bb5612fbf6013549365ffffffffffff93612b13565b828460301c1690612f77565b905060145480158015613047575b156130115750610eed9165ffffffffffff613007612ffd611bbc9460015494612b13565b8360d01c90612f77565b9160a01c16612ba9565b611bbc9150610eed9261303d6130316013549365ffffffffffff93612b13565b828460901c1690612f77565b9160601c16612ba9565b50808310612fd9565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c16801591821561308d575b50506130875760105490565b600f5490565b90915061309942613e06565b16105f8061307b565b5f5460101c6001600160a01b039081169116036130c557601554610eed91613c5f565b60405163350b944160e11b8152600490fd5b906130fd90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613cdd565b5f80516020614b1483398151915260028154146131525760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b1483398151915255565b335f908152600e602052604090209392919061319242613e06565b335f908152600e602052604090206131a990613f20565b91848303928311610819576131e47febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361327399613b48565b50506131fe6131f242613e06565b610cbd876116b3613eac565b505061321861320c42613e06565b610ca8846116b3613e38565b50506132c1816132ac6132356132306107e842613e06565b612b9b565b61328b61324a825f52600660205260405f2090565b5461325d835f52600760205260405f2090565b5461326982828b613f73565b9d8e998a93612ba9565b613285855f52600660205260405f2090565b55612ba9565b61329d825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132cc838254612ba9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156133f25780602080613341935183010191016132f5565b61334a816141e4565b9061335b825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e65782119182613391575b50506133885750610eed90613f94565b60209150015190565b90915061339f600a54612b05565b63ffffffff8316149182156133b8575b50505f80613378565b6133de9192506133d26133cd611ba492613311565b6141e4565b5165ffffffffffff1690565b115f806133af565b50505060209150015190565b50610eed90613f94565b908051156134a75780602080613417935183010191016132f5565b6134208161426e565b90613431825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261345e575b50506133885750610eed9061405b565b90915061346c600c54612b05565b63ffffffff831614918215613485575b50505f8061344e565b61349f9192506133d261349a611ba492613311565b61426e565b115f8061347c565b50610eed9061405b565b9180511561357357806020806134cc935183010191016132f5565b916134d783826142ee565b926134e8845165ffffffffffff1690565b9065ffffffffffff8085169216828114613567578211918261351e575b505061351557610eed925061411b565b50506020015190565b90915061352b8354612b05565b63ffffffff831614918215613544575b50505f80613505565b61355f9192506133d2613559611ba492613311565b856142ee565b115f8061353b565b50505050506020015190565b50610eed9161411b565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135d0565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135d0565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135d0565b5f8181525f80516020614af483398151915260209081526040808320338452909152902060ff906135d0565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261435c565b600b54811015612f1657600b5f525f80516020614ad483398151915201905f90565b600d54811015612f1657600d5f525f80516020614ab483398151915201905f90565b8054821015612f16575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612f1657600d5f525f80516020614ab48339815191520155565b600b54600160401b811015610889576001810180600b55811015612f1657600b5f525f80516020614ad48339815191520155565b90815491600160401b83101561088957826139749160016108d7950181556138d4565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a37575b506139a46143ef565b509290918154926139b3613e38565b9481613a22575b50156139ff57505f1982018281116108195781541115612f16575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a13926001600160d01b031691506145eb565b5050613a1e836138e9565b9190565b65ffffffffffff83811691161490505f6139ba565b600160401b8110156108895760018101808455811015612f16575f908382525f80516020614ab483398151915201555f61399b565b919091600b9081548015613b13575b50613a84614444565b50929091815492613a93613eac565b9481613afe575b5015613adf57505f1982018281116108195781541115612f16575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613af3926001600160d01b031691506146bb565b5050613a1e8361391d565b65ffffffffffff83811691161490505f613a9a565b600160401b8110156108895760018101808455811015612f16575f908382525f80516020614ad483398151915201555f613a7b565b90929192600182019081548015613bd6575b5084613b6584614499565b50949092845493613b7583613f20565b9681613bc1575b5015613b9e575050505f198101908111610819576139748591613a1e936138d4565b613a1e949293613bba926001600160d01b03909116919061475a565b5050613951565b65ffffffffffff83811691161490505f613b7c565b600160401b81101561088957806001613bf292018455836138d4565b8154905f199060031b1b191690555f613b5a565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261435c565b8115612d3d570490565b90808202905f1981840990828083109203918083039214613cd057633b9aca009082821115613cbe577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d5d5784831115613d505790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144d2565b505090610eed9250613c55565b90613d776107e842613e06565b8210156130505760ff613da7613d95845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613df457613db733836130d7565b918215613de257613dd5906132ac33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e19571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e7357505f5b6001600160d01b03811615612cf557600d54811015612f1657600d5f525f80516020614ab4833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e43565b600a5480613ee757505f5b6001600160d01b03811615612cf557600b54811015612f1657600b5f525f80516020614ad4833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613eb7565b805480613f5557505f5b6001600160d01b03811615613f4f576001613f4592016138d4565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613f2a565b919060018101809111610819576001820180921161081957610eed92613cdd565b600a54905f829160058411614002575b613fae935061493f565b80613fd157505f5b6001600160d01b03811615612cf557613f45610eed91613890565b613ff6613fe0613ffd92612b05565b600a5f525f80516020614a948339815191520190565b5460301c90565b613fb6565b919261400d81614814565b810390811161081957613fae93600a5f5265ffffffffffff80835f80516020614a94833981519152015416908516105f14614049575091613fa4565b92915061405590612b9b565b90613fa4565b600c54905f8291600584116140c2575b61407593506149a8565b8061409857505f5b6001600160d01b03811615612cf557613f45610eed916138b2565b613ff66140a76140bd92612b05565b600c5f525f80516020614a748339815191520190565b61407d565b91926140cd81614814565b81039081116108195761407593600c5f5265ffffffffffff80835f80516020614a74833981519152015416908516105f1461410957509161406b565b92915061411590612b9b565b9061406b565b908154905f82916005841161417e575b614136935084614a11565b8061415e57505f905b6001600160d01b03821615613f4f57610eed916001613f4592016138d4565b613ff661416d61417892612b05565b835f5260205f200190565b9061413f565b919261418981614814565b81039081116108195761413693855f5265ffffffffffff808360205f20015416908516105f146141ba57509161412b565b9291506141c690612b9b565b9061412b565b604051906141d98261088e565b5f6020838281520152565b6141ec6141cc565b506141f56141cc565b50600a54811015612f1657600a5f526020604051916142138361088e565b5f80516020614a9483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1657600b5f525f80516020614ad48339815191520154604051916142648361088e565b8252602082015290565b6142766141cc565b5061427f6141cc565b50600c54811015612f1657600c5f5260206040519161429d8361088e565b5f80516020614a7483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1657600d5f525f80516020614ab48339815191520154604051916142648361088e565b906020600161431261433e936143026141cc565b5061430b6141cc565b50856138d4565b5093604051946143218661088e565b549465ffffffffffff86169586825260301c9384910152016138d4565b9054906040519261434e8461088e565b835260031b1c602082015290565b905f602091828151910182855af115612b90575f513d6143ad57506001600160a01b0381163b155b61438b5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614384565b9190600181018091116108195760018201809211610819576143d9828285613cdd565b928215612d3d5709151581018091116108195790565b600c548061440057505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061445557505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144aa5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612f1657600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a7483398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612f1657600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a9483398151915290910155565b8054600160401b811015610889576145ad916001820181556138d4565b6145d857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614692576140a761460391612b05565b9081549165ffffffffffff90818416918316808311614680578692036146485761464192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061467b906146676146596108ca565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144e2565b614641565b604051632520601d60e01b8152600490fd5b506146b6906146a26146596108ca565b6001600160d01b03841660208201526144e2565b5f9190565b600a54919291801561473657613fe06146d391612b05565b9081549165ffffffffffff90818416918316808311614680578692036147115761464192509065ffffffffffff82549181199060301b169116179055565b505061467b906147226146596108ca565b6001600160d01b0385166020820152614539565b506146b6906147466146596108ca565b6001600160d01b0384166020820152614539565b805492939280156147ef5761477161477c91612b05565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614680578793036147bb575061464192509065ffffffffffff82549181199060301b169116179055565b91505061467b916147db6147cd6108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614590565b50906146b6916148006147cd6108ca565b6001600160d01b0385166020830152614590565b6001811115610eed57600181600160801b81101561492d575b6148d56148cb6148c16148b76148ad6148a36148e197600488600160401b6148dc9a1015614920575b640100000000811015614913575b62010000811015614906575b6101008110156148fa575b60108110156148ee575b10156148e6575b60030260011c61489c818b613c55565b0160011c90565b61489c818a613c55565b61489c8189613c55565b61489c8188613c55565b61489c8187613c55565b61489c8186613c55565b8093613c55565b821190565b900390565b60011b61488c565b811c9160021b91614885565b60081c91811b9161487b565b60101c9160081b91614870565b60201c9160101b91614864565b60401c9160201b91614856565b50600160401b9050608082901c61482d565b905b82811061494d57505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614a94833981519152015416908616105f14614995575050915b90614941565b909392508101809111610819579061498f565b905b8281106149b657505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614a74833981519152015416908616105f146149fe575050915b906149aa565b90939250810180911161081957906149f8565b91905b838210614a215750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614a60575050925b9190614a14565b9094935081018091116108195791614a5956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220e4da1debe5a1823789c4113089b10a5eb377f00a9e885211d58fe2fa14a2103064736f6c63430008190033","sourceMap":"1252:21098:101:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21098;;;;;;;;1785:36;1252:21098;;;;;;;;;;1831:32;1252:21098;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;-1:-1:-1;1252:21098:101;;;;;-1:-1:-1;1252:21098:101;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612ad4565b612aaa565b612a04565b6128b9565b61289c565b61287e565b612861565b612844565b612832565b6127f8565b6127cd565b6127a2565b6126e2565b612696565b612679565b612651565b612637565b6125c9565b6125af565b6124ef565b6124d5565b6124b8565b61247e565b612456565b61242c565b61236b565b6121c2565b6121a4565b61217c565b612136565b6120e9565b612004565b611fca565b611fb0565b611f8c565b611ebf565b611e85565b611e27565b611e02565b611d9c565b611d58565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b9613135565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613f20565b613f20565b8211610748576107046106f5613e38565b6106fd613eac565b9084613f73565b918215610733578261071592613177565b9061071e613164565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614af48339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613e06565b612d42565b801561081e575f19810190811161081957610809602091612f8a565b65ffffffffffff60405191168152f35b612af1565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e8552604090206134b1565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614af48339815191526020526109f1600160405f2001546136df565b61370b565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f6906004356137a6565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae7613135565b610aef61357d565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b1483398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612b41565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f613135565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613838565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b13565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613e38565b95610cc3610c86613eac565b610cae610c948a838b613f73565b99610ca88a610ca242613e06565b92612ba9565b9061398c565b5050610cbd89610ca242613e06565b90613a6c565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613e06565b6001600160a01b039095165f908152600e6020526040902090565b612ba9565b91613b48565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613164565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e38565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612b81565b5f80610c4b565b503d610da9565b612b90565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612bb6565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b90613326565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e613135565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b1483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f613135565b6110376135da565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613164565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612bfc565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b611165959195613135565b61116e84612c95565b831161134a5761117e83856130a2565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613c06565b516323e30c8b60e01b8152998a988997889633908801612c4b565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612b13565b036112da57506016546001600160a01b03169081166112c9575b836112bf613164565b5160018152602090f35b6112d292613c06565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612c95565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613e06565b612f8a565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d0613135565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613e06565b9061150181612d42565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613e38565b9461155f61155182612b9b565b5f52600660205260405f2090565b549082810361164457506115738187612ba9565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613164565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613c06565b611590565b61163993610c4b83610ca861162361161c611551986116339888613cdd565b8096612b13565b9461162d42613e06565b92612b13565b92612b9b565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612ba9565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613cdd565b9788958584613cdd565b948592612b13565b612b13565b93848410611703575b610c4b90610ca86116d795969761162d42613e06565b6116e361155187612b9b565b55612b13565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612b13565b90612ba9565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612b05565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613e06565b6001810180911161081957610809602091612f8a565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613e06565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612e2d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906133fc565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d613135565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613164565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190612f62565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190612f4d565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b602435611ab4613135565b611abc613631565b60038110611d465765ffffffffffff9182611ae260135465ffffffffffff9060601c1690565b168015159081611d30575b50611c32575b60015460d01c838083169116818111611c20571480611c15575b610b4b57611bea611bc1611bbc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b5c611b57611b4e6107e842613e06565b600f5490612ba9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b8e6113dc6107e842613e06565b90611bb5600f54611baf611ba460015460d01c90565b65ffffffffffff1690565b90612f77565b9116612ba9565b613e06565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611bf382601055565b6040805165ffffffffffff9290921682526020820192909252a16109f6613164565b5081600f5414611b0d565b6040516359dcfd5560e11b8152600490fd5b611c3d601154601255565b611c77611c4c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611ca39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cae601454601155565b601354611ce59060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d209060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d2b601054600f55565b611af3565b9050611d3e611ba442613e06565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611db86107e842613e06565b611dc0613e38565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611e79602435611e4b8161067f565b6004355f525f80516020614af4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611ea28161067f565b60018060a01b03165f52600e60205260206109a260405f20613f20565b346105ca576040806003193601126105ca57600435611edd8161067f565b6024356001600160401b0381116105ca575f80611f7b93611f0460809436906004016110e2565b908188519283928337810184815203915af43d15611f835760203d611f28816108d9565b90611f35875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611f3e565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120218161067f565b60243561202d81610ab8565b612035613135565b61203d613688565b6001600160a01b0382169182156120d7575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120cc916120ba908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613164565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca57602061212d60243561210b8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e7960243561215a8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca576020610809600435612f8a565b346105ca576020806003193601126105ca5760048035906121e28261067f565b6121ea613135565b60035460a01c60ff1661235c576001600160a01b0382811693908461224a575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613164565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f9161233f575b501561232e5760405163fbfa77cf60e01b815282818581895afa928315610dc9575f9361230f575b5050309116036123005750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061220a565b604051633f3e089160e21b8152fd5b612326929350803d10611a3d57611a2d81836108a9565b905f806122cd565b60405163dabc4ad960e01b81528390fd5b6123569150833d8511611a7a57611a6c81836108a9565b5f6122a5565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca576004356123888161067f565b60243590612394613135565b6001600160a01b039181831690811561241a576123c561072f946123b783613d6a565b9485915f5460101c16613c06565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b14833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613e38565b346105ca5760203660031901126105ca5760043561250b613135565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca5760206109a2613eac565b346105ca5760203660031901126105ca576004356125e68161067f565b6125f26107e842613e06565b6125fb82612bfc565b9161260681836130d7565b8301809311610819576001820180921161081957612623916130d7565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613062565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f66024356004356126b98261067f565b805f525f80516020614af48339815191526020526126dd600160405f2001546136df565b6137a6565b346105ca5760203660031901126105ca576004356126fe613135565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356127ef8161067f565b602435906130a2565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128d68161067f565b6128de610830565b6001600160401b0391906044358381116105ca576129009036906004016110e2565b909260409384516129108161086e565b6060815260606020820152606086820152928061296f575b61072f86612960878761295a6129418984845191612b20565b92856129516020850151836133fc565b93015190613326565b91613f73565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129a08761086e565b84358181116105ca57826129b59187016108f4565b875260208501358181116105ca57826129cf9187016108f4565b6020880152858501359081116105ca5761072f966129f861295a936129419361296098016108f4565b87820152939450612928565b346105ca5760403660031901126105ca57600435612a218161067f565b602435612a2c613135565b6001600160a01b0382161561075a578015612a9857612a5b612a4c613eac565b612a54613e38565b90836143b6565b335f908152600e60205260409020909290612a7590613f20565b8311612a8657610715918391613177565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612acc8161067f565b6004356130d7565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed9291906134b1565b65ffffffffffff8060135460601c169081158015612b6e575b612b62575090565b905060015460a01c1690565b508181612b7a42613e06565b1610612b5a565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612be8575b50612bdd5760901c1690565b505060015460d01c90565b905082612bf442613e06565b16105f612bd1565b6001600160a01b03165f908152600e60205260409020612c1b90613f20565b612c23613e38565b612c2b613eac565b9060018101809111610819576001820180921161081957610eed92613cdd565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cf5576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612cdc575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d3d57160490565b612d12565b60015465ffffffffffff808316929160a081901c821680851015612dba5750506013549281841690818015918215612db0575b5050612d9e57610eed9361171992612d93611ba49360125496612cfa565b9160301c1690612d26565b60405163b7d0949760e01b8152600490fd5b109050815f612d75565b909160135490808260601c1695868015918215612e23575b505015612dfe575050610eed935061171991612df4611ba49260115495612cfa565b9060d01c90612d26565b6117199350611ba49250612e18610eed9660145496612cfa565b9160901c1690612d26565b109050865f612dd2565b90612e36613135565b5f926001600160a01b03831692831561241a578115612ee0575f5b828110612ebe57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea1918491612e9c9060101c6001600160a01b0316611194565b613c06565b612eb2604051928392339684612f1b565b0390a3906108d7613164565b94612ed9600191611719612ed3898789612f06565b35613d6a565b9501612e51565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f165760051b0190565b612ef2565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b6012548082106130505760115480831015612fcb5750611bbc90610eed92611bb5612fbf6013549365ffffffffffff93612b13565b828460301c1690612f77565b905060145480158015613047575b156130115750610eed9165ffffffffffff613007612ffd611bbc9460015494612b13565b8360d01c90612f77565b9160a01c16612ba9565b611bbc9150610eed9261303d6130316013549365ffffffffffff93612b13565b828460901c1690612f77565b9160601c16612ba9565b50808310612fd9565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c16801591821561308d575b50506130875760105490565b600f5490565b90915061309942613e06565b16105f8061307b565b5f5460101c6001600160a01b039081169116036130c557601554610eed91613c5f565b60405163350b944160e11b8152600490fd5b906130fd90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613cdd565b5f80516020614b1483398151915260028154146131525760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b1483398151915255565b335f908152600e602052604090209392919061319242613e06565b335f908152600e602052604090206131a990613f20565b91848303928311610819576131e47febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361327399613b48565b50506131fe6131f242613e06565b610cbd876116b3613eac565b505061321861320c42613e06565b610ca8846116b3613e38565b50506132c1816132ac6132356132306107e842613e06565b612b9b565b61328b61324a825f52600660205260405f2090565b5461325d835f52600760205260405f2090565b5461326982828b613f73565b9d8e998a93612ba9565b613285855f52600660205260405f2090565b55612ba9565b61329d825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132cc838254612ba9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156133f25780602080613341935183010191016132f5565b61334a816141e4565b9061335b825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e65782119182613391575b50506133885750610eed90613f94565b60209150015190565b90915061339f600a54612b05565b63ffffffff8316149182156133b8575b50505f80613378565b6133de9192506133d26133cd611ba492613311565b6141e4565b5165ffffffffffff1690565b115f806133af565b50505060209150015190565b50610eed90613f94565b908051156134a75780602080613417935183010191016132f5565b6134208161426e565b90613431825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261345e575b50506133885750610eed9061405b565b90915061346c600c54612b05565b63ffffffff831614918215613485575b50505f8061344e565b61349f9192506133d261349a611ba492613311565b61426e565b115f8061347c565b50610eed9061405b565b9180511561357357806020806134cc935183010191016132f5565b916134d783826142ee565b926134e8845165ffffffffffff1690565b9065ffffffffffff8085169216828114613567578211918261351e575b505061351557610eed925061411b565b50506020015190565b90915061352b8354612b05565b63ffffffff831614918215613544575b50505f80613505565b61355f9192506133d2613559611ba492613311565b856142ee565b115f8061353b565b50505050506020015190565b50610eed9161411b565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135d0565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135d0565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135d0565b5f8181525f80516020614af483398151915260209081526040808320338452909152902060ff906135d0565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261435c565b600b54811015612f1657600b5f525f80516020614ad483398151915201905f90565b600d54811015612f1657600d5f525f80516020614ab483398151915201905f90565b8054821015612f16575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612f1657600d5f525f80516020614ab48339815191520155565b600b54600160401b811015610889576001810180600b55811015612f1657600b5f525f80516020614ad48339815191520155565b90815491600160401b83101561088957826139749160016108d7950181556138d4565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a37575b506139a46143ef565b509290918154926139b3613e38565b9481613a22575b50156139ff57505f1982018281116108195781541115612f16575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a13926001600160d01b031691506145eb565b5050613a1e836138e9565b9190565b65ffffffffffff83811691161490505f6139ba565b600160401b8110156108895760018101808455811015612f16575f908382525f80516020614ab483398151915201555f61399b565b919091600b9081548015613b13575b50613a84614444565b50929091815492613a93613eac565b9481613afe575b5015613adf57505f1982018281116108195781541115612f16575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613af3926001600160d01b031691506146bb565b5050613a1e8361391d565b65ffffffffffff83811691161490505f613a9a565b600160401b8110156108895760018101808455811015612f16575f908382525f80516020614ad483398151915201555f613a7b565b90929192600182019081548015613bd6575b5084613b6584614499565b50949092845493613b7583613f20565b9681613bc1575b5015613b9e575050505f198101908111610819576139748591613a1e936138d4565b613a1e949293613bba926001600160d01b03909116919061475a565b5050613951565b65ffffffffffff83811691161490505f613b7c565b600160401b81101561088957806001613bf292018455836138d4565b8154905f199060031b1b191690555f613b5a565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261435c565b8115612d3d570490565b90808202905f1981840990828083109203918083039214613cd057633b9aca009082821115613cbe577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d5d5784831115613d505790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144d2565b505090610eed9250613c55565b90613d776107e842613e06565b8210156130505760ff613da7613d95845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613df457613db733836130d7565b918215613de257613dd5906132ac33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e19571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e7357505f5b6001600160d01b03811615612cf557600d54811015612f1657600d5f525f80516020614ab4833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e43565b600a5480613ee757505f5b6001600160d01b03811615612cf557600b54811015612f1657600b5f525f80516020614ad4833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613eb7565b805480613f5557505f5b6001600160d01b03811615613f4f576001613f4592016138d4565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613f2a565b919060018101809111610819576001820180921161081957610eed92613cdd565b600a54905f829160058411614002575b613fae935061493f565b80613fd157505f5b6001600160d01b03811615612cf557613f45610eed91613890565b613ff6613fe0613ffd92612b05565b600a5f525f80516020614a948339815191520190565b5460301c90565b613fb6565b919261400d81614814565b810390811161081957613fae93600a5f5265ffffffffffff80835f80516020614a94833981519152015416908516105f14614049575091613fa4565b92915061405590612b9b565b90613fa4565b600c54905f8291600584116140c2575b61407593506149a8565b8061409857505f5b6001600160d01b03811615612cf557613f45610eed916138b2565b613ff66140a76140bd92612b05565b600c5f525f80516020614a748339815191520190565b61407d565b91926140cd81614814565b81039081116108195761407593600c5f5265ffffffffffff80835f80516020614a74833981519152015416908516105f1461410957509161406b565b92915061411590612b9b565b9061406b565b908154905f82916005841161417e575b614136935084614a11565b8061415e57505f905b6001600160d01b03821615613f4f57610eed916001613f4592016138d4565b613ff661416d61417892612b05565b835f5260205f200190565b9061413f565b919261418981614814565b81039081116108195761413693855f5265ffffffffffff808360205f20015416908516105f146141ba57509161412b565b9291506141c690612b9b565b9061412b565b604051906141d98261088e565b5f6020838281520152565b6141ec6141cc565b506141f56141cc565b50600a54811015612f1657600a5f526020604051916142138361088e565b5f80516020614a9483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1657600b5f525f80516020614ad48339815191520154604051916142648361088e565b8252602082015290565b6142766141cc565b5061427f6141cc565b50600c54811015612f1657600c5f5260206040519161429d8361088e565b5f80516020614a7483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1657600d5f525f80516020614ab48339815191520154604051916142648361088e565b906020600161431261433e936143026141cc565b5061430b6141cc565b50856138d4565b5093604051946143218661088e565b549465ffffffffffff86169586825260301c9384910152016138d4565b9054906040519261434e8461088e565b835260031b1c602082015290565b905f602091828151910182855af115612b90575f513d6143ad57506001600160a01b0381163b155b61438b5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614384565b9190600181018091116108195760018201809211610819576143d9828285613cdd565b928215612d3d5709151581018091116108195790565b600c548061440057505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061445557505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144aa5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612f1657600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a7483398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612f1657600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a9483398151915290910155565b8054600160401b811015610889576145ad916001820181556138d4565b6145d857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614692576140a761460391612b05565b9081549165ffffffffffff90818416918316808311614680578692036146485761464192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061467b906146676146596108ca565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144e2565b614641565b604051632520601d60e01b8152600490fd5b506146b6906146a26146596108ca565b6001600160d01b03841660208201526144e2565b5f9190565b600a54919291801561473657613fe06146d391612b05565b9081549165ffffffffffff90818416918316808311614680578692036147115761464192509065ffffffffffff82549181199060301b169116179055565b505061467b906147226146596108ca565b6001600160d01b0385166020820152614539565b506146b6906147466146596108ca565b6001600160d01b0384166020820152614539565b805492939280156147ef5761477161477c91612b05565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614680578793036147bb575061464192509065ffffffffffff82549181199060301b169116179055565b91505061467b916147db6147cd6108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614590565b50906146b6916148006147cd6108ca565b6001600160d01b0385166020830152614590565b6001811115610eed57600181600160801b81101561492d575b6148d56148cb6148c16148b76148ad6148a36148e197600488600160401b6148dc9a1015614920575b640100000000811015614913575b62010000811015614906575b6101008110156148fa575b60108110156148ee575b10156148e6575b60030260011c61489c818b613c55565b0160011c90565b61489c818a613c55565b61489c8189613c55565b61489c8188613c55565b61489c8187613c55565b61489c8186613c55565b8093613c55565b821190565b900390565b60011b61488c565b811c9160021b91614885565b60081c91811b9161487b565b60101c9160081b91614870565b60201c9160101b91614864565b60401c9160201b91614856565b50600160401b9050608082901c61482d565b905b82811061494d57505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614a94833981519152015416908616105f14614995575050915b90614941565b909392508101809111610819579061498f565b905b8281106149b657505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614a74833981519152015416908616105f146149fe575050915b906149aa565b90939250810180911161081957906149f8565b91905b838210614a215750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614a60575050925b9190614a14565b9094935081018091116108195791614a5956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220e4da1debe5a1823789c4113089b10a5eb377f00a9e885211d58fe2fa14a2103064736f6c63430008190033","sourceMap":"1252:21098:101:-: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;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21098:101;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:29;;-1:-1:-1;3551:87:23;;;1252:21098:101;-1:-1:-1;1252:21098:101;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;3653:32:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;757:38:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;612:37:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;2084:35:102;1252:21098:101;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;3361:103:28;;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;10976:21;10972:75;;11085:10;1252:21098;;;;6254:15;1252:21098;;;;;6254:33;;;:::i;:24::-;:33;:::i;:::-;11061:35;;11057:88;;1057:70:89;5835:21:101;;:::i;:::-;5479:22;;:::i;:::-;1057:70:89;;;:::i;:::-;11252:20:101;;;11248:82;;11355:43;;;;:::i;:::-;3426:1:28;;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;;;11248:82;1252:21098;;-1:-1:-1;;;;;;11295:24:101;;1252:21098;;11295:24;11057:88;1252:21098;;-1:-1:-1;;;11119:15:101;;1252:21098;;11119:15;10972:75;1252:21098;;-1:-1:-1;;;11020:16:101;;1252:21098;;11020:16;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;4919:24:23;1252:21098:101;-1:-1:-1;1252:21098:101;4919:24:23;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;4538:25;819:34:67;837:15;819:34;:::i;:::-;4538:25:101;:::i;:::-;4887:10;;4883:65;;-1:-1:-1;;1252:21098:101;;;;;;;4964:21;1252:21098;4964:21;;:::i;:::-;1252:21098;;;;;;;;;;:::i;4883:65::-;1252:21098;;-1:-1:-1;;;4920:17:101;;1252:21098;;4920:17;1252:21098;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;;-1:-1:-1;;1252:21098:101;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;6038:59;1252:21098;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;6038:15;1252:21098;;;;;6038:59;:::i;:::-;1252:21098;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;5350:25:23;1252:21098:101;;;;;;;:::i;:::-;;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;3202:4:23;4919:24;1252:21098:101;-1:-1:-1;1252:21098:101;4919:24:23;1252:21098:101;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21098:101;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1329:40:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;966:10:27;-1:-1:-1;;;;;1252:21098:101;;6441:34:23;6437:102;;6549:37;1252:21098:101;;;6549:37:23;:::i;6437:102::-;1252:21098:101;;-1:-1:-1;;;6498:30:23;;1252:21098:101;;6498:30:23;1252:21098:101;;;;;;-1:-1:-1;;1252:21098:101;;;;;6413:22;1252:21098;;;;6413:46;;;1252:21098;;;;;;;;;;;6413:46;-1:-1:-1;6439:20:101;1252:21098;;;;;6413:46;;1252:21098;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21098:101;;;;;;;;;;;15984:26;15980:76;;-1:-1:-1;;1252:21098:101;;;;;-1:-1:-1;1252:21098:101;;;;;;16107:27;;1252:21098;;16107:27;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;15980:76;1252:21098;;-1:-1:-1;;;16033:12:101;;1252:21098;;16033:12;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;8925:24;;8921:81;;-1:-1:-1;1252:21098:101;;;;9016:55;;;1252:21098;9012:118;;1252:21098;;-1:-1:-1;;;9164:43:101;;;9201:4;9164:43;;;1252:21098;;;;;;;;;;;;;;;;;;;;;;;;;9164:43;;;;;;;;;;-1:-1:-1;9164:43:101;;;1252:21098;;9280:6;1252:21098;;;9201:4;;9253:10;;9280:6;;:::i;:::-;-1:-1:-1;1252:21098:101;;;9315:43;;;9201:4;9315:43;;;1252:21098;;;;;;;;;;9315:43;1252:21098;;;;;;9315:43;1252:21098;;;;;9315:43;;;;;;;:59;:43;-1:-1:-1;9315:43:101;;;1252:21098;9315:59;;;:::i;:::-;9389:20;;;9385:79;;1252:21098;;;;;9478:64;;1252:21098;9474:123;;5835:21;;1252:21098;5835:21;9953:93;5835:21;;:::i;:::-;5479:22;9877:66;5479:22;;:::i;:::-;9800:67;390:70:89;;;;;:::i;:::-;837:15:67;9836:30:101;837:15:67;819:34;837:15;819:34;:::i;:::-;9836:30:101;;:::i;:::-;9800:67;;:::i;:::-;837:15:67;;9914:28:101;837:15:67;819:34;837:15;819:34;:::i;9914:28:101:-;9877:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21098:101;;;;;;6254:15;1252:21098;;;;;837:15:67;10004:41:101;837:15:67;6254:33:101;:24;819:34:67;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;;;6254:15;1252:21098;;;;;;;6254:33;10004:41;:::i;:::-;9953:93;;:::i;:::-;-1:-1:-1;;1252:21098:101;;;;;;;;;;;9253:10;;10062:62;;1252:21098;;10062:62;3426:1:28;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;;;;9474:123;1252:21098;;-1:-1:-1;;;9565:21:101;;;9478:64;5835:21;9496:31;5835:21;;;:::i;9496:31::-;1252:21098;;-1:-1:-1;9478:64:101;;9385:79;-1:-1:-1;1252:21098:101;;-1:-1:-1;;;9432:21:101;;;9315:43;;;;;;-1:-1:-1;9315:43:101;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9164:::-;9280:6;9164:43;;;;;;;;;;;;;;;:::i;:::-;;;;;9012:118;-1:-1:-1;1252:21098:101;;-1:-1:-1;;;9094:25:101;;;9016:55;-1:-1:-1;9060:10:101;1252:21098;;;;9037:22;1252:21098;;;;;;;;9036:35;9016:55;;8921:81;1252:21098;;-1:-1:-1;;;8972:19:101;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;4126:39:102;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;2255:34:102;1252:21098:101;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5305:48;1252:21098;;;:::i;:::-;5305:48;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;;1329:40:102;;1252:21098:101;;4468:23:23;4464:108;;-1:-1:-1;19495:16:101;1252:21098;-1:-1:-1;;;;;1252:21098:101;;;;;;19495:37;;19491:87;;-1:-1:-1;;;;;;1252:21098:101;;;19495:16;1252:21098;;;;;;19639:38;;1252:21098;;19639:38;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;4464:108:23;1252:21098:101;;;;4514:47:23;;;;;;966:10:27;1252:21098:101;4514:47:23;;1252:21098:101;;;;;4514:47:23;1252:21098:101;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;16812:24;16808:74;;-1:-1:-1;;1252:21098:101;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;16931:25;;1252:21098;;16931:25;3426:1:28;;:::i;1252:21098:101:-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;-1:-1:-1;1252:21098:101;2718:59:102;1252:21098:101;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;:::i;:::-;3361:103:28;;;;;:::i;:::-;12652:19:101;;;:::i;:::-;12644:27;;12640:82;;12745:22;;;;:::i;:::-;-1:-1:-1;1252:21098:101;;;;12843:19;;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;-1:-1:-1;;;;;1252:21098:101;;;12843:19;1252:21098;;;-1:-1:-1;;;12843:44:101;;;12881:4;12843:44;;;1252:21098;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;12881:4;1252:21098;;;;;;;;12843:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12843:44:101;;;1252:21098;;;12950:5;1252:21098;12971:57;1252:21098;;-1:-1:-1;1252:21098:101;;;;12950:5;;;:::i;:::-;1252:21098;-1:-1:-1;;;12971:57:101;;1252:21098;;;;;;;12992:10;;12971:57;;;:::i;:::-;;;;;;;;;1564:45:102;12971:57:101;-1:-1:-1;12971:57:101;;;1252:21098;12971:73;;12967:128;;1252:21098;;13109:44;;;12881:4;13109:44;;;1252:21098;;;;;;;;;13109:44;1252:21098;;;;;;13109:44;;;;;;;;;;:60;:44;-1:-1:-1;13109:44:101;;;:60;;;:::i;:::-;:67;13105:126;;-1:-1:-1;13245:16:101;1252:21098;-1:-1:-1;;;;;1252:21098:101;;;;13241:116;;1252:21098;3426:1:28;;;:::i;:::-;1252:21098:101;13374:4;1252:21098;;;;;13241:116;13342:3;;;:::i;:::-;13241:116;;;;;13105:126;1252:21098;;-1:-1:-1;;;13199:21:101;;;12967:128;1252:21098;;-1:-1:-1;;;13067:17:101;;1252:21098;;13067:17;12971:57;;;;;;;;;;;;;;:::i;:::-;;;;12843:44;-1:-1:-1;12843:44:101;;;;;;;12971:57;12843:44;;;12950:5;12843:44;;;;-1:-1:-1;12843:44:101;;;;;;:::i;:::-;;;;;;;;;;;;;12640:82;-1:-1:-1;1252:21098:101;;-1:-1:-1;;;12694:17:101;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1041:36:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;4693:26;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;4693:26;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;1989:39:102;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1564:45:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;1575:42;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;2423:32:102;1252:21098:101;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;13573:7:101;1252:21098;13559:21;;-1:-1:-1;;;;;1252:21098:101;;;13559:21;:10;:21;13555:71;;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;13707;;;;:::i;:::-;13747:17;;;;:53;;;1252:21098;13746:87;;;;1252:21098;13742:146;;1252:21098;5835:21;15752:48;5835:21;;;:::i;:::-;13982:17;13970:30;13982:17;;;:::i;:::-;1252:21098;;13970:11;1252:21098;;;;;;;13970:30;1252:21098;;14014:29;;;;;14084:30;;;;;:::i;:::-;3066:5:62;;;3463;;;1252:21098:101;3060:42:62;;14194:17:101;;;14190:384;;14010:1615;;;;;;;15639:17;15635:102;;14010:1615;1252:21098;;;;;;;;;;;;;;;;;;;;;;;15752:48;3426:1:28;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;15635:102;-1:-1:-1;1252:21098:101;15712:13;;1252:21098;;15672:18;;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;;15672:18;13998:1;1252:21098;-1:-1:-1;;;;;1252:21098:101;15712:13;;:::i;:::-;15635:102;;14190:384;14487:29;14255:50;14404:65;14255:50;14440:28;14356:29;14255:50;14499:16;14255:50;14519:40;14255:50;;;:::i;:::-;14356:29;;;:::i;:::-;837:15:67;819:34;837:15;819:34;:::i;:::-;14440:28:101;;:::i;14519:40::-;14499:16;;:::i;14487:29::-;1252:21098;14190:384;;;;;;;14010:1615;14627:26;;;;1252:21098;;13970:11;1252:21098;;;;;;;14627:26;1252:21098;14692:27;:45;:27;;;;;:::i;:45::-;3463:5:62;3066;;;3463;;;1252:21098:101;3060:42:62;;14817:17:101;;14813:802;;14010:1615;;;;;;;;14813:802;15538:26;14878:50;;14979:53;14878:50;15079:54;14878:50;15079:29;14878:50;15567:33;14878:50;;;;:::i;:::-;14979:53;;;;;;:::i;:::-;15079:29;;;;:::i;:::-;:54;:::i;:::-;15156:33;;;;15152:194;;14813:802;15364:65;837:15:67;15400:28:101;15480:40;837:15:67;;;819:34;837:15;819:34;:::i;15480:40:101:-;15447:30;15459:17;;;:::i;15447:30::-;1252:21098;15567:33;:::i;:::-;15538:26;1252:21098;;13970:11;1252:21098;;;;;;;15538:26;1252:21098;14813:802;;;;;;;15152:194;15239:33;15213:59;15364:65;15239:33;;;15480:40;15239:33;;;:::i;:::-;15213:59;;:::i;:::-;15294:33;;-1:-1:-1;15294:33:101;;-1:-1:-1;15152:194:101;;13742:146;1252:21098;;-1:-1:-1;;;13856:21:101;;1252:21098;;13856:21;13746:87;13805:28;;;;13746:87;;13747:53;13783:17;;;;:::i;:::-;13768:32;;13747:53;;13555:71;1252:21098;;-1:-1:-1;;;13603:12:101;;1252:21098;;13603:12;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;5140:1;1252:21098;;;;;;;5112:30;1252:21098;5112:30;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;4027:43:102;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;4538:25;819:34:67;837:15;819:34;:::i;1252:21098:101:-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21098:101;2594:68:102;1252:21098:101;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11942:14;1252:21098;;11942:14;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3932:39:102;1252:21098:101;;;;;;;;;;;;;;;5663:47;1252:21098;;;:::i;:::-;5663:47;;:::i;1252:21098::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;19824:22:101;1252:21098;;;;;19820:89;;1252:21098;;-1:-1:-1;;;19924:49:101;;-1:-1:-1;;;;;1252:21098:101;;;19924:49;;;1252:21098;;;;;;;;;;;;;;;19924:49;19934:17;;;1252:21098;19924:49;;;;;;;-1:-1:-1;19924:49:101;;;1252:21098;19923:50;;19919:102;;1252:21098;;-1:-1:-1;;;20035:34:101;;1252:21098;;;;;20035:34;1252:21098;20035:34;1252:21098;;20035:34;;;;;;;-1:-1:-1;20035:34:101;;;1252:21098;20081:4;;;1252:21098;;20035:51;20031:107;;-1:-1:-1;19824:22:101;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;;;-1:-1:-1;;;;;;1252:21098:101;;;;;;;-1:-1:-1;;;1252:21098:101;;;20226:24;-1:-1:-1;;20226:24:101;3426:1:28;;:::i;20031:107:101:-;1252:21098;;-1:-1:-1;;;20109:18:101;;;20035:34;;;;;;;-1:-1:-1;20035:34:101;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;19919:102;-1:-1:-1;1252:21098:101;;-1:-1:-1;;;19996:14:101;;;19924:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;19820:89;1252:21098;;-1:-1:-1;;;19869:29:101;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;:::i;:::-;;;3361:103:28;;:::i;:::-;3202:4:23;;:::i;:::-;17534:1:101;17503:32;;17499:106;;1252:21098;;;;17619:29;1252:21098;;;;;;;;;;17619:34;;;:87;;;;1252:21098;17615:573;;;1252:21098;18202:21;1252:21098;;;;;;;;;18202:38;;;18198:101;;18326:39;:126;;;1252:21098;18309:198;;18655:138;18699:94;18700:81;18889:62;837:15:67;18517:76:101;18541:52;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;18558:35;1252:21098;18541:52;;:::i;:::-;18517:76;1252:21098;;18517:76;17619:29;1252:21098;;-1:-1:-1;;;;1252:21098:101;;;;;-1:-1:-1;;;1252:21098:101;;;;4693:26;4538:25;819:34:67;837:15;819:34;:::i;4693:26:101:-;1252:21098;18722:59;18558:35;1252:21098;18722:59;1252:21098;18202:21;1252:21098;;;;;;;;;;18722:59;;;:::i;:::-;1252:21098;;18700:81;:::i;:::-;18699:94;:::i;:::-;17619:29;1252:21098;;-1:-1:-1;;;;1252:21098:101;;;;;;-1:-1:-1;;;1252:21098:101;;;;;;;;18655:138;18803:70;;;1252:21098;;18803:70;1252:21098;;;;;;;;;;;;;;;;;18889:62;3426:1:28;;:::i;18326:126:101:-;1252:21098;;18385:35;1252:21098;18385:67;18326:126;;18198:101;1252:21098;;-1:-1:-1;;;18263:25:101;;1252:21098;;18263:25;17615:573;17722:41;17746:17;1252:21098;17722:41;1252:21098;;17722:41;17777:49;1252:21098;17805:21;1252:21098;;;;;;;17619:29;1252:21098;;;;;;;;;;17619:29;1252:21098;;17777:49;17805:21;1252:21098;17840:57;;1252:21098;;;;;;;;17619:29;1252:21098;;;17619:29;1252:21098;;17840:57;17911:41;17931:21;1252:21098;17746:17;1252:21098;;17911:41;17619:29;1252:21098;17966:49;;1252:21098;;;;17805:21;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;;;;;-1:-1:-1;;;;;;1252:21098:101;;;;;;;;17966:49;17619:29;1252:21098;18029:57;;1252:21098;;;;17805:21;1252:21098;;-1:-1:-1;;;;1252:21098:101;;;;;;-1:-1:-1;;;1252:21098:101;;;;;;;;18029:57;18100:77;18138:39;1252:21098;18100:77;1252:21098;;18100:77;17615:573;;17619:87;837:15:67;;17657:49:101;819:34:67;837:15;819:34;:::i;17657:49:101:-;-1:-1:-1;17657:49:101;17619:87;;;17499:106;1252:21098;;-1:-1:-1;;;17558:36:101;;1252:21098;;17558:36;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;1666:40;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;5835:21;;:::i;:::-;1252:21098;;;;6639:11;1252:21098;;;;;;;;;;;;;6680:1;1252:21098;;;;;;;;;6639:11;1252:21098;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3833:43:102;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3901:31:23;1252:21098:101;;;;;:::i;:::-;;;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;3901:31:23;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21098:101;6254:15;1252:21098;;;6254:33;1252:21098;-1:-1:-1;1252:21098:101;6254:33;:::i;1252:21098::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21098:101;;;;-1:-1:-1;1252:21098:101;477:31:80;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:80;;;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;477:31:80;;;1252:21098:101;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;477:31:80;1252:21098:101;477:31:80;;;;;;;:::i;:::-;518:79;;;1252:21098:101;518:79:80;;1252:21098:101;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;900:35:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;16349:21;;16345:75;;-1:-1:-1;1252:21098:101;;;16434:22;1252:21098;;;;;;;;;;;;;16434:41;16430:91;;-1:-1:-1;;;;;1252:21098:101;;;;;9037:22;1252:21098;;;;;16587:44;;;;16531:40;;:31;1252:21098;;;;;;;;;;;;;;16531:40;1252:21098;;;;;;;;;;;;;;;16587:44;;;;3426:1:28;;:::i;16345:75:101:-;1252:21098;;-1:-1:-1;;;16393:16:101;;1252:21098;;16393:16;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;2953:94:102;1252:21098:101;;;;;:::i;:::-;;;-1:-1:-1;1252:21098:101;2953:94:102;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;2953:94:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3103:92:102;1252:21098:101;;;;;:::i;:::-;;;-1:-1:-1;1252:21098:101;3103:92:102;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;4396:31:102;1252:21098:101;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;20393:20:101;1252:21098;;;;;20389:85;;-1:-1:-1;;;;;1252:21098:101;;;;;;20484:312;;1252:21098;20393:20;1252:21098;;-1:-1:-1;;;;1252:21098:101;-1:-1:-1;;;1252:21098:101;;;20806:27;20849:20;-1:-1:-1;20849:20:101;;3426:1:28;;:::i;20484:312:101:-;1252:21098;;-1:-1:-1;;;20531:45:101;;-1:-1:-1;;;;;1252:21098:101;;20531:45;;;1252:21098;;;20531:45;;1252:21098;;;;;;20531:45;20541:15;;;1252:21098;20531:45;;;;;;;-1:-1:-1;20531:45:101;;;20484:312;20530:46;;20526:104;;1252:21098;;-1:-1:-1;;;20648:30:101;;;1252:21098;20648:30;1252:21098;20648:30;;;;;;;;-1:-1:-1;20648:30:101;;;20484:312;20690:4;;;1252:21098;;20648:47;20644:109;;-1:-1:-1;20393:20:101;1252:21098;;-1:-1:-1;;;;;;1252:21098:101;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;20484:312;;;;;;20644:109;1252:21098;;-1:-1:-1;;;20722:16:101;;;20648:30;;;;;;;-1:-1:-1;20648:30:101;;;;;;:::i;:::-;;;;;;20526:104;1252:21098;;-1:-1:-1;;;20603:12:101;;1252:21098;;20603:12;20531:45;;;;;;;;;;;;;;:::i;:::-;;;;20389:85;1252:21098;;-1:-1:-1;;;20436:27:101;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;3361:103:28;;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;11563:23;;11559:79;;11724:6;1252:21098;11657:13;;;;:::i;:::-;1252:21098;;;-1:-1:-1;1252:21098:101;;;;11724:6;:::i;:::-;1252:21098;;;;;;;;;;;;11753:10;;11747:43;;1252:21098;11747:43;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;;;;;;;11559:79;1252:21098;;-1:-1:-1;;;11609:18:101;;1252:21098;;11609:18;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;-1:-1:-1;1252:21098:101;2833:64:102;1252:21098:101;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;2345:22:102;1252:21098:101;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1183:36:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;3543:54:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;5835:21;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3361:103:28;;:::i;:::-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;;900:35:102;;1252:21098:101;;4468:23:23;4464:108;;1252:21098:101;;;;17134:21;17130:71;;1252:21098;;17247:22;1252:21098;;;;;;;;17247:22;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;5479:22;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;8043:24;;;:::i;:::-;8070:29;;;;;:::i;:::-;1252:21098;;;;;;;8124:1;1252:21098;;;;;;;8102:33;;;:::i;:::-;1252:21098;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;2175:24:102;1252:21098:101;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;3741:36:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;5767:26:23;1252:21098:101;;;;;;;:::i;:::-;;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;3202:4:23;4919:24;1252:21098:101;-1:-1:-1;1252:21098:101;4919:24:23;1252:21098:101;3202:4:23;:::i;:::-;5767:26;:::i;1252:21098:101:-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3361:103:28;;:::i;:::-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;;1183:36:102;;1252:21098:101;;4468:23:23;4464:108;;1252:21098:101;;19138:12;1252:21098;19138:29;19134:79;;1252:21098;;19266:30;1252:21098;19138:12;1252:21098;;;;;;19266:30;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;466:39:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;4221:36:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;4313:27:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1466:3:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;:::i;:::-;6861:48;;1252:21098;;;;;;;:::i;:::-;;;;;;;;;;;;;;6923:16;;6919:111;;1252:21098;;7122:39;1057:70:89;7122:39:101;;5305:48;7085:77;7122:39;;;;7085:77;;:::i;:::-;7201:36;;5663:47;1252:21098;7201:36;;;5663:47;;:::i;:::-;7278:37;;;5305:48;;:::i;:::-;1057:70:89;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;6919:111;6978:41;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5305:48;1252:21098;7085:77;1252:21098;1057:70:89;1252:21098:101;;;:::i;:::-;;;;;6919:111;;;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;3361:103:28;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;10341:21;10337:75;;10426:11;;10422:73;;845:69:89;5479:22:101;;:::i;:::-;5835:21;;:::i;:::-;845:69:89;;;:::i;:::-;10631:10:101;1252:21098;;;;6254:15;1252:21098;;;;;10631:10;;;6254:33;;;:::i;:::-;10601:41;;10597:96;;10718:40;;;;;:::i;10597:96::-;1252:21098;;-1:-1:-1;;;10665:17:101;;1252:21098;;10665:17;10422:73;1252:21098;;-1:-1:-1;;;10460:24:101;;1252:21098;;10460:24;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;3437:50:102;1252:21098:101;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5911:193::-;-1:-1:-1;;;;;1252:21098:101;-1:-1:-1;1252:21098:101;;;6038:15;1252:21098;;;;;6038:59;;5911:193;;6038:59;:::i;2573:269::-;1252:21098;;2645:29;1252:21098;;;;2645:34;;;:86;;;;2573:269;2641:149;;2799:36;2573:269;:::o;2641:149::-;1252:21098;;2754:25;1252:21098;;;;2747:32;:::o;2645:86::-;837:15:67;;;819:34;837:15;819:34;:::i;:::-;1252:21098:101;2683:48;2645:86;;1252:21098;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13998:1;1252:21098;;;;;;;:::o;:::-;;;;;;;;;;:::o;2268:257::-;2336:29;1252:21098;;;;;;;;2336:34;;:86;;;;;2268:257;2332:145;;;1252:21098;;;2268:257;:::o;2332:145::-;1252:21098;;2445:21;1252:21098;;;2438:28;:::o;2336:86::-;837:15:67;;;819:34;837:15;819:34;:::i;:::-;1252:21098:101;2374:48;2336:86;;;7381:191;-1:-1:-1;;;;;1252:21098:101;-1:-1:-1;1252:21098:101;;;6254:15;1252:21098;;;;;6254:33;;;:::i;:::-;5835:21;;:::i;:::-;5479:22;;:::i;:::-;1252:21098;1884:1:89;1252:21098:101;;;;;;;1884:1:89;1252:21098:101;;;;;;;9478:25:62;;;:::i;1252:21098:101:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;:::o;8203:218::-;8316:10;1252:21098;;;-1:-1:-1;;;;;1252:21098:101;;;;;8343:20;;1252:21098;;8366:44;1252:21098;;;;;;;;;;;8366:44;;8404:4;8366:44;;;1252:21098;8366:44;;;;;;;8316:10;8366:44;;;8343:71;8203:218;:::o;8366:44::-;;;;;;;;;;;;;;:::i;8343:71::-;;8316:10;8203:218;:::o;1252:21098::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2890:760::-;2995:25;1252:21098;;;;;;;;;;;;;2983:37;;;;;;1252:21098;;3040:29;1252:21098;;;;;3040:34;;;;:79;;;;;2979:665;3036:143;;;;3199:95;1252:21098;3199:95;1252:21098;3224:41;3223:71;1252:21098;3199:21;1252:21098;3224:41;;:::i;:::-;1252:21098;;;;3223:71;;:::i;3036:143::-;1252:21098;;-1:-1:-1;;;3146:18:101;;;;;3040:79;3078:41;;-1:-1:-1;3040:79:101;;;;2979:665;1252:21098;;3315:29;1252:21098;;;;;;;3315:34;;;;:79;;;;;2979:665;-1:-1:-1;;3311:333:101;;;1252:21098;;3417:83;1252:21098;;3417:83;1252:21098;3438:37;3437:63;1252:21098;3417:17;1252:21098;3438:37;;:::i;:::-;1252:21098;;;3437:63;;:::i;3311:333::-;3538:95;1252:21098;;3562:71;1252:21098;;3563:41;3538:95;1252:21098;3538:21;1252:21098;3563:41;;:::i;:::-;1252:21098;;;;3562:71;;:::i;3315:79::-;3353:41;;-1:-1:-1;3315:79:101;;;;3361:103:28;;;;:::i;:::-;1252:21098:101;;-1:-1:-1;;;;;1252:21098:101;;;11972:23;;11968:79;;12101:11;;12097:70;;1252:21098;12193:10;;;;;;-1:-1:-1;1252:21098:101;;12338:49;;1252:21098;;;;12315:6;;1252:21098;;12272:18;;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;;12272:18;12315:6;:::i;:::-;12338:49;1252:21098;;12349:10;;;;12338:49;;;:::i;:::-;;;;3426:1:28;;;:::i;12205:3:101:-;12241:9;12224:27;1252:21098;12241:9;12234:17;12241:9;;;;;:::i;:::-;1252:21098;12234:17;:::i;12224:27::-;12205:3;1252:21098;12182:9;;12097:70;1252:21098;;-1:-1:-1;;;12135:21:101;;;;;1252:21098;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3698:721::-;3798:21;1252:21098;3790:29;;;3786:81;;3889:17;1252:21098;3881:25;;;;;;1252:21098;3946:91;1252:21098;3945:104;1252:21098;3978:59;3979:29;3946;1252:21098;;;3979:29;;:::i;:::-;1252:21098;;;;;3978:59;;:::i;3877:536::-;1252:21098;;4070:21;1252:21098;4070:26;;:59;;;;3877:536;4066:347;;;1252:21098;4152:92;1252:21098;;4181:51;4182:25;4153:79;1252:21098;4153:25;1252:21098;4182:25;;:::i;:::-;1252:21098;;;4181:51;;:::i;:::-;1252:21098;;;;4153:79;:::i;4066:347::-;4299:91;1252:21098;;4298:104;1252:21098;4331:59;4332:29;4299;1252:21098;;;4332:29;;:::i;:::-;1252:21098;;;;;4331:59;;:::i;:::-;1252:21098;;;;4299:91;:::i;4070:59::-;4100:29;;;;4070:59;;3786:81;1252:21098;;-1:-1:-1;;;3842:14:101;;;;;1918:302;1252:21098;;2003:29;1252:21098;;;;2003:34;;:86;;;;;1918:302;1999:159;;;;2174:39;1252:21098;1918:302;:::o;1999:159::-;2112:35;1252:21098;2105:42;:::o;2003:86::-;837:15:67;;;819:34;837:15;819:34;:::i;:::-;1252:21098:101;2041:48;2003:86;;;;8482:228;8583:10;1252:21098;;;-1:-1:-1;;;;;1252:21098:101;;;;;8574:19;8570:75;;8674:12;1252:21098;8661:42;;;:::i;8570:75::-;1252:21098;;-1:-1:-1;;;8616:18:101;;;;;7620:227;;7760:34;7620:227;1252:21098;-1:-1:-1;1252:21098:101;7760:18;1252:21098;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;7760:34;1252:21098;;-1:-1:-1;1252:21098:101;7796:11;1252:21098;;;-1:-1:-1;1252:21098:101;;7816:16;1252:21098;;;-1:-1:-1;1252:21098:101;;;1884:1:89;1252:21098:101;;;;;;;1884:1:89;1252:21098:101;;;;;;;9478:25:62;;;:::i;3470:384:28:-;-1:-1:-1;;;;;;;;;;;1991:1:28;1252:21098:101;;3670:20:28;3666:88;;1991:1;1252:21098:101;;3470:384:28:o;3666:88::-;1252:21098:101;;-1:-1:-1;;;3713:30:28;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21098:101;3860:283:28:o;20882:960:101:-;21061:10;1252:21098;;;;6254:15;1252:21098;;;;;;20882:960;;;819:34:67;837:15;819:34;:::i;:::-;21061:10:101;1252:21098;;;;6254:15;1252:21098;;;;;6254:33;;;:::i;:::-;1252:21098;;;;;;;;;21045:93;21761:74;21045:93;;;21586:30;21045:93;;:::i;:::-;837:15:67;;21148:67:101;819:34:67;837:15;819:34;:::i;:::-;21185:29:101;5479:22;;;:::i;21148:67::-;837:15:67;;21225:68:101;819:34:67;837:15;819:34;:::i;:::-;21261:31:101;5835:21;;;:::i;21225:68::-;837:15:67;;21695:34:101;837:15:67;21695:25:101;21320:18;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;21320:18;:::i;:::-;21652:33;21371:18;;1252:21098;;13970:11;1252:21098;;;;;;;21371:18;1252:21098;21428:23;;1252:21098;;21428:16;1252:21098;;;;;;;21428:23;1252:21098;390:70:89;;;;;:::i;:::-;21586:30:101;;;;;;:::i;:::-;21565:18;;1252:21098;;13970:11;1252:21098;;;;;;;21565:18;1252:21098;21652:33;:::i;:::-;21626:23;;1252:21098;;21428:16;1252:21098;;;;;;;21626:23;1252:21098;;;21695:18;1252:21098;;;;;;;21695:25;1252:21098;;;;;;;;;;;;;;;;21695:34;:50;1252:21098;;;21695:50;:::i;:::-;1252:21098;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;21061:10;;1252:21098;;21761:74;20882:960::o;1252:21098::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:88:-;;1252:21098:101;;7686:17:88;7682:83;;1252:21098:101;7789:27:88;1252:21098:101;7789:27:88;1252:21098:101;;7789:27:88;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;7888:22:88;;;7884:77;;7975:21;-1:-1:-1;7975:84:88;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;1252:21098:101;8075:24:88;:::o;7975:84::-;1252:21098:101;;;8009:16:88;5305:13:101;1252:21098;8009:16:88;:::i;:::-;1252:21098:101;;;8001:24:88;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;1252:21098:101;;;;;8029:29:88;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21098:101;7926:24:88;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21098:101;;7686:17:88;7682:83;;1252:21098:101;7789:27:88;1252:21098:101;7789:27:88;1252:21098:101;;7789:27:88;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;7888:22:88;;;7884:77;;7975:21;-1:-1:-1;7975:84:88;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21098:101;;;8009:16:88;5663:12:101;1252:21098;8009:16:88;:::i;:::-;1252:21098:101;;;8001:24:88;: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:21098:101;;7686:17:88;7682:83;;1252:21098:101;7789:27:88;1252:21098:101;7789:27:88;1252:21098:101;;7789:27:88;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;7888:22:88;;;7884:77;;7975:21;-1:-1:-1;7975:84:88;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;1252:21098:101;8075:24:88;:::o;7975:84::-;1252:21098:101;;;8009:16:88;1252:21098:101;;8009:16:88;:::i;:::-;1252:21098:101;;;8001:24:88;: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:21098:101;7926:24:88;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;466:39:102;;1252:21098:101;;3901:31:23;1252:21098:101;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;757:38:102;;1252:21098:101;;3901:31:23;1252:21098:101;4148:103:23;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;1041:36:102;;1252:21098:101;;3901:31:23;1252:21098:101;4148:103:23;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;612:37:102;;1252:21098:101;;3901:31:23;1252:21098:101;4148:103:23;-1:-1:-1;1252:21098:101;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;966:10:27;1252:21098:101;;;;;;;;;3901:31:23;1252:21098:101;7270:387:23;-1:-1:-1;1252:21098:101;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;-1:-1:-1;;1252:21098:101;7509:4:23;1252:21098:101;;;966:10:27;;-1:-1:-1;;;;;1252:21098:101;;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:21098:101;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;966:10:27;;-1:-1:-1;;;;;1252:21098:101;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21098:101;8209:11:23;:::o;1670:188:49:-;1252:21098:101;;-1:-1:-1;;;1797:53:49;;;;-1:-1:-1;;;;;1252:21098:101;;;1797:53:49;;;1252:21098:101;;;;;;;;;;;;;;;;;1797:53:49;;;1252:21098:101;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;1797:53:49;1252:21098:101;;;1797:53:49;:::i;1252:21098:101:-;7178:12:88;1252:21098:101;;;;;;7178:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;-1:-1:-1;1252:21098:101;:::o;:::-;7178:12:88;1252:21098:101;;;;;;7178:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;-1:-1:-1;1252:21098:101;:::o;:::-;;;;;;;;-1:-1:-1;1252:21098:101;;-1:-1:-1;1252:21098:101;;;-1:-1:-1;1252:21098:101;:::o;:::-;6360:12:88;1252:21098:101;-1:-1:-1;;;1252:21098:101;;;;;;;;;6360:12:88;1252:21098:101;;;;;;6360:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;:::o;:::-;6360:12:88;1252:21098:101;-1:-1:-1;;;1252:21098:101;;;;;;;;;6360:12:88;1252:21098:101;;;;;;6360:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;:::o;:::-;;;;;-1:-1:-1;;;1252:21098:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:88;;;;6360:12;1252:21098:101;;;6360:24:88;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21098:101;;;;;;6578:12:88;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:88;;;-1:-1:-1;;;1252:21098:101;;;;;;;;;-1:-1:-1;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;6798:25:88;1252:21098:101;6246:584:88:o;6600:188::-;8310:38:65;;-1:-1:-1;;;;;1252:21098:101;;-1:-1:-1;8310:38:65;:::i;:::-;6753:24:88;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21098:101;;;;;;6614:14:88;;-1:-1:-1;6604:24:88;;;6356:75;-1:-1:-1;;;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;6356:75:88;;;6246:584;;;;6360:12;1252:21098:101;;;6360:24:88;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21098:101;;;;;;6578:12:88;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:88;;;-1:-1:-1;;;1252:21098:101;;;;;;;;;-1:-1:-1;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;6798:25:88;1252:21098:101;6246:584:88:o;6600:188::-;8310:38:65;;-1:-1:-1;;;;;1252:21098:101;;-1:-1:-1;8310:38:65;:::i;:::-;6753:24:88;;;;;:::i;6604:::-;1252:21098:101;;;;;;6614:14:88;;-1:-1:-1;6604:24:88;;;6356:75;-1:-1:-1;;;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;6356:75:88;;;6246:584;;;;;6360:12;;;1252:21098:101;;;6360:24:88;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21098:101;;;;;;6578:12:88;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:88;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;6644:21:88;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21098:101;;8310:38:65;;-1:-1:-1;;;;;1252:21098:101;;;;;8310:38:65;:::i;:::-;6753:24:88;;;:::i;6604:::-;1252:21098:101;;;;;;6614:14:88;;-1:-1:-1;6604:24:88;;;6356:75;-1:-1:-1;;;1252:21098:101;;;;;;6360:12:88;1252:21098:101;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:88;;;1271:160:49;1252:21098:101;;-1:-1:-1;;;1380:43:49;;;;-1:-1:-1;;;;;1252:21098:101;;;1380:43:49;;;1252:21098:101;;;;;;;;;1380:43:49;;;1252:21098:101;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;1380:43:49;1252:21098:101;;;1380:43:49;:::i;1252:21098:101:-;;;;;;;:::o;4996:4226:62:-;;1252:21098:101;;;;-1:-1:-1;;4996:4226:62;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:102;6270:20:62;;;;;6266:143;;1252:21098:101;6695:300:62;;;;;;;;1252:21098:101;;6695:300:62;;7259:375;;7700:21;1252:21098:101;4996:4226:62;:::o;6266:143::-;1829:135:53;;;3060:42:62;1829:135:53;;;;;5792:368:62;1252:21098:101;;1466:3:102;1252:21098:101;;;6119:26:62;:::o;4996:4226::-;;1252:21098:101;;;;-1:-1:-1;;1252:21098:101;4996:4226:62;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:53;-1:-1:-1;940:4:53;7214:31:62;;7259:375;;;8094:1;1252:21098:101;;8075:1:62;1252:21098:101;8074:21:62;1252:21098:101;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;7259:375:62;;;;-1:-1:-1;7259:375:62;;;6695:300;;;;;;1252:21098:101;6695:300:62;;7259:375;7700:21;1252:21098:101;4996:4226:62;:::o;6266:143::-;6330:16;;3066:5;1252:21098:101;940:4:53;3060:42:62;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;21848:460:101:-;;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;21941:23;;;21937:75;;1252:21098;22026:39;:27;;1252:21098;;22026:20;1252:21098;;;;;;;22026:27;22054:10;1252:21098;;;;;;;;;;;;;;22026:39;1252:21098;;22022:93;;22134:32;22054:10;22134:32;;:::i;:::-;22181:11;;;22177:68;;22255:39;22054:10;22255:27;22054:10;22255:27;1252:21098;;22026:20;1252:21098;;;;;;;22255:39;1252:21098;;-1:-1:-1;;1252:21098:101;22297:4;1252:21098;;;21848:460::o;22177:68::-;1252:21098;;-1:-1:-1;;;22215:19:101;;;;;22022:93;1252:21098;;-1:-1:-1;;;22088:16:101;;;;;14296:213:63;1252:21098:101;14374:24:63;;;;14370:103;;1252:21098:101;14296:213:63;:::o;14370:103::-;1252:21098:101;;;;14421:41:63;;;;;;14452:2;14421:41;;;1252:21098:101;;;;;14421:41:63;10580:184:88;5835:12:101;1252:21098;10446:8:65;;;:63;-1:-1:-1;10446:63:65;-1:-1:-1;;;;;1252:21098:101;;10726:7:88;1252:21098:101;;10736:12:88;1252:21098:101;;;;;;10736:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;10580:184:88;:::o;10446:63:65:-;1252:21098:101;;;;;;;;5835:12;-1:-1:-1;14439:109:65;;;1252:21098:101;;;10446:63:65;;10580:184:88;5479:13:101;1252:21098;10446:8:65;;;:63;-1:-1:-1;10446:63:65;-1:-1:-1;;;;;1252:21098:101;;10726:7:88;1252:21098:101;;10736:12:88;1252:21098:101;;;;;;10736:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;10580:184:88;:::o;10446:63:65:-;1252:21098:101;;;;;;;;5479:13;-1:-1:-1;14439:109:65;;;1252:21098:101;;;10446:63:65;;10580:184:88;1252:21098:101;;10446:8:65;;;:63;-1:-1:-1;10446:63:65;-1:-1:-1;;;;;1252:21098:101;;10726:7:88;1252:21098:101;;10736:12:88;:17;:12;;:17;:::i;:::-;1252:21098:101;;;;;;10580:184:88;:::o;10726:31::-;;;-1:-1:-1;10580:184:88;:::o;10446:63:65:-;1252:21098:101;;;;;;;;;;14439:109:65;-1:-1:-1;14439:109:65;;-1:-1:-1;14439:109:65;;;1252:21098:101;;;10446:63:65;;1662:280:89;;;1884:1;1252:21098:101;;;;;;;1884:1:89;1252:21098:101;;;;;;;9478:25:62;;;:::i;6999:207:88:-;5305:13:101;1252:21098;9737:15:65;-1:-1:-1;9762:18:65;9795:7;9801:1;9795:7;;9791:234;;6999:207:88;10049:53:65;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:65;-1:-1:-1;;;;;1252:21098:101;;7168:7:88;1252:21098:101;;7178:17:88;1252:21098:101;7178:17:88;;:::i;10120:63:65:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5305:13:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;14289:265;;10135:41;1252:21098:101;;;;;10135:48:65;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21098:101;;;;;;;10049:53:65;14439:109;5305:13:101;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;1252:21098:101;;;;;9870:48:65;9866:149;1252:21098:101;;;9938:10:65;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:88;5663:12:101;1252:21098;9737:15:65;-1:-1:-1;9762:18:65;9795:7;9801:1;9795:7;;9791:234;;6999:207:88;10049:53:65;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:65;-1:-1:-1;;;;;1252:21098:101;;7168:7:88;1252:21098:101;;7178:17:88;1252:21098:101;7178:17:88;;:::i;10120:63:65:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5663:12:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21098:101;;;;;;;10049:53:65;14439:109;5663:12:101;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;1252:21098:101;;;;;9870:48:65;9866:149;1252:21098:101;;;9938:10:65;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:88;;1252:21098:101;;9737:15:65;-1:-1:-1;9762:18:65;9795:7;9801:1;9795:7;;9791:234;;6999:207:88;10049:53:65;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:65;;-1:-1:-1;;;;;1252:21098:101;;7168:7:88;1252:21098:101;;;7178:12:88;;:17;:12;;:17;:::i;10120:63:65:-;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:21098:101;;;;;;;10049:53:65;14439:109;;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;;-1:-1:-1;14439:109:65;;1252:21098:101;;;;;9870:48:65;9866:149;1252:21098:101;;;9938:10:65;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21098:101;;;;;;;:::i;:::-;-1:-1:-1;1252:21098:101;;;;;;;:::o;11486:272:88:-;1252:21098:101;;:::i;:::-;;;;:::i;:::-;;5305:13;1252:21098;;;;;;5305:13;-1:-1:-1;1252:21098:101;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;;;;;;;;;;11718:12:88;1252:21098:101;;;;;;11718:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;:::i;:::-;;;;11672:79:88;;1252:21098:101;11486:272:88;:::o;:::-;1252:21098:101;;:::i;:::-;;;;:::i;:::-;;5663:12;1252:21098;;;;;;5663:12;-1:-1:-1;1252:21098:101;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;;;;;;;;;;11718:12:88;1252:21098:101;;;;;;11718:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;:::i;11486:272:88:-;;1252:21098:101;11718:12:88;11452:22:65;11718:31:88;11486:272;1252:21098:101;;:::i;:::-;;;;:::i;:::-;;11452:22:65;;:::i;:::-;1252:21098:101;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:88;:31;:::i;:::-;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;11672:79:88;;1252:21098:101;11486:272:88;:::o;7738:720:49:-;;-1:-1:-1;7875:421:49;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:49;;8310:15;;-1:-1:-1;;;;;;1252:21098:101;;8328:26:49;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21098:101;;-1:-1:-1;;;8401:40:49;;-1:-1:-1;;;;;1252:21098:101;;;8401:40:49;;;1252:21098:101;;;8401:40:49;8310:68;8377:1;8362:16;;8310:68;;1258:280:89;;;1252:21098:101;;;;;;;;;;;;;;;;9478:25:62;;;;;:::i;:::-;9552;;;;;;:29;;1252:21098:101;;;;;;;1258:280:89;:::o;10695:389:65:-;5835:12:101;1252:21098;10871:8:65;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21098:101;;;;;;;;5835:12;10833:17:65;14439:109;;;1252:21098:101;11014:1:65;;1252:21098:101;;;;;;;11030:37:65:o;10695:389::-;5479:13:101;1252:21098;10871:8:65;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21098:101;;;;;;;;5479:13;10833:17:65;14439:109;;;1252:21098:101;11014:1:65;;1252:21098:101;;;;;;;11030:37:65:o;10695:389::-;1252:21098:101;;10871:8:65;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21098:101;;;;;;;;;;10833:17:65;14439:109;;10833:17;14439:109;;;1252:21098:101;11014:1:65;1252:21098:101;;;;;;;11030:37:65;:::o;1776:194:53:-;1829:135;;;;;;;;1252:21098:101;5835:12;1252:21098;;-1:-1:-1;;;1252:21098:101;;;;;;;;;5835:12;1252:21098;;;;;;5835:12;-1:-1:-1;1252:21098:101;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;:::o;:::-;5479:13;1252:21098;;-1:-1:-1;;;1252:21098:101;;;;;;;;;5479:13;1252:21098;;;;;;5479:13;-1:-1:-1;1252:21098:101;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;:::o;:::-;;;-1:-1:-1;;;1252:21098:101;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:65;5835:12:101;1252:21098;11657:922:65;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21098:101;;;;;;;;;;;;12103:13:65;;;12099:89;;12251:14;;;;;12285:19;;;1252:21098:101;;;;;;;;;;;;;;;;;12285:19:65;1252:21098:101;;12423:25:65;;:::o;12247:163::-;1252:21098:101;;12343:52:65;1252:21098:101;12353:41:65;1252:21098:101;;:::i;:::-;;;;;;;;12353:41:65;-1:-1:-1;;;;;1252:21098:101;;12353:41:65;;;1252:21098:101;12343:52:65;:::i;:::-;12247:163;;12099:89;1252:21098:101;;-1:-1:-1;;;12143:30:65;;;;;11860:713;1252:21098:101;12479:52:65;1252:21098:101;12489:41:65;1252:21098:101;;:::i;12489:41:65:-;-1:-1:-1;;;;;1252:21098:101;;12489:41:65;;;1252:21098:101;12343:52:65;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5479:13:101;1252:21098;11657:922:65;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21098:101;;;;;;;;;;;;12103:13:65;;;12099:89;;12251:14;;;;;12285:19;;;1252:21098:101;;;;;;;;;;;;;;;;;12247:163:65;1252:21098:101;;12343:52:65;1252:21098:101;12353:41:65;1252:21098:101;;:::i;12353:41:65:-;-1:-1:-1;;;;;1252:21098:101;;12353:41:65;;;1252:21098:101;12343:52:65;:::i;11860:713::-;1252:21098:101;12479:52:65;1252:21098:101;12489:41:65;1252:21098:101;;:::i;12489:41:65:-;-1:-1:-1;;;;;1252:21098:101;;12489:41:65;;;1252:21098:101;12343:52:65;:::i;11657:922::-;1252:21098:101;;11657:922:65;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21098:101;;;;;;;;;;;;12103:13:65;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21098:101;;;;;;;;;;;;;;;;;12247:163:65;1252:21098:101;;;12343:52:65;1252:21098:101;12353:41:65;1252:21098:101;;:::i;:::-;;;;;;;;12353:41:65;-1:-1:-1;;;;;1252:21098:101;;12353:41:65;;;1252:21098:101;12343:52:65;:::i;11860:713::-;1252:21098:101;;12479:52:65;1252:21098:101;12489:41:65;1252:21098:101;;:::i;12489:41:65:-;-1:-1:-1;;;;;1252:21098:101;;12489:41:65;;;1252:21098:101;12343:52:65;:::i;18080:5181:62:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:62;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:62;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:21098:101;18246:1:62;1252:21098:101;22284:6:62;;;;:::i;:::-;1252:21098:101;;;;;22278:18:62;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:21098:101;23216:28:62;940:4:53;;18080:5181:62;:::o;19887:61::-;18246:1;1252:21098:101;19887:61:62;;19787:87;1252:21098:101;;;;;19787:87:62;;;19687;1252:21098:101;;;;;19687:87:62;;;19585:89;1252:21098:101;;;;;19585:89:62;;;19482:90;1252:21098:101;;;;;19482:90:62;;;19379;1252:21098:101;;;;;19379:90:62;;;19274:92;-1:-1:-1;;;;1252:21098:101;-1:-1:-1;1252:21098:101;;;;19274:92:62;;12929:433:65;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:62;;;;;1252:21098:101;;3731:5:62;;;1252:21098:101;;;;;;;;;5305:13;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;1252:21098:101;;;;;-1:-1:-1;13189:136:65;1252:21098:101;;;13248:10:65;;13189:136;;13105:230;;;13189:136;1252:21098:101;;;;;;;;;;;13189:136:65;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:62;;;;;1252:21098:101;;3731:5:62;;;1252:21098:101;;;;;;;;;5663:12;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;1252:21098:101;;;;;-1:-1:-1;13189:136:65;1252:21098:101;;;13248:10:65;;13189:136;;13105:230;;;13189:136;1252:21098:101;;;;;;;;;;;13189:136:65;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:62;;;;;;1252:21098:101;;3731:5:62;;;1252:21098:101;;;;;;;;;14439:109:65;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;;-1:-1:-1;14439:109:65;;1252:21098:101;;;;;-1:-1:-1;13189:136:65;1252:21098:101;;;13248:10:65;;13189:136;;13105:230;;;;13189:136;1252:21098:101;;;;;;;;;;;13189:136:65;;","linkReferences":{},"immutableReferences":{"68765":[{"start":5208,"length":32},{"start":6474,"length":32}],"68768":[{"start":7533,"length":32},{"start":8821,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelay()":"c642b050","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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","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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\":\"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\":\"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\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[{\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"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\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"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\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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.\"},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"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.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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.\"},\"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\":\"0xd1813132496e4134e734dd6f85ed58531e850565574d1c5dd24a6849839785db\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://104d9cef5f587f7090781c176709163d97c89a0f4a45633d196a10f2a1d30284\",\"dweb:/ipfs/QmVfcKdLvTVtWADrc3f3bNy9aMpxqir8tPZe3fae5B6WfA\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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":"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":"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":"nonpayable","type":"function","name":"_Vault_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[{"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","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":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","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":"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"}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"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."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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."},"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":"0xd1813132496e4134e734dd6f85ed58531e850565574d1c5dd24a6849839785db","urls":["bzz-raw://104d9cef5f587f7090781c176709163d97c89a0f4a45633d196a10f2a1d30284","dweb:/ipfs/QmVfcKdLvTVtWADrc3f3bNy9aMpxqir8tPZe3fae5B6WfA"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":101} \ No newline at end of file diff --git a/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json index e87b9f9..a03fa1f 100644 --- a/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json +++ b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json @@ -1 +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":"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":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"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":"0x60a034606d57601f611cd238819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611c4c908161008682396080518181816106e901526116300152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e67226e24545d50f54ac86049d1cffc4e995c07f0661e98a25a820abd658adf764736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;1324:40;;978:3799;;;;;;;;1324:40;978:3799;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;978:3799:110","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e67226e24545d50f54ac86049d1cffc4e995c07f0661e98a25a820abd658adf764736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;2603:64:50;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;978:3799: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;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;978:3799:110;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;978:3799:110;;;;;;;;;;;;;;;;11334:29:27;978:3799:110;;;;;;11415:31:27;978:3799:110;966:10:28;11415:31:27;;978:3799:110;;;10117:4:27;978:3799:110;;;11235:90:27;978:3799:110;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;978:3799:110;;;11283:31:27;11137:89;978:3799:110;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;978:3799:110;;;11183:32:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;3653:32:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;757:38:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;1732:13;978:3799;10446:8:71;;;:63;978:3799:110;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:17:94;978:3799:110;10736:17:94;;:::i;:::-;978:3799:110;;;;;;10726:31:94;978:3799:110;;;;;;10726:31:94;;978:3799:110;;10726:31:94;;10446:63:71;978:3799:110;;;;;;;;1732:13;978:3799;14439:109:71;;;978:3799:110;;;10446:63:71;;978:3799:110;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;612:37:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2084:35:108;978:3799:110;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;3016:48:110;2951:156;2975:90;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;3016:48;;;-1:-1:-1;;;;;978:3799:110;;;;3016:48;;;978:3799;;;;;;;;;;;;;;;;3016:48;;978:3799;;3016:48;;;;;;:::i;:::-;2975:19;:90;:::i;:::-;978:3799;;;;2951:156;;;;;;:::i;:::-;978:3799;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;3132:10;3123:40;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;978:3799:110;;11910:37:27;;;11906:310;;978:3799:110;6198:5:27;;;;:::i;:::-;978:3799:110;;4867:13:27;978:3799:110;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3799:110;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;978:3799:110;6198:5:27;978:3799:110;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;978:3799:110;11906:310:27;;11963:130;978:3799:110;;-1:-1:-1;;;12018:60:27;;966:10:28;978:3799:110;12018:60:27;;978:3799:110;;;;;;;;;;;;;;;12018:60:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;1535:37:110;;978:3799;1535:37;;978:3799;;;;;;;;-1:-1:-1;;;;;978:3799:110;1535:37;;;;;;978:3799;1535:37;978:3799;1535:37;;;978:3799;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3799;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1329:40:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2236:52;;;-1:-1:-1;;;;;978:3799:110;;;2236:52;;;978:3799;;;;;;;;;2171:160;;2195:94;;2236:52;978:3799;;;;2236:52;978:3799;2171:160;978:3799;;;;;;;-1:-1:-1;;;;;978:3799:110;;-1:-1:-1;;;;;;;;;;;;;2347:46:110;978:3799;;2347:46;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;4126:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2255:34:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2718:59:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1041:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;1989:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1564:45:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2423:32:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;1941:15;978:3799;;;1941:33;978:3799;-1:-1:-1;978:3799:110;1941:33;:::i;978:3799::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;4027:43:108;978:3799:110;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;4867:13:27;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;2594:68:108;978:3799:110;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3932:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3833:43:108;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;978:3799:110;;;;;;;;;;477:31:86;;978:3799:110;;;;;;;;;;;:::i;477:31:86:-;518:79;;;978:3799:110;518:79:86;;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;900:35:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2953:94:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;2953:94:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;2953:94:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3103:92:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;3103:92:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;3103:92:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4396:31:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4616:5:27;978:3799:110;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;978:3799:110;;;4639:4:27;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2833:64:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2345:22:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1183:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3543:54:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2175:24:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3741:36:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;466:39:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;4867:29:27;978:3799:110;;:::i;:::-;4867:20:27;978:3799:110;;:::i;:::-;4867:20:27;;:::i;978:3799:110:-;;;;;;-1:-1:-1;;978:3799:110;;;;;4221:36:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;4313:27:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1466:3:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2560:158;2584:92;2625:50;;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2625:50;;;-1:-1:-1;;;;;978:3799:110;;;;2625:50;;;978:3799;;;;;;;;;;;;;;;;;2560:158;978:3799;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;2743:10;2734:46;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3437:50:108;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3799:110;;;;:::o;:::-;;;:::o;:::-;10736:12:94;978:3799:110;;;;;;10736:12:94;-1:-1:-1;978:3799:110;;;;-1:-1:-1;978:3799:110;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;-1:-1:-1;978:3799:110;;;-1:-1:-1;978:3799:110;:::o;10580:184:94:-;978:3799:110;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:12:94;:17;:12;;:17;:::i;:::-;978:3799:110;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;978:3799:110;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;978:3799: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:3799:110;;;;;6688:18:27;;6684:86;;978:3799:110;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3599:19;;;;3595:115;;4451:25;3830:21;:65;-1:-1:-1;;;;;;;;;;;3830:21:110;;;4346:65;3830:21;978:3799;;;;;;;;1941:15;978:3799;;;;;;;3830:21;837:15:73;;819:34;837:15;819:34;:::i;:::-;978:3799:110;;3830:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;837:15:73;;1941:33:110;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3799:110;;;;;;;1941:15;978:3799;;;;;;;1941:33;978:3799;4346:65;;:::i;:::-;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;4451:25;;;;6605:300:27:o;3595:115:110:-;978:3799;;-1:-1:-1;;;3645:50:110;;-1:-1:-1;;;;;978:3799:110;;;;3645:50;;;978:3799;;;;;;;;;;;;;;;;12018:60:27;6779:86;978:3799:110;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;978:3799:110;;;6822:32:27;6684:86;978:3799:110;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;978:3799:110;;;6729:30:27;2323:83:50;1019:819;;;;;;;4615:19:110;;1019:819:50;;;;;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;:::o;4421:582:56:-;;4593:8;;-1:-1:-1;978:3799:110;;5674:21:56;:17;;5799:158;;;;;;5670:354;978:3799:110;;-1:-1:-1;;;5994:19:56;;;;;4589:408;978:3799:110;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3799:110;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;978:3799:110;;;4917:24:56;;;978:3799:110;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;7084:141:26;978:3799:110;8837:64:26;978:3799:110;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;978:3799:110;;-1:-1:-1;;;7191:17:26;;;;;978:3799:110;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:94:-;;;;;6360:12;;;978:3799:110;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3799:110;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;978:3799:110;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3799:110;;8310:38:71;;-1:-1:-1;;;;;978:3799:110;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;978:3799:110;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;978:3799:110;;;;;;6360:12:94;978:3799:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;14296:213:69;978:3799:110;14374:24:69;;;;14370:103;;978:3799:110;14296:213:69;:::o;14370:103::-;978:3799:110;;;;14421:41:69;;;;;;14452:2;14421:41;;;978:3799:110;;;;;14421:41:69;10695:389:71;978:3799:110;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3799:110;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;978:3799:110;11014:1:71;978:3799:110;;;;;;;11030:37:71;:::o;978:3799:110:-;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;978:3799:110;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3799:110;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;978:3799:110;;;;;;;;;;;;;;;;;12285:19:71;978:3799:110;;12423:25:71;;:::o;12247:163::-;978:3799:110;;;12343:52:71;978:3799:110;12353:41:71;978:3799:110;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;978:3799:110;;12353:41:71;;;978:3799:110;12343:52:71;:::i;:::-;12247:163;;12099:89;978:3799:110;;-1:-1:-1;;;12143:30:71;;;;;11860:713;978:3799:110;;12479:52:71;978:3799:110;12489:41:71;978:3799:110;;:::i;12489:41:71:-;-1:-1:-1;;;;;978:3799:110;;12489:41:71;;;978:3799:110;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72320":[{"start":1769,"length":32},{"start":5680,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(string,string)":"602bd8e7","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[],\"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\":[],\"name\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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.\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[],"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":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":110} \ No newline at end of file +{"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":"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":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"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":"0x60a034606d57601f611cd238819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611c4c908161008682396080518181816106e901526116300152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122012a4e2a37e60c6683775ed518ce48dc1b95049aa0e2abc2a974e570f10f18ee064736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;1324:40;;978:3799;;;;;;;;1324:40;978:3799;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;978:3799:110","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122012a4e2a37e60c6683775ed518ce48dc1b95049aa0e2abc2a974e570f10f18ee064736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;2603:64:50;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;978:3799: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;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;978:3799:110;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;978:3799:110;;;;;;;;;;;;;;;;11334:29:27;978:3799:110;;;;;;11415:31:27;978:3799:110;966:10:28;11415:31:27;;978:3799:110;;;10117:4:27;978:3799:110;;;11235:90:27;978:3799:110;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;978:3799:110;;;11283:31:27;11137:89;978:3799:110;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;978:3799:110;;;11183:32:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;3653:32:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;757:38:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;1732:13;978:3799;10446:8:71;;;:63;978:3799:110;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:17:94;978:3799:110;10736:17:94;;:::i;:::-;978:3799:110;;;;;;10726:31:94;978:3799:110;;;;;;10726:31:94;;978:3799:110;;10726:31:94;;10446:63:71;978:3799:110;;;;;;;;1732:13;978:3799;14439:109:71;;;978:3799:110;;;10446:63:71;;978:3799:110;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;612:37:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2084:35:108;978:3799:110;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;3016:48:110;2951:156;2975:90;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;3016:48;;;-1:-1:-1;;;;;978:3799:110;;;;3016:48;;;978:3799;;;;;;;;;;;;;;;;3016:48;;978:3799;;3016:48;;;;;;:::i;:::-;2975:19;:90;:::i;:::-;978:3799;;;;2951:156;;;;;;:::i;:::-;978:3799;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;3132:10;3123:40;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;978:3799:110;;11910:37:27;;;11906:310;;978:3799:110;6198:5:27;;;;:::i;:::-;978:3799:110;;4867:13:27;978:3799:110;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3799:110;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;978:3799:110;6198:5:27;978:3799:110;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;978:3799:110;11906:310:27;;11963:130;978:3799:110;;-1:-1:-1;;;12018:60:27;;966:10:28;978:3799:110;12018:60:27;;978:3799:110;;;;;;;;;;;;;;;12018:60:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;1535:37:110;;978:3799;1535:37;;978:3799;;;;;;;;-1:-1:-1;;;;;978:3799:110;1535:37;;;;;;978:3799;1535:37;978:3799;1535:37;;;978:3799;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3799;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1329:40:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2236:52;;;-1:-1:-1;;;;;978:3799:110;;;2236:52;;;978:3799;;;;;;;;;2171:160;;2195:94;;2236:52;978:3799;;;;2236:52;978:3799;2171:160;978:3799;;;;;;;-1:-1:-1;;;;;978:3799:110;;-1:-1:-1;;;;;;;;;;;;;2347:46:110;978:3799;;2347:46;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;4126:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2255:34:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2718:59:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1041:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;1989:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1564:45:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2423:32:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;1941:15;978:3799;;;1941:33;978:3799;-1:-1:-1;978:3799:110;1941:33;:::i;978:3799::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;4027:43:108;978:3799:110;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;4867:13:27;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;2594:68:108;978:3799:110;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3932:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3833:43:108;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;978:3799:110;;;;;;;;;;477:31:86;;978:3799:110;;;;;;;;;;;:::i;477:31:86:-;518:79;;;978:3799:110;518:79:86;;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;900:35:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2953:94:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;2953:94:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;2953:94:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3103:92:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;3103:92:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;3103:92:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4396:31:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4616:5:27;978:3799:110;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;978:3799:110;;;4639:4:27;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2833:64:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2345:22:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1183:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3543:54:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2175:24:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3741:36:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;466:39:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;4867:29:27;978:3799:110;;:::i;:::-;4867:20:27;978:3799:110;;:::i;:::-;4867:20:27;;:::i;978:3799:110:-;;;;;;-1:-1:-1;;978:3799:110;;;;;4221:36:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;4313:27:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1466:3:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2560:158;2584:92;2625:50;;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2625:50;;;-1:-1:-1;;;;;978:3799:110;;;;2625:50;;;978:3799;;;;;;;;;;;;;;;;;2560:158;978:3799;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;2743:10;2734:46;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3437:50:108;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3799:110;;;;:::o;:::-;;;:::o;:::-;10736:12:94;978:3799:110;;;;;;10736:12:94;-1:-1:-1;978:3799:110;;;;-1:-1:-1;978:3799:110;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;-1:-1:-1;978:3799:110;;;-1:-1:-1;978:3799:110;:::o;10580:184:94:-;978:3799:110;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:12:94;:17;:12;;:17;:::i;:::-;978:3799:110;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;978:3799:110;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;978:3799: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:3799:110;;;;;6688:18:27;;6684:86;;978:3799:110;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3599:19;;;;3595:115;;4451:25;3830:21;:65;-1:-1:-1;;;;;;;;;;;3830:21:110;;;4346:65;3830:21;978:3799;;;;;;;;1941:15;978:3799;;;;;;;3830:21;837:15:73;;819:34;837:15;819:34;:::i;:::-;978:3799:110;;3830:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;837:15:73;;1941:33:110;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3799:110;;;;;;;1941:15;978:3799;;;;;;;1941:33;978:3799;4346:65;;:::i;:::-;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;4451:25;;;;6605:300:27:o;3595:115:110:-;978:3799;;-1:-1:-1;;;3645:50:110;;-1:-1:-1;;;;;978:3799:110;;;;3645:50;;;978:3799;;;;;;;;;;;;;;;;12018:60:27;6779:86;978:3799:110;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;978:3799:110;;;6822:32:27;6684:86;978:3799:110;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;978:3799:110;;;6729:30:27;2323:83:50;1019:819;;;;;;;4615:19:110;;1019:819:50;;;;;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;:::o;4421:582:56:-;;4593:8;;-1:-1:-1;978:3799:110;;5674:21:56;:17;;5799:158;;;;;;5670:354;978:3799:110;;-1:-1:-1;;;5994:19:56;;;;;4589:408;978:3799:110;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3799:110;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;978:3799:110;;;4917:24:56;;;978:3799:110;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;7084:141:26;978:3799:110;8837:64:26;978:3799:110;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;978:3799:110;;-1:-1:-1;;;7191:17:26;;;;;978:3799:110;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:94:-;;;;;6360:12;;;978:3799:110;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3799:110;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;978:3799:110;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3799:110;;8310:38:71;;-1:-1:-1;;;;;978:3799:110;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;978:3799:110;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;978:3799:110;;;;;;6360:12:94;978:3799:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;14296:213:69;978:3799:110;14374:24:69;;;;14370:103;;978:3799:110;14296:213:69;:::o;14370:103::-;978:3799:110;;;;14421:41:69;;;;;;14452:2;14421:41;;;978:3799:110;;;;;14421:41:69;10695:389:71;978:3799:110;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3799:110;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;978:3799:110;11014:1:71;978:3799:110;;;;;;;11030:37:71;:::o;978:3799:110:-;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;978:3799:110;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3799:110;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;978:3799:110;;;;;;;;;;;;;;;;;12285:19:71;978:3799:110;;12423:25:71;;:::o;12247:163::-;978:3799:110;;;12343:52:71;978:3799:110;12353:41:71;978:3799:110;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;978:3799:110;;12353:41:71;;;978:3799:110;12343:52:71;:::i;:::-;12247:163;;12099:89;978:3799:110;;-1:-1:-1;;;12143:30:71;;;;;11860:713;978:3799:110;;12479:52:71;978:3799:110;12489:41:71;978:3799:110;;:::i;12489:41:71:-;-1:-1:-1;;;;;978:3799:110;;12489:41:71;;;978:3799:110;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72297":[{"start":1769,"length":32},{"start":5680,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(string,string)":"602bd8e7","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[],\"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\":[],\"name\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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.\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[],"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":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"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 a5305a4..7cc6c4b 100644 --- a/out/VaultVotes.sol/VaultVotes.json +++ b/out/VaultVotes.sol/VaultVotes.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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"0x60c03461012357612758906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a052516126089081610150823960805181818161056601526106d1015260a0518181816112b4015281816114430152611a040152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036119fa57611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206125b383398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f80516020612593833981519152602052610758600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206125b38339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd611339565b91610cde604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f80516020612593833981519152602052610f5c600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806119c2565b61138c565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610cde855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b611080611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b0482610700565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b81610700565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220de985ed80e70d3add20c468cb59a53f837cfa5ff16811a1cd3e495e1f08c400b64736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;328:879:111;;;;;;;;;7896:76:26;;328:879:111;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;328:879:111;;;;;;;927:17:82;328:879:111;;;;;;;;;;1445:31:106;328:879:111;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;328:879:111;;;;;;;;;;;;;8087:29:26;;328:879:111;;8087:29:26;7981:146;;;;;7896:76;328:879:111;;-1:-1:-1;;;7938:23:26;;;;;328:879:111;-1:-1:-1;328:879:111;;;;;;-1:-1:-1;328:879:111;;;;;-1:-1:-1;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036119fa57611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206125b383398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f80516020612593833981519152602052610758600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206125b38339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd611339565b91610cde604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f80516020612593833981519152602052610f5c600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806119c2565b61138c565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610cde855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b611080611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b0482610700565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b81610700565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220de985ed80e70d3add20c468cb59a53f837cfa5ff16811a1cd3e495e1f08c400b64736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;2603:64:50;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;328:879: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;:::-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;328:879:111;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;328:879:111;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;;3653:32:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;757:38:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;612:37:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;2084:35:108;328:879:111;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;4919:24:23;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;328:879:111;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;328:879:111;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;;;;6431:44:26;;;;328:879:111;6427:105:26;;-1:-1:-1;;328:879:111;;;;;;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;-1:-1:-1;;;328:879:111;;;6656:20:26;;;;328:879:111;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;6450:25:26;;;6431:44;;1655:71:82;328:879:111;;-1:-1:-1;;;1703:12:82;;328:879:111;;1703:12:82;3666:88:30;328:879:111;;-1:-1:-1;;;3713:30:30;;328:879:111;;3713:30:30;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;655:32:82;-1:-1:-1;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;:::o;:::-;;;;;;-1:-1:-1;;328:879:111;;;;5350:25:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5350:25;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;;;1329:40:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;328:879:111;;6441:34:23;6437:102;;6549:37;328:879:111;;;6549:37:23;:::i;6437:102::-;328:879:111;;-1:-1:-1;;;6498:30:23;;328:879:111;;6498:30:23;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;4126:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2255:34:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;-1:-1:-1;;;;;;;;;;;;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;328:879:111;;;;;;734:29:82;730:87;;328:879:111;;;;;6431:44:26;;;;;328:879:111;6427:105:26;;;6656:20;328:879:111;6656:20:26;328:879:111;1167:340:82;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;328:879:111;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;328:879:111;;-1:-1:-1;;;786:20:82;;328:879:111;;786:20:82;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2718:59:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1041:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;1989:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1564:45:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2423:32:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;3975:40:24;328:879:111;;3975:40:24;328:879:111;;;;;;;-1:-1:-1;;328:879:111;;;;;;4027:43:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;328:879:111;2594:68:108;328:879:111;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3932:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3833:43:108;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3901:31:23;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;3901:31:23;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;328:879:111;;;;;;;;;;477:31:86;;328:879:111;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;328:879:111;518:79:86;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;900:35:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;2953:94:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;2953:94:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;2953:94:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3103:92:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;3103:92:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;4396:31:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2833:64:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2345:22:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1183:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3543:54:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2175:24:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3741:36:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;5767:26:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5767:26;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;466:39:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4221:36:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4313:27:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1466:3:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1286:6:106;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;2357:1:24;328:879:111;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;3437:50:108;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;477:31:86;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;5411:34:106;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;1167:340:82:-;;328:879:111;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;328:879:111;;1376:73:82;;1167:340;328:879:111;;;;:::i;:::-;;;674:55:109;;;;;;;328:879:111;;;;;;;674:55:109;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;811:157:109;328:879:111;;688:101;328:879;;;;;;:::i;:::-;;;;;;;;782:17:109;328:879:111;:::i;:::-;863:95:109;1615:14:106;930:11:109;;943:13;;328:879:111;863:95:109;328:879:111;;863:95:109;;;;;;;;;;;;;;:::i;:::-;811:157;;:::i;:::-;;328:879:111;727:61;;;;;;;;;;;;;;:::i;:::-;688:101;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;328:879:111;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;328:879:111;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;328:879:111;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;328:879:111;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;328:879:111;;;3534:31:24;1809:204:82;;328:879:111;937:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;328:879:111;;;:::i;:::-;;;923:15;919:80;;328:879;1009:78;;328:879;;-1:-1:-1;;;1136:61:111;;;;;;;1097:101;;1136:61;328:879;1136:61;:::i;:::-;1615:14:106;1097:101:111;:::i;1009:78::-;328:879;;-1:-1:-1;;;1051:25:111;;;;;919:80;328:879;;-1:-1:-1;;;961:27:111;;;;;4148:103:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;966:10:28;328:879:111;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;328:879:111;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;328:879:111;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;328:879:111;;2854:17:106;328:879:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;;;2854:17:106;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;2854:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879: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;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;3901:31:23;328:879:111;7892:388:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;;8155:40:23;-1:-1:-1;;8155:40:23;328:879:111;8209:11:23;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;328:879:111;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;328:879:111;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;328:879:111;;-1:-1:-1;;;7191:17:26;;;;;328:879:111;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;328:879:111:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2673:4272:106;2802:37;2673:4272;2802:37;328:879:111;;;2802:37:106;;;;;;:::i;:::-;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;2854:31:106;2850:95;;2959:20;;;;;328:879:111;;;;;;;;;;;2959:25:106;2955:92;;3061:29;;;328:879:111;;3061:29:106;;328:879:111;3061:43:106;;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;3061:43:106;;3057:971;;2673:4272;4043:23;;;328:879:111;4042:24:106;328:879:111;;;;;;;;4042:24:106;;328:879:111;4042:24:106;:67;;;2673:4272;4038:132;;4200:28;;;;4185:9;2854:17;4237:3;4200:28;;328:879:111;;4196:39:106;;;;;4260:31;;;:45;:31;;:::i;:::-;328:879:111;-1:-1:-1;;;;;328:879:111;;;4260:45:106;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;4388:22:106;328:879:111;;;;;;;4388:55:106;328:879:111;;;;;4388:55:106;4384:120;;4541:28;4518:62;:55;4541:31;;328:879:111;4541:28:106;;;:31;:::i;4518:55::-;328:879:111;;-1:-1:-1;;328:879:111;4576:4:106;328:879:111;;;;4518:62:106;328:879:111;4185:9:106;;4384:120;328:879:111;;-1:-1:-1;;;4470:19:106;;;;;4256:114;328:879:111;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;;;;;;;4605:43;328:879:111;;;;;;;;;;;4605:43:106;;4601:697;;4180:411;5411:34;6015:42;328:879:111;5411:34:106;;5960:44;328:879:111;;5411:34:106;5343:468;6798:32;5411:34;5343:468;5411:34;328:879:111;5411:34:106;;328:879:111;5477:19:106;5343:468;5477:19;5343:468;5477:19;;;328:879:111;5532:23:106;5343:468;328:879:111;5532:23:106;;;328:879:111;;;;;;;;;;5601:33:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;5679:32:106;;;328:879:111;5679:32:106;;;328:879:111;;5760:36:106;;-1:-1:-1;;;;;328:879:111;5760:36:106;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;:::i;:::-;;;;2802:37:106;5343:468;;328:879:111;-1:-1:-1;;;;;328:879:111;;;5343:468:106;;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;4043:23:106;5343:468;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;5343:468:106;;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;5343:468:106;;;328:879:111;;5343:468:106;;:::i;:::-;328:879:111;;5832:30:106;;-1:-1:-1;;;;;328:879:111;2854:17:106;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;5832:30:106;2802:37;5882:13;;328:879:111;;;;-1:-1:-1;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;;;5906:44:106;819:34:73;837:15;819:34;:::i;:::-;4576:4:106;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;;-1:-1:-1;;;328:879:111;;;;;;;;5906:44:106;328:879:111;;;;;;4576:4:106;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;;;;;328:879:111;;;;;;;;5960:44:106;328:879:111;;;;;;;;;2854:17:106;328:879:111;;;;;;;2854:17:106;328:879:111;;6015:42:106;6068:38;328:879:111;5343:468:106;6085:21;;328:879:111;;;;;;;2854:17:106;328:879:111;;;;;;;;;;;;2854:17:106;328:879:111;;6068:38:106;6116:34;5343:468;6131:19;;328:879:111;6116:34:106;1991:1:30;;328:879:111;;;;6161:135:106;;4180:411;-1:-1:-1;6309:36:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6305:157:106;;4180:411;-1:-1:-1;6475:35:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6471:153:106;;4180:411;-1:-1:-1;6637:34:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6633:152:106;;4180:411;-1:-1:-1;6798:32:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;6794:145:106;;2673:4272;:::o;6794:145::-;6860:68;;;:::i;6633:152::-;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;328:879:111;4668:37:106;;-1:-1:-1;;;;;328:879:111;;;4668:37:106;:23;;4729:32;;;328:879:111;4729:46:106;;-1:-1:-1;;;;;328:879:111;;;4729:46:106;:32;;4803:36;;;328:879:111;4803:50:106;;-1:-1:-1;;;;;328:879:111;;;4803:50:106;;;:78;;;4725:396;4799:167;;4725:396;6015:42;328:879:111;;4725:396:106;;5960:44;328:879:111;;4725:396:106;5343:468;6798:32;4725:396;;4601:697;;;;;;;;;;;;;;;4799:167;328:879:111;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;328:879:111;4857:24:106;4803:78;;4725:396;4994:36;;;328:879:111;4994:50:106;;-1:-1:-1;;;;;328:879:111;;;4994:50:106;;4990:131;;4725:396;6015:42;328:879:111;;4725:396:106;;5960:44;328:879:111;;4725:396:106;5343:468;6798:32;4725:396;;;4664:624;5145:32;;;328:879:111;5145:46:106;;-1:-1:-1;;;;;328:879:111;;;5145:46:106;;:74;;;4664:624;5141:147;;4664:624;6015:42;328:879:111;;4664:624:106;;5960:44;328:879:111;;4664:624:106;5343:468;6798:32;4664:624;;;5145:74;5195:19;;;;328:879:111;5195:24:106;5145:74;;4038:132;328:879:111;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;328:879:111;4070:39:106;;4042:67;;3057:971;3124:36;;;328:879:111;3124:50:106;;-1:-1:-1;;;;;328:879:111;;;3124:50:106;;3120:419;;3057:971;3557:34;;;328:879:111;3557:48:106;;-1:-1:-1;;;;;328:879:111;;;3557:48:106;;3553:465;;3057:971;;;3553:465;3629:21;;;328:879:111;;3629:21:106;;3678:19;;;328:879:111;3678:24:106;:74;;;3625:379;3674:157;3057:971;3674:157;328:879:111;;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;328:879:111;3706:46:106;;-1:-1:-1;;;;;328:879:111;;;3706:46:106;;3678:74;;3625:379;3859:19;;;328:879:111;3859:24:106;;;:74;;;3625:379;3855:149;3553:465;3855:149;328:879:111;;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;328:879:111;3887:46:106;;-1:-1:-1;;;;;328:879:111;;;3887:46:106;;;3859:74;;3120:419;3198:23;;;328:879:111;;3198:23:106;;3249:35;;;328:879:111;3249:49:106;;-1:-1:-1;;;;;328:879:111;;;3249:49:106;3120:419;3245:132;328:879:111;;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;328:879:111;3405:49:106;;-1:-1:-1;;;;;328:879:111;;;3405:49:106;3401:124;3120:419;3401:124;328:879:111;;-1:-1:-1;;;3485:21:106;;;;;2955:92;328:879:111;;-1:-1:-1;;;3007:29:106;;;;;2850:95;328:879:111;;-1:-1:-1;;;2908:26:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;328:879:111;;5674:21:56;:17;;5799:158;;;;;;5670:354;328:879:111;;-1:-1:-1;;;5994:19:56;;;;;4589:408;328:879:111;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;328:879:111;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;328:879:111;;;4917:24:56;;;328:879:111;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;1642:1025:106;1783:1;328:879:111;;1746:38:106;1742:119;;1875:23;;;328:879:111;;-1:-1:-1;;;;;328:879:111;1875:23:106;;328:879:111;;1875:37:106;;:65;;1642:1025;1871:130;;328:879:111;2138:42:106;328:879:111;2507:36:106;328:879:111;2011:72:106;328:879:111;;;2011:72:106;1991:1:30;;2011:72:106;2094:34;2109:19;;;328:879:111;2094:34:106;1991:1:30;;328:879:111;;;;;;;;;;2138:42:106;328:879:111;;;2138:42:106;328:879:111;;2138:42:106;2195:33;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2191:148:106;;1642:1025;-1:-1:-1;2352:32:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2348:146:106;;-1:-1:-1;2507:36:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;2503:158:106;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;328:879:111;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;328:879:111;1916:24:106;;1875:65;;1742:119;328:879:111;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;328:879:111;14374:24:69;;;;14370:103;;328:879:111;14296:213:69;:::o;14370:103::-;328:879:111;;;;14421:41:69;;;;;;14452:2;14421:41;;;328:879:111;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":4788,"length":32},{"start":5187,"length":32},{"start":6660,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302\",\"dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"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\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba","urls":["bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302","dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"license":"MIT"}},"version":1},"id":111} \ No newline at end of file +{"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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"0x60c03461012357612758906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a052516126089081610150823960805181818161056601526106d1015260a0518181816112b4015281816114430152611a040152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036119fa57611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206125b383398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f80516020612593833981519152602052610758600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206125b38339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd611339565b91610cde604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f80516020612593833981519152602052610f5c600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806119c2565b61138c565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610cde855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b611080611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b0482610700565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b81610700565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220e2e40c5fea7c660987134ce03a18669809d88540198d2fea9470e672e3cdaa5764736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;328:879:111;;;;;;;;;7896:76:26;;328:879:111;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;328:879:111;;;;;;;927:17:82;328:879:111;;;;;;;;;;1445:31:106;328:879:111;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;328:879:111;;;;;;;;;;;;;8087:29:26;;328:879:111;;8087:29:26;7981:146;;;;;7896:76;328:879:111;;-1:-1:-1;;;7938:23:26;;;;;328:879:111;-1:-1:-1;328:879:111;;;;;;-1:-1:-1;328:879:111;;;;;-1:-1:-1;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036119fa57611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206125b383398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f80516020612593833981519152602052610758600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206125b38339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd611339565b91610cde604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f80516020612593833981519152602052610f5c600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806119c2565b61138c565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610cde855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b611080611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b0482610700565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b81610700565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220e2e40c5fea7c660987134ce03a18669809d88540198d2fea9470e672e3cdaa5764736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;2603:64:50;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;328:879: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;:::-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;328:879:111;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;328:879:111;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;;3653:32:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;757:38:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;612:37:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;2084:35:108;328:879:111;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;4919:24:23;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;328:879:111;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;328:879:111;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;;;;6431:44:26;;;;328:879:111;6427:105:26;;-1:-1:-1;;328:879:111;;;;;;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;-1:-1:-1;;;328:879:111;;;6656:20:26;;;;328:879:111;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;6450:25:26;;;6431:44;;1655:71:82;328:879:111;;-1:-1:-1;;;1703:12:82;;328:879:111;;1703:12:82;3666:88:30;328:879:111;;-1:-1:-1;;;3713:30:30;;328:879:111;;3713:30:30;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;655:32:82;-1:-1:-1;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;:::o;:::-;;;;;;-1:-1:-1;;328:879:111;;;;5350:25:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5350:25;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;;;1329:40:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;328:879:111;;6441:34:23;6437:102;;6549:37;328:879:111;;;6549:37:23;:::i;6437:102::-;328:879:111;;-1:-1:-1;;;6498:30:23;;328:879:111;;6498:30:23;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;4126:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2255:34:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;-1:-1:-1;;;;;;;;;;;;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;328:879:111;;;;;;734:29:82;730:87;;328:879:111;;;;;6431:44:26;;;;;328:879:111;6427:105:26;;;6656:20;328:879:111;6656:20:26;328:879:111;1167:340:82;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;328:879:111;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;328:879:111;;-1:-1:-1;;;786:20:82;;328:879:111;;786:20:82;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2718:59:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1041:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;1989:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1564:45:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2423:32:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;3975:40:24;328:879:111;;3975:40:24;328:879:111;;;;;;;-1:-1:-1;;328:879:111;;;;;;4027:43:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;328:879:111;2594:68:108;328:879:111;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3932:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3833:43:108;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3901:31:23;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;3901:31:23;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;328:879:111;;;;;;;;;;477:31:86;;328:879:111;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;328:879:111;518:79:86;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;900:35:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;2953:94:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;2953:94:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;2953:94:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3103:92:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;3103:92:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;4396:31:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2833:64:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2345:22:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1183:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3543:54:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2175:24:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3741:36:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;5767:26:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5767:26;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;466:39:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4221:36:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4313:27:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1466:3:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1286:6:106;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;2357:1:24;328:879:111;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;3437:50:108;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;477:31:86;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;5411:34:106;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;1167:340:82:-;;328:879:111;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;328:879:111;;1376:73:82;;1167:340;328:879:111;;;;:::i;:::-;;;674:55:109;;;;;;;328:879:111;;;;;;;674:55:109;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;811:157:109;328:879:111;;688:101;328:879;;;;;;:::i;:::-;;;;;;;;782:17:109;328:879:111;:::i;:::-;863:95:109;1615:14:106;930:11:109;;943:13;;328:879:111;863:95:109;328:879:111;;863:95:109;;;;;;;;;;;;;;:::i;:::-;811:157;;:::i;:::-;;328:879:111;727:61;;;;;;;;;;;;;;:::i;:::-;688:101;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;328:879:111;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;328:879:111;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;328:879:111;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;328:879:111;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;328:879:111;;;3534:31:24;1809:204:82;;328:879:111;937:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;328:879:111;;;:::i;:::-;;;923:15;919:80;;328:879;1009:78;;328:879;;-1:-1:-1;;;1136:61:111;;;;;;;1097:101;;1136:61;328:879;1136:61;:::i;:::-;1615:14:106;1097:101:111;:::i;1009:78::-;328:879;;-1:-1:-1;;;1051:25:111;;;;;919:80;328:879;;-1:-1:-1;;;961:27:111;;;;;4148:103:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;966:10:28;328:879:111;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;328:879:111;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;328:879:111;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;328:879:111;;2854:17:106;328:879:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;;;2854:17:106;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;2854:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879: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;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;3901:31:23;328:879:111;7892:388:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;;8155:40:23;-1:-1:-1;;8155:40:23;328:879:111;8209:11:23;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;328:879:111;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;328:879:111;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;328:879:111;;-1:-1:-1;;;7191:17:26;;;;;328:879:111;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;328:879:111:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2673:4272:106;2802:37;2673:4272;2802:37;328:879:111;;;2802:37:106;;;;;;:::i;:::-;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;2854:31:106;2850:95;;2959:20;;;;;328:879:111;;;;;;;;;;;2959:25:106;2955:92;;3061:29;;;328:879:111;;3061:29:106;;328:879:111;3061:43:106;;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;3061:43:106;;3057:971;;2673:4272;4043:23;;;328:879:111;4042:24:106;328:879:111;;;;;;;;4042:24:106;;328:879:111;4042:24:106;:67;;;2673:4272;4038:132;;4200:28;;;;4185:9;2854:17;4237:3;4200:28;;328:879:111;;4196:39:106;;;;;4260:31;;;:45;:31;;:::i;:::-;328:879:111;-1:-1:-1;;;;;328:879:111;;;4260:45:106;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;4388:22:106;328:879:111;;;;;;;4388:55:106;328:879:111;;;;;4388:55:106;4384:120;;4541:28;4518:62;:55;4541:31;;328:879:111;4541:28:106;;;:31;:::i;4518:55::-;328:879:111;;-1:-1:-1;;328:879:111;4576:4:106;328:879:111;;;;4518:62:106;328:879:111;4185:9:106;;4384:120;328:879:111;;-1:-1:-1;;;4470:19:106;;;;;4256:114;328:879:111;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;;;;;;;4605:43;328:879:111;;;;;;;;;;;4605:43:106;;4601:697;;4180:411;5411:34;6015:42;328:879:111;5411:34:106;;5960:44;328:879:111;;5411:34:106;5343:468;6798:32;5411:34;5343:468;5411:34;328:879:111;5411:34:106;;328:879:111;5477:19:106;5343:468;5477:19;5343:468;5477:19;;;328:879:111;5532:23:106;5343:468;328:879:111;5532:23:106;;;328:879:111;;;;;;;;;;5601:33:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;5679:32:106;;;328:879:111;5679:32:106;;;328:879:111;;5760:36:106;;-1:-1:-1;;;;;328:879:111;5760:36:106;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;:::i;:::-;;;;2802:37:106;5343:468;;328:879:111;-1:-1:-1;;;;;328:879:111;;;5343:468:106;;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;4043:23:106;5343:468;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;5343:468:106;;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;5343:468:106;;;328:879:111;;5343:468:106;;:::i;:::-;328:879:111;;5832:30:106;;-1:-1:-1;;;;;328:879:111;2854:17:106;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;5832:30:106;2802:37;5882:13;;328:879:111;;;;-1:-1:-1;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;;;5906:44:106;819:34:73;837:15;819:34;:::i;:::-;4576:4:106;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;;-1:-1:-1;;;328:879:111;;;;;;;;5906:44:106;328:879:111;;;;;;4576:4:106;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;;;;;328:879:111;;;;;;;;5960:44:106;328:879:111;;;;;;;;;2854:17:106;328:879:111;;;;;;;2854:17:106;328:879:111;;6015:42:106;6068:38;328:879:111;5343:468:106;6085:21;;328:879:111;;;;;;;2854:17:106;328:879:111;;;;;;;;;;;;2854:17:106;328:879:111;;6068:38:106;6116:34;5343:468;6131:19;;328:879:111;6116:34:106;1991:1:30;;328:879:111;;;;6161:135:106;;4180:411;-1:-1:-1;6309:36:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6305:157:106;;4180:411;-1:-1:-1;6475:35:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6471:153:106;;4180:411;-1:-1:-1;6637:34:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6633:152:106;;4180:411;-1:-1:-1;6798:32:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;6794:145:106;;2673:4272;:::o;6794:145::-;6860:68;;;:::i;6633:152::-;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;328:879:111;4668:37:106;;-1:-1:-1;;;;;328:879:111;;;4668:37:106;:23;;4729:32;;;328:879:111;4729:46:106;;-1:-1:-1;;;;;328:879:111;;;4729:46:106;:32;;4803:36;;;328:879:111;4803:50:106;;-1:-1:-1;;;;;328:879:111;;;4803:50:106;;;:78;;;4725:396;4799:167;;4725:396;6015:42;328:879:111;;4725:396:106;;5960:44;328:879:111;;4725:396:106;5343:468;6798:32;4725:396;;4601:697;;;;;;;;;;;;;;;4799:167;328:879:111;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;328:879:111;4857:24:106;4803:78;;4725:396;4994:36;;;328:879:111;4994:50:106;;-1:-1:-1;;;;;328:879:111;;;4994:50:106;;4990:131;;4725:396;6015:42;328:879:111;;4725:396:106;;5960:44;328:879:111;;4725:396:106;5343:468;6798:32;4725:396;;;4664:624;5145:32;;;328:879:111;5145:46:106;;-1:-1:-1;;;;;328:879:111;;;5145:46:106;;:74;;;4664:624;5141:147;;4664:624;6015:42;328:879:111;;4664:624:106;;5960:44;328:879:111;;4664:624:106;5343:468;6798:32;4664:624;;;5145:74;5195:19;;;;328:879:111;5195:24:106;5145:74;;4038:132;328:879:111;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;328:879:111;4070:39:106;;4042:67;;3057:971;3124:36;;;328:879:111;3124:50:106;;-1:-1:-1;;;;;328:879:111;;;3124:50:106;;3120:419;;3057:971;3557:34;;;328:879:111;3557:48:106;;-1:-1:-1;;;;;328:879:111;;;3557:48:106;;3553:465;;3057:971;;;3553:465;3629:21;;;328:879:111;;3629:21:106;;3678:19;;;328:879:111;3678:24:106;:74;;;3625:379;3674:157;3057:971;3674:157;328:879:111;;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;328:879:111;3706:46:106;;-1:-1:-1;;;;;328:879:111;;;3706:46:106;;3678:74;;3625:379;3859:19;;;328:879:111;3859:24:106;;;:74;;;3625:379;3855:149;3553:465;3855:149;328:879:111;;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;328:879:111;3887:46:106;;-1:-1:-1;;;;;328:879:111;;;3887:46:106;;;3859:74;;3120:419;3198:23;;;328:879:111;;3198:23:106;;3249:35;;;328:879:111;3249:49:106;;-1:-1:-1;;;;;328:879:111;;;3249:49:106;3120:419;3245:132;328:879:111;;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;328:879:111;3405:49:106;;-1:-1:-1;;;;;328:879:111;;;3405:49:106;3401:124;3120:419;3401:124;328:879:111;;-1:-1:-1;;;3485:21:106;;;;;2955:92;328:879:111;;-1:-1:-1;;;3007:29:106;;;;;2850:95;328:879:111;;-1:-1:-1;;;2908:26:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;328:879:111;;5674:21:56;:17;;5799:158;;;;;;5670:354;328:879:111;;-1:-1:-1;;;5994:19:56;;;;;4589:408;328:879:111;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;328:879:111;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;328:879:111;;;4917:24:56;;;328:879:111;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;1642:1025:106;1783:1;328:879:111;;1746:38:106;1742:119;;1875:23;;;328:879:111;;-1:-1:-1;;;;;328:879:111;1875:23:106;;328:879:111;;1875:37:106;;:65;;1642:1025;1871:130;;328:879:111;2138:42:106;328:879:111;2507:36:106;328:879:111;2011:72:106;328:879:111;;;2011:72:106;1991:1:30;;2011:72:106;2094:34;2109:19;;;328:879:111;2094:34:106;1991:1:30;;328:879:111;;;;;;;;;;2138:42:106;328:879:111;;;2138:42:106;328:879:111;;2138:42:106;2195:33;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2191:148:106;;1642:1025;-1:-1:-1;2352:32:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2348:146:106;;-1:-1:-1;2507:36:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;2503:158:106;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;328:879:111;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;328:879:111;1916:24:106;;1875:65;;1742:119;328:879:111;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;328:879:111;14374:24:69;;;;14370:103;;328:879:111;14296:213:69;:::o;14370:103::-;328:879:111;;;;14421:41:69;;;;;;14452:2;14421:41;;;328:879:111;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":4788,"length":32},{"start":5187,"length":32},{"start":6660,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302\",\"dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba","urls":["bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302","dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"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 af62980..e191dc5 100644 --- a/out/VaultVotesImplementation.sol/VaultVotesImplementation.json +++ b/out/VaultVotesImplementation.sol/VaultVotesImplementation.json @@ -1 +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":"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":"_VaultVotes_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","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":"result","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":"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":"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":"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":"InvalidOrigin","inputs":[]},{"type":"error","name":"NotInitializing","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":"0x60a034606d57601f61271438819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161268e908161008682396080518181816104a40152611cd20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220a20804a683abeed55004ec1348c20991bc7e5942b78ed5866d0e3fb4da230d8964736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;1403:40;;1065:3768;;;;;;;;1403:40;1065:3768;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;1065:3768:112","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220a20804a683abeed55004ec1348c20991bc7e5942b78ed5866d0e3fb4da230d8964736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;2603:64:50;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;1065:3768: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;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;3653:32:108;1065:3768:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;757:38:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;612:37:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2084:35:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;3540:6;3393:48;3328:156;3352:90;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;3393:48;;;-1:-1:-1;;;;;1065:3768:112;;;;3393:48;;;1065:3768;;;;;;;;;;;;;;;;3393:48;;;;;;;;;;:::i;:::-;3352:19;:90;:::i;:::-;1065:3768;;;;3328:156;;;;;;:::i;:::-;3516:10;;;;3540:6;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;4133:5;1065:3768;;:::i;:::-;;;;3953:138;3977:96;1065:3768;;4018:54;;;1065:3768;4018:54;;;1065:3768;;;;;;;;;4018:54;;1065:3768;;;;;;;;;;;;;4018:54;;;;;:::i;3977:96::-;1065:3768;;;;3953:138;;;;;;:::i;:::-;4133:5;;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1329:40:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;837:15:73;819:34;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;1065:3768:112;;9737:15:71;-1:-1:-1;9762:18:71;;9801:1;9795:7;;9791:234;;1065:3768:112;10049:53:71;;;;;;:::i;:::-;10120:63;:8;;;:63;;1065:3768:112;-1:-1:-1;10120:63:71;1065:3768:112;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;10120:63:71;10168:7;1065:3768:112;10168:7:71;;:::i;:::-;14439:109;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;1065:3768:112;;;10120:63:71;;9791:234;9838:14;;;;;:::i;:::-;1065:3768:112;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;1065:3768:112;;:::i;5073:115:25:-;1065:3768:112;;-1:-1:-1;;;5129:48:25;;1065:3768:112;5129:48:25;;1065:3768:112;;;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2489:52;;;-1:-1:-1;;;;;1065:3768:112;;;2489:52;;;1065:3768;;;;;;;;;2424:160;;2448:94;;2489:52;1065:3768;;;;2489:52;1065:3768;2424:160;1065:3768;-1:-1:-1;;;;;2599:22:112;;:::i;:::-;:42;2595:100;;2750:12;;;;:::i;2595:100::-;1065:3768;;-1:-1:-1;;;2664:20:112;;1065:3768;;2664:20;1065:3768;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;-1:-1:-1;;1065:3768:112;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1065:3768:112;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;1065:3768:112;2806:64:31;1065:3768:112;;3875:17:31;3902:20;1065:3768:112;3902:16:31;1065:3768:112;;3902:20:31;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;3393:48;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;4126:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2255:34:108;1065:3768:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;1065:3768:112;;;:::i;:::-;;-1:-1:-1;1065:3768:112;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;7028:9:25;1065:3768:112;;:::i;:::-;966:10:28;7028:9:25;:::i;1065:3768:112:-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2718:59:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1041:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;1989:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1564:45:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2423:32:108;1065:3768:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;4027:43:108;1065:3768:112;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;5204:22:25;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;2594:68:108;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3932:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;972:64:29;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2806:64:31;1065:3768:112;5777:18:31;:43;;;1065:3768:112;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;1065:3768:112;6043:16:31;;:::i;:::-;1065:3768:112;;6000:4:31;;;;5965:13;;1065:3768:112;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;5777:43:31;1065:3768:112;5799:16:31;1065:3768:112;5799:21:31;5777:43;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3833:43:108;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;2039:29;;;2035:115;;7117:34:94;2198:28:112;;;:::i;:::-;7117:34:94;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;7168:7:94;1065:3768:112;;7178:17:94;1065:3768:112;7178:17:94;;:::i;:::-;1065:3768:112;;;;;;7168:31:94;1065:3768:112;;;;;;;;;;;;;7168:31:94;;1065:3768:112;-1:-1:-1;7168:31:94;;2035:115:112;1065:3768;;-1:-1:-1;;;2091:48:112;;1065:3768;2091:48;;1065:3768;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;4439:40:25;:31;1065:3768:112;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;1065:3768:112;;;;;;;;;;477:31:86;;1065:3768:112;;;;;;;;;;;:::i;477:31:86:-;518:79;;;1065:3768:112;518:79:86;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;900:35:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2953:94:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;2953:94:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;2953:94:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3103:92:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;3103:92:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;3103:92:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;4396:31:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;;;-1:-1:-1;;;3719:44:112;;;;-1:-1:-1;;;;;1065:3768:112;;;3719:44;;;1065:3768;;;;;;;;;;;3821:5;;3667:106;;3678:86;;3719:44;1065:3768;;;;3719:44;1065:3768;3678:86;1065:3768;;;;3667:106;;;;;;:::i;:::-;3805:10;;3821:5;:::i;:::-;1065:3768;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2833:64:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2345:22:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1183:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3543:54:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;7310:15:25;;:24;7306:91;;7423:168;7660:9;1065:3768:112;7626:5:25;1065:3768:112;;;7477:57:25;1065:3768:112;7477:57:25;;1065:3768:112;2345:71:25;1065:3768:112;;;;;;;;;;2345:71:25;;1065:3768:112;2345:71:25;1065:3768:112;2345:71:25;;1065:3768:112;;2345:71:25;;1065:3768:112;;7477:57:25;;;;;:::i;:::-;7450:86;1065:3768:112;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;1065:3768:112;;-1:-1:-1;;;7357:29:25;;1065:3768:112;7357:29:25;;1065:3768:112;;;;;7357:29:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;2175:24:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3741:36:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;466:39:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4221:36:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4313:27:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1466:3:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2930:158;2954:92;2995:50;;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2995:50;;;-1:-1:-1;;;;;1065:3768:112;;;;2995:50;;;1065:3768;;;;;;;;;;;;;;;;;2930:158;3120:10;3144:12;3120:10;;3144:12;:::i;1065:3768::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;3437:50:108;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;3393:48;;1065:3768;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;3393:48;1065:3768;;-1:-1:-1;;1065:3768:112;;;;;:::i;:::-;;;;-1:-1:-1;1065:3768:112;;;;:::o;:::-;;;:::o;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;:::-;3900:253;:::o;4204:165:112:-;-1:-1:-1;;;;;1065:3768:112;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;14296:213:69:-;1065:3768:112;14374:24:69;;;;14370:103;;1065:3768:112;14296:213:69;:::o;14370:103::-;1065:3768:112;;;;14421:41:69;;;;;;14452:2;14421:41;;;1065:3768:112;;;;;14421:41:69;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;:::o;:::-;;9999:1:71;1065:3768:112;;;;;;;:::o;9584:606:71:-;2166:13:112;;1065:3768;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;:::-;2166:13:112;9702:17:71;14439:109;;;1065:3768:112;;;9584:606:71;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;9702:17;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;1065:3768:112;;;;;;;2166:13;9702:17:71;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;1065:3768:112;;;;;;;;;;;;;7178:12:94;1065:3768:112;;;;;;7178:12:94;-1:-1:-1;1065:3768:112;;;;-1:-1:-1;1065:3768:112;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;1065:3768:112;:::o;10580:184:94:-;2599:13:112;1065:3768;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;1065:3768:112;;;;;;10736:12:94;-1:-1:-1;1065:3768:112;;;;10580:184:94;:::o;10726:31::-;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1065:3768:112;;;;;;;;2599:13;-1:-1:-1;14439:109:71;;;1065:3768:112;;;10446:63:71;;7855:367:25;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;-1:-1:-1;;;;;;1065:3768:112;;;;;;;8190:24:25;;1065:3768:112;;;;;;;;;8089:48:25;;-1:-1:-1;8089:48:25;4541:15:112;1065:3768;;;-1:-1:-1;1065:3768:112;10689:20:94;;;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;:17;:12;;:17;:::i;:::-;1065:3768:112;;;;;;10726:31:94;8190:24:25;:::i;10726:31:94:-;;;-1:-1:-1;10726:31:94;8190:24:25;:::i;1065:3768:112:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;10310:206:71;1065:3768:112;;10446:8:71;;;:63;;10405:17;10310:206;:::o;10446:63::-;1065:3768:112;;;;;;;;;;10405:17:71;14439:109;;10405:17;14439:109;;;1065:3768:112;;;10310:206:71;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;1065:3768:112;;;4221:92:31;;;;1065:3768:112;2073:95:31;1065:3768:112;;;2073:95:31;;1065:3768:112;2073:95:31;;;1065:3768:112;4284:13:31;2073:95;;;1065:3768:112;4307:4:31;2073:95;;;1065:3768:112;2073:95:31;4221:92;;2073:95;1065:3768:112;;;;;;;;;;;;3445:249:65;1065:3768:112;3445:249:65;1065:3768: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;;;;;1065:3768:112;;-1:-1:-1;1065:3768:112;;;972:64:29;1065:3768:112;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;1065:3768:112;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;1065:3768:112;;;;2270:35:29;;;1065:3768:112;;;;;;;;;;5129:48:25;2323:83:50;1019:819;;;;;;;4713:19:112;;1019:819:50;;;;;;;;;;;;;;;;4421:582:56;;4593:8;;-1:-1:-1;1065:3768:112;;5674:21:56;:17;;5799:158;;;;;;5670:354;1065:3768:112;;-1:-1:-1;;;5994:19:56;;;;;4589:408;1065:3768:112;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1065:3768:112;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;1065:3768:112;;;4917:24:56;;;1065:3768:112;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;8998:846:25;-1:-1:-1;;;;;1065:3768:112;;;;8998:846:25;;1065:3768: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;:::-;1065:3768:112;;;-1:-1:-1;;;;;1065:3768: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;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;;;9448:46:25;8310:38:71;9448:46:25;8310:38:71;;;;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;1065:3768: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;1065:3768:112;18246:1:68;1065:3768:112;22284:6:68;;;;:::i;:::-;1065:3768: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;;;1065:3768:112;23216:28:68;1065:3768:112;;18080:5181:68;:::o;19887:61::-;18246:1;1065:3768:112;19887:61:68;;19787:87;1065:3768:112;;;;;19787:87:68;;;19687;1065:3768:112;;;;;19687:87:68;;;19585:89;1065:3768:112;;;;;19585:89:68;;;19482:90;1065:3768:112;;;;;19482:90:68;;;19379;1065:3768:112;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1065:3768:112;-1:-1:-1;1065:3768:112;;;;19274:92:68;;12929:433:71;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1065:3768:112;14439:109:71;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;7084:141:26;1065:3768:112;8837:64:26;1065:3768:112;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;1065:3768:112;;-1:-1:-1;;;7191:17:26;;;;;1065:3768:112;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;3393:48;;;1065:3768;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:1551:63;;;6283:66;6270:79;;6266:164;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;6541:24:63;;;;;;;;;-1:-1:-1;6541:24:63;-1:-1:-1;;;;;1065:3768: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;6541:24::-;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;6266:164:63;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;1065:3768:112:-;;-1:-1:-1;1065:3768:112;;;:::o;:::-;;;;;;;;;;;;7280:532:63;1065:3768:112;;;:::i;:::-;7366:29:63;;;7411:7;;:::o;7362:444::-;1065:3768:112;;;:::i;:::-;7471:29:63;7462:38;;7471:29;;1065:3768:112;;-1:-1:-1;;;7523:23:63;;;;;7458:348;1065:3768:112;;;:::i;:::-;7576:35:63;7567:44;;7576:35;;1065:3768:112;;-1:-1:-1;;;7634:46:63;;;;;1065:3768:112;;;;;5129:48:25;7563:243:63;1065:3768:112;;7710:30:63;1065:3768:112;;:::i;:::-;7701:39:63;7697:109;;7563:243;7280:532::o;7697:109::-;1065:3768:112;;-1:-1:-1;;;7763:32:63;;;;;1065:3768:112;;;;;;5129:48:25;4174:218:69;-1:-1:-1;;;;;1065:3768:112;4254:25:69;;;4250:105;;1065:3768:112;4174:218:69;:::o;4250:105::-;1065:3768:112;;;;14421:41:69;;;;4302:42;;4333:3;4302:42;;;1065:3768:112;;;;;4302:42:69;10473:273:25;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;8310:38:71;;;:::i;:::-;10686:53:25;;10473:273::o;7058:687:31:-;1065:3768:112;;:::i;:::-;;;;7230:22:31;;;;1065:3768:112;;7275:22:31;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;1065:3768:112;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;1065:3768:112;;:::i;:::-;;;;8147:25:31;;;;1065:3768:112;;8195:25:31;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;1065:3768:112;8541:18:31;;;;8579:20;:::o;1065:3768:112:-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;1065:3768:112;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1065:3768:112;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1065:3768:112;;;;;;;;;;;;;;;;;12285:19:71;1065:3768:112;;12423:25:71;;:::o;12247:163::-;1065:3768:112;;;12343:52:71;1065:3768:112;12353:41:71;1065:3768:112;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1065:3768:112;;12353:41:71;;;1065:3768:112;12343:52:71;:::i;:::-;12247:163;;12099:89;1065:3768:112;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1065:3768:112;;12479:52:71;1065:3768:112;12489:41:71;1065:3768:112;;:::i;12489:41:71:-;-1:-1:-1;;;;;1065:3768:112;;12489:41:71;;;1065:3768:112;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72797":[{"start":1188,"length":32},{"start":7378,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultVotes_init()":"4f4e823d","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nonces(address)":"7ecebe00","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","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\":\"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\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":\"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\"},{\"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\":\"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\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[{\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"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\":\"result\",\"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.\"}],\"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.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"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.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"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.\"},\"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\"}}},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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/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/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/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/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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"InvalidOrigin"},{"inputs":[],"type":"error","name":"NotInitializing"},{"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":"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":[],"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":"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":"nonpayable","type":"function","name":"_VaultVotes_init"},{"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":[{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"result","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":"result","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"},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"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."},"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"}}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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/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/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/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/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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file +{"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":"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":"_VaultVotes_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","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":"result","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":"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":"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":"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":"InvalidOrigin","inputs":[]},{"type":"error","name":"NotInitializing","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":"0x60a034606d57601f61271438819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161268e908161008682396080518181816104a40152611cd20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a26469706673582212206734c4c1fdd0989c2a34430ef234ff4946fa33b50b5352ebad8641461751488464736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;1403:40;;1065:3768;;;;;;;;1403:40;1065:3768;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;1065:3768:112","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a26469706673582212206734c4c1fdd0989c2a34430ef234ff4946fa33b50b5352ebad8641461751488464736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;2603:64:50;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;1065:3768: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;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;3653:32:108;1065:3768:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;757:38:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;612:37:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2084:35:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;3540:6;3393:48;3328:156;3352:90;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;3393:48;;;-1:-1:-1;;;;;1065:3768:112;;;;3393:48;;;1065:3768;;;;;;;;;;;;;;;;3393:48;;;;;;;;;;:::i;:::-;3352:19;:90;:::i;:::-;1065:3768;;;;3328:156;;;;;;:::i;:::-;3516:10;;;;3540:6;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;4133:5;1065:3768;;:::i;:::-;;;;3953:138;3977:96;1065:3768;;4018:54;;;1065:3768;4018:54;;;1065:3768;;;;;;;;;4018:54;;1065:3768;;;;;;;;;;;;;4018:54;;;;;:::i;3977:96::-;1065:3768;;;;3953:138;;;;;;:::i;:::-;4133:5;;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1329:40:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;837:15:73;819:34;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;1065:3768:112;;9737:15:71;-1:-1:-1;9762:18:71;;9801:1;9795:7;;9791:234;;1065:3768:112;10049:53:71;;;;;;:::i;:::-;10120:63;:8;;;:63;;1065:3768:112;-1:-1:-1;10120:63:71;1065:3768:112;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;10120:63:71;10168:7;1065:3768:112;10168:7:71;;:::i;:::-;14439:109;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;1065:3768:112;;;10120:63:71;;9791:234;9838:14;;;;;:::i;:::-;1065:3768:112;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;1065:3768:112;;:::i;5073:115:25:-;1065:3768:112;;-1:-1:-1;;;5129:48:25;;1065:3768:112;5129:48:25;;1065:3768:112;;;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2489:52;;;-1:-1:-1;;;;;1065:3768:112;;;2489:52;;;1065:3768;;;;;;;;;2424:160;;2448:94;;2489:52;1065:3768;;;;2489:52;1065:3768;2424:160;1065:3768;-1:-1:-1;;;;;2599:22:112;;:::i;:::-;:42;2595:100;;2750:12;;;;:::i;2595:100::-;1065:3768;;-1:-1:-1;;;2664:20:112;;1065:3768;;2664:20;1065:3768;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;-1:-1:-1;;1065:3768:112;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1065:3768:112;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;1065:3768:112;2806:64:31;1065:3768:112;;3875:17:31;3902:20;1065:3768:112;3902:16:31;1065:3768:112;;3902:20:31;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;3393:48;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;4126:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2255:34:108;1065:3768:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;1065:3768:112;;;:::i;:::-;;-1:-1:-1;1065:3768:112;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;7028:9:25;1065:3768:112;;:::i;:::-;966:10:28;7028:9:25;:::i;1065:3768:112:-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2718:59:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1041:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;1989:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1564:45:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2423:32:108;1065:3768:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;4027:43:108;1065:3768:112;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;5204:22:25;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;2594:68:108;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3932:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;972:64:29;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2806:64:31;1065:3768:112;5777:18:31;:43;;;1065:3768:112;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;1065:3768:112;6043:16:31;;:::i;:::-;1065:3768:112;;6000:4:31;;;;5965:13;;1065:3768:112;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;5777:43:31;1065:3768:112;5799:16:31;1065:3768:112;5799:21:31;5777:43;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3833:43:108;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;2039:29;;;2035:115;;7117:34:94;2198:28:112;;;:::i;:::-;7117:34:94;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;7168:7:94;1065:3768:112;;7178:17:94;1065:3768:112;7178:17:94;;:::i;:::-;1065:3768:112;;;;;;7168:31:94;1065:3768:112;;;;;;;;;;;;;7168:31:94;;1065:3768:112;-1:-1:-1;7168:31:94;;2035:115:112;1065:3768;;-1:-1:-1;;;2091:48:112;;1065:3768;2091:48;;1065:3768;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;4439:40:25;:31;1065:3768:112;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;1065:3768:112;;;;;;;;;;477:31:86;;1065:3768:112;;;;;;;;;;;:::i;477:31:86:-;518:79;;;1065:3768:112;518:79:86;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;900:35:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2953:94:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;2953:94:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;2953:94:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3103:92:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;3103:92:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;3103:92:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;4396:31:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;;;-1:-1:-1;;;3719:44:112;;;;-1:-1:-1;;;;;1065:3768:112;;;3719:44;;;1065:3768;;;;;;;;;;;3821:5;;3667:106;;3678:86;;3719:44;1065:3768;;;;3719:44;1065:3768;3678:86;1065:3768;;;;3667:106;;;;;;:::i;:::-;3805:10;;3821:5;:::i;:::-;1065:3768;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2833:64:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2345:22:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1183:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3543:54:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;7310:15:25;;:24;7306:91;;7423:168;7660:9;1065:3768:112;7626:5:25;1065:3768:112;;;7477:57:25;1065:3768:112;7477:57:25;;1065:3768:112;2345:71:25;1065:3768:112;;;;;;;;;;2345:71:25;;1065:3768:112;2345:71:25;1065:3768:112;2345:71:25;;1065:3768:112;;2345:71:25;;1065:3768:112;;7477:57:25;;;;;:::i;:::-;7450:86;1065:3768:112;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;1065:3768:112;;-1:-1:-1;;;7357:29:25;;1065:3768:112;7357:29:25;;1065:3768:112;;;;;7357:29:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;2175:24:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3741:36:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;466:39:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4221:36:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4313:27:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1466:3:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2930:158;2954:92;2995:50;;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2995:50;;;-1:-1:-1;;;;;1065:3768:112;;;;2995:50;;;1065:3768;;;;;;;;;;;;;;;;;2930:158;3120:10;3144:12;3120:10;;3144:12;:::i;1065:3768::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;3437:50:108;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;3393:48;;1065:3768;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;3393:48;1065:3768;;-1:-1:-1;;1065:3768:112;;;;;:::i;:::-;;;;-1:-1:-1;1065:3768:112;;;;:::o;:::-;;;:::o;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;:::-;3900:253;:::o;4204:165:112:-;-1:-1:-1;;;;;1065:3768:112;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;14296:213:69:-;1065:3768:112;14374:24:69;;;;14370:103;;1065:3768:112;14296:213:69;:::o;14370:103::-;1065:3768:112;;;;14421:41:69;;;;;;14452:2;14421:41;;;1065:3768:112;;;;;14421:41:69;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;:::o;:::-;;9999:1:71;1065:3768:112;;;;;;;:::o;9584:606:71:-;2166:13:112;;1065:3768;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;:::-;2166:13:112;9702:17:71;14439:109;;;1065:3768:112;;;9584:606:71;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;9702:17;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;1065:3768:112;;;;;;;2166:13;9702:17:71;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;1065:3768:112;;;;;;;;;;;;;7178:12:94;1065:3768:112;;;;;;7178:12:94;-1:-1:-1;1065:3768:112;;;;-1:-1:-1;1065:3768:112;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;1065:3768:112;:::o;10580:184:94:-;2599:13:112;1065:3768;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;1065:3768:112;;;;;;10736:12:94;-1:-1:-1;1065:3768:112;;;;10580:184:94;:::o;10726:31::-;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1065:3768:112;;;;;;;;2599:13;-1:-1:-1;14439:109:71;;;1065:3768:112;;;10446:63:71;;7855:367:25;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;-1:-1:-1;;;;;;1065:3768:112;;;;;;;8190:24:25;;1065:3768:112;;;;;;;;;8089:48:25;;-1:-1:-1;8089:48:25;4541:15:112;1065:3768;;;-1:-1:-1;1065:3768:112;10689:20:94;;;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;:17;:12;;:17;:::i;:::-;1065:3768:112;;;;;;10726:31:94;8190:24:25;:::i;10726:31:94:-;;;-1:-1:-1;10726:31:94;8190:24:25;:::i;1065:3768:112:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;10310:206:71;1065:3768:112;;10446:8:71;;;:63;;10405:17;10310:206;:::o;10446:63::-;1065:3768:112;;;;;;;;;;10405:17:71;14439:109;;10405:17;14439:109;;;1065:3768:112;;;10310:206:71;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;1065:3768:112;;;4221:92:31;;;;1065:3768:112;2073:95:31;1065:3768:112;;;2073:95:31;;1065:3768:112;2073:95:31;;;1065:3768:112;4284:13:31;2073:95;;;1065:3768:112;4307:4:31;2073:95;;;1065:3768:112;2073:95:31;4221:92;;2073:95;1065:3768:112;;;;;;;;;;;;3445:249:65;1065:3768:112;3445:249:65;1065:3768: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;;;;;1065:3768:112;;-1:-1:-1;1065:3768:112;;;972:64:29;1065:3768:112;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;1065:3768:112;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;1065:3768:112;;;;2270:35:29;;;1065:3768:112;;;;;;;;;;5129:48:25;2323:83:50;1019:819;;;;;;;4713:19:112;;1019:819:50;;;;;;;;;;;;;;;;4421:582:56;;4593:8;;-1:-1:-1;1065:3768:112;;5674:21:56;:17;;5799:158;;;;;;5670:354;1065:3768:112;;-1:-1:-1;;;5994:19:56;;;;;4589:408;1065:3768:112;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1065:3768:112;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;1065:3768:112;;;4917:24:56;;;1065:3768:112;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;8998:846:25;-1:-1:-1;;;;;1065:3768:112;;;;8998:846:25;;1065:3768: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;:::-;1065:3768:112;;;-1:-1:-1;;;;;1065:3768: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;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;;;9448:46:25;8310:38:71;9448:46:25;8310:38:71;;;;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;1065:3768: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;1065:3768:112;18246:1:68;1065:3768:112;22284:6:68;;;;:::i;:::-;1065:3768: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;;;1065:3768:112;23216:28:68;1065:3768:112;;18080:5181:68;:::o;19887:61::-;18246:1;1065:3768:112;19887:61:68;;19787:87;1065:3768:112;;;;;19787:87:68;;;19687;1065:3768:112;;;;;19687:87:68;;;19585:89;1065:3768:112;;;;;19585:89:68;;;19482:90;1065:3768:112;;;;;19482:90:68;;;19379;1065:3768:112;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1065:3768:112;-1:-1:-1;1065:3768:112;;;;19274:92:68;;12929:433:71;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1065:3768:112;14439:109:71;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;7084:141:26;1065:3768:112;8837:64:26;1065:3768:112;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;1065:3768:112;;-1:-1:-1;;;7191:17:26;;;;;1065:3768:112;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;3393:48;;;1065:3768;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:1551:63;;;6283:66;6270:79;;6266:164;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;6541:24:63;;;;;;;;;-1:-1:-1;6541:24:63;-1:-1:-1;;;;;1065:3768: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;6541:24::-;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;6266:164:63;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;1065:3768:112:-;;-1:-1:-1;1065:3768:112;;;:::o;:::-;;;;;;;;;;;;7280:532:63;1065:3768:112;;;:::i;:::-;7366:29:63;;;7411:7;;:::o;7362:444::-;1065:3768:112;;;:::i;:::-;7471:29:63;7462:38;;7471:29;;1065:3768:112;;-1:-1:-1;;;7523:23:63;;;;;7458:348;1065:3768:112;;;:::i;:::-;7576:35:63;7567:44;;7576:35;;1065:3768:112;;-1:-1:-1;;;7634:46:63;;;;;1065:3768:112;;;;;5129:48:25;7563:243:63;1065:3768:112;;7710:30:63;1065:3768:112;;:::i;:::-;7701:39:63;7697:109;;7563:243;7280:532::o;7697:109::-;1065:3768:112;;-1:-1:-1;;;7763:32:63;;;;;1065:3768:112;;;;;;5129:48:25;4174:218:69;-1:-1:-1;;;;;1065:3768:112;4254:25:69;;;4250:105;;1065:3768:112;4174:218:69;:::o;4250:105::-;1065:3768:112;;;;14421:41:69;;;;4302:42;;4333:3;4302:42;;;1065:3768:112;;;;;4302:42:69;10473:273:25;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;8310:38:71;;;:::i;:::-;10686:53:25;;10473:273::o;7058:687:31:-;1065:3768:112;;:::i;:::-;;;;7230:22:31;;;;1065:3768:112;;7275:22:31;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;1065:3768:112;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;1065:3768:112;;:::i;:::-;;;;8147:25:31;;;;1065:3768:112;;8195:25:31;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;1065:3768:112;8541:18:31;;;;8579:20;:::o;1065:3768:112:-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;1065:3768:112;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1065:3768:112;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1065:3768:112;;;;;;;;;;;;;;;;;12285:19:71;1065:3768:112;;12423:25:71;;:::o;12247:163::-;1065:3768:112;;;12343:52:71;1065:3768:112;12353:41:71;1065:3768:112;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1065:3768:112;;12353:41:71;;;1065:3768:112;12343:52:71;:::i;:::-;12247:163;;12099:89;1065:3768:112;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1065:3768:112;;12479:52:71;1065:3768:112;12489:41:71;1065:3768:112;;:::i;12489:41:71:-;-1:-1:-1;;;;;1065:3768:112;;12489:41:71;;;1065:3768:112;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72774":[{"start":1188,"length":32},{"start":7378,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultVotes_init()":"4f4e823d","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nonces(address)":"7ecebe00","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","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\":\"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\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":\"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\"},{\"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\":\"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\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[{\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"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\":\"result\",\"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.\"}],\"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.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"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.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"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.\"},\"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\"}}},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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/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/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/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/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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"InvalidOrigin"},{"inputs":[],"type":"error","name":"NotInitializing"},{"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":"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":[],"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":"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":"nonpayable","type":"function","name":"_VaultVotes_init"},{"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":[{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"result","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":"result","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"},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"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."},"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"}}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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/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/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/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/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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"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 52eb9ae..509dc19 100644 --- a/out/v1.1/Vault.sol/Vault.json +++ b/out/v1.1/Vault.sol/Vault.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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"0x60c0346101155761256a906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516124289081610142823960805181818161056601526106d3015260a051816121c00152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036121b6576110bb565b61108e565b611071565b611054565b611036565b611019565b610ffc565b610fc2565b610f97565b610f4b565b610f2e565b610f06565b610ee9565b610eaf565b610e87565b610e5d565b610e35565b610def565b610da2565b610d68565b610d4e565b610d2a565b610c5d565b610bff565b610bcb565b610ba6565b610b7e565b610b3e565b610b16565b610aaf565b610a8a565b610a50565b610a28565b6109ee565b6109c4565b610884565b610852565b61082d565b610805565b6107e4565b610799565b61075f565b610713565b6106be565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ad57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069c575f805160206123d38339815191529081549060ff82871c16801561068e575b61067d579261061e9287959261064f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106195f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105b3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073682610702565b805f525f805160206123b383398151915260205261075a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b681610702565b336001600160a01b038216036107d25761067b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a15761089d6104b7565b6024356108a981610702565b6001600160401b03916044358381116103a1576108ca9036906004016104cd565b5f805160206123d38339815191529491855494838616806109b35760ff8760401c169081156109a6575b50610994577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098f9661095c958716906001600160401b0319161790556109575f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f4565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac761217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5b81610702565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c51602435610c2381610702565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1576040806003193601126103a157600435610c7b81610702565b6024356001600160401b0381116103a1575f80610d1993610ca260809436906004016104cd565b908188519283928337810184815203915af43d15610d215760203d610cc68161115c565b90610cd38751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610cdc565b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610de6602435610dc481610702565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c51602435610e1381610702565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f6e82610702565b805f525f805160206123b3833981519152602052610f92600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b6004356110ae81610702565b6110b661217e565b6118dc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110b661222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e81610702565b604084015260808101516119b181610702565b606084015260a08101516119c481610702565b608084015201516119d481610702565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a82610702565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe881610702565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f20660765f74a9803b91f6f1a5952dfe75320e479bfe20f45dd97ac642e7bca764736f6c63430008190033","sourceMap":"852:6511:106:-:0;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:6511:106;;;;;;;;;7896:76:26;;852:6511:106;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;852:6511;;;;;;;927:17:82;852:6511:106;;;;;;;;;;1445:31;852:6511;;;;;;7981:146:26;-1:-1:-1;;;;;;852:6511:106;;;;;;;;;;;;;8087:29:26;;852:6511:106;;8087:29:26;7981:146;;;;;7896:76;852:6511:106;;-1:-1:-1;;;7938:23:26;;;;;852:6511:106;-1:-1:-1;852:6511:106;;;;;;-1:-1:-1;852:6511:106;;;;;-1:-1:-1;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036121b6576110bb565b61108e565b611071565b611054565b611036565b611019565b610ffc565b610fc2565b610f97565b610f4b565b610f2e565b610f06565b610ee9565b610eaf565b610e87565b610e5d565b610e35565b610def565b610da2565b610d68565b610d4e565b610d2a565b610c5d565b610bff565b610bcb565b610ba6565b610b7e565b610b3e565b610b16565b610aaf565b610a8a565b610a50565b610a28565b6109ee565b6109c4565b610884565b610852565b61082d565b610805565b6107e4565b610799565b61075f565b610713565b6106be565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ad57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069c575f805160206123d38339815191529081549060ff82871c16801561068e575b61067d579261061e9287959261064f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106195f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105b3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073682610702565b805f525f805160206123b383398151915260205261075a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b681610702565b336001600160a01b038216036107d25761067b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a15761089d6104b7565b6024356108a981610702565b6001600160401b03916044358381116103a1576108ca9036906004016104cd565b5f805160206123d38339815191529491855494838616806109b35760ff8760401c169081156109a6575b50610994577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098f9661095c958716906001600160401b0319161790556109575f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f4565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac761217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5b81610702565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c51602435610c2381610702565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1576040806003193601126103a157600435610c7b81610702565b6024356001600160401b0381116103a1575f80610d1993610ca260809436906004016104cd565b908188519283928337810184815203915af43d15610d215760203d610cc68161115c565b90610cd38751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610cdc565b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610de6602435610dc481610702565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c51602435610e1381610702565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f6e82610702565b805f525f805160206123b3833981519152602052610f92600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b6004356110ae81610702565b6110b661217e565b6118dc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110b661222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e81610702565b604084015260808101516119b181610702565b606084015260a08101516119c481610702565b608084015201516119d481610702565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a82610702565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe881610702565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f20660765f74a9803b91f6f1a5952dfe75320e479bfe20f45dd97ac642e7bca764736f6c63430008190033","sourceMap":"852:6511:106:-:0;;;;;;2603:64:50;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;852:6511: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;:::-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:6511:106;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:6511:106;-1:-1:-1;852:6511:106;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3653:32:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;757:38:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;612:37:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;2084:35:108;852:6511:106;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;4919:24:23;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:6511:106;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;852:6511:106;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;;6431:44:26;;;;852:6511:106;6427:105:26;;852:6511:106;1809:204:82;852:6511:106;;;;6656:20:26;852:6511:106;;6656:20:26;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;6575:22:26;1809:204:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:6511:106;6427:105:26;852:6511:106;;-1:-1:-1;;;6498:23:26;;852:6511:106;;6498:23:26;6431:44;852:6511:106;;;;;;;6450:25:26;;6431:44;;1655:71:82;852:6511:106;;-1:-1:-1;;;1703:12:82;;852:6511:106;;1703:12:82;3666:88:30;852:6511:106;;-1:-1:-1;;;3713:30:30;;852:6511:106;;3713:30:30;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;655:32:82;-1:-1:-1;;;;;852:6511:106;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:6511:106;;;;5350:25:23;852:6511:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;3202:4:23;4919:24;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;3202:4:23;:::i;:::-;5350:25;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1329:40:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:6511:106;;6441:34:23;6437:102;;6549:37;852:6511:106;;;6549:37:23;:::i;6437:102::-;852:6511:106;;-1:-1:-1;;;6498:30:23;;852:6511:106;;6498:30:23;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;4126:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;2255:34:108;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:6511:106;;;;;;734:29:82;730:87;;852:6511:106;;;;;6431:44:26;;;;;852:6511:106;6427:105:26;;;6656:20;852:6511:106;6656:20:26;852:6511:106;1167:340:82;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;6656:20:26;;;;852:6511:106;6427:105:26;852:6511:106;;-1:-1:-1;;;6498:23:26;;852:6511:106;;6498:23:26;6431:44;852:6511:106;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;852:6511:106;;-1:-1:-1;;;786:20:82;;852:6511:106;;786:20:82;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;2718:59:108;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1041:36:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;1989:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1564:45:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;2423:32:108;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;;-1:-1:-1;;;;;852:6511:106;3975:40:24;852:6511:106;;3975:40:24;852:6511:106;;;;;;;-1:-1:-1;;852:6511:106;;;;;;4027:43:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:6511:106;2594:68:108;852:6511:106;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3932:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3833:43:108;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3901:31:23;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;3901:31:23;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:6511:106;;;;-1:-1:-1;852:6511:106;477:31:86;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;477:31:86;;;852:6511:106;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;477:31:86;852:6511:106;477:31:86;;;;;;;:::i;:::-;518:79;;;852:6511:106;518:79:86;;852:6511:106;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;900:35:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;2953:94:108;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;2953:94:108;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;2953:94:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3103:92:108;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;3103:92:108;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;4396:31:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;2833:64:108;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2345:22:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1183:36:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3543:54:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2175:24:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3741:36:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;5767:26:23;852:6511:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;3202:4:23;4919:24;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;3202:4:23;:::i;:::-;5767:26;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;466:39:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;4221:36:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;4313:27:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1466:3:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1286:6;852:6511;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2357:1:24;852:6511:106;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;3437:50:108;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;:::o;1167:340:82:-;;;852:6511:106;2802:37;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:6511:106;1949:1:30;;1991;852:6511:106;;;1376:73:82;;1167:340;852:6511:106;;;;:::i;:::-;2802:37;852:6511;;;2802:37;;;;;;:::i;:::-;852:6511;;;;;;;-1:-1:-1;;;;;852:6511:106;2854:31;2850:95;;2959:20;;;;;852:6511;;;;;;;;;;2959:25;2955:92;;3061:29;;;852:6511;;3061:29;;852:6511;3061:43;;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;;;;;852:6511:106;;;3061:43;;3057:971;;1167:340:82;4043:23:106;;;852:6511;4042:24;852:6511;;;;;;;;4042:24;;852:6511;4042:24;:67;;;1167:340:82;4038:132:106;;4200:28;;;-1:-1:-1;4185:9:106;1949:1:30;;;4180:411:106;-1:-1:-1;;852:6511:106;;4605:43;;-1:-1:-1;;;;;;852:6511:106;;;4605:43;;4601:697;;4180:411;5411:34;6015:42;852:6511;5411:34;;5960:44;852:6511;;5411:34;5343:468;6798:32;5411:34;5343:468;5411:34;852:6511;5411:34;;852:6511;5477:19;5343:468;5477:19;5343:468;5477:19;;;852:6511;5532:23;5343:468;852:6511;5532:23;;;852:6511;;;;;;;;;;5601:33;;;852:6511;-1:-1:-1;;;;;852:6511:106;5679:32;;;852:6511;5679:32;;;852:6511;;5760:36;;-1:-1:-1;;;;;852:6511:106;5760:36;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;:::i;:::-;;;;2802:37;5343:468;;852:6511;-1:-1:-1;;;;;852:6511:106;;;5343:468;;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;4043:23;5343:468;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;5343:468;;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;5343:468;;;852:6511;;5343:468;;:::i;:::-;852:6511;;5832:30;;-1:-1:-1;;;;;852:6511:106;1398:1:82;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;5832:30;2802:37;5882:13;;852:6511;;;;-1:-1:-1;;;;;;852:6511:106;-1:-1:-1;;;;;852:6511:106;;;;;;;;;5906:44;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;;;-1:-1:-1;;;852:6511:106;;;;;;;;5906:44;852:6511;;;;;;1949:1:30;852:6511:106;;-1:-1:-1;;;;;852:6511:106;;;;;;-1:-1:-1;;;;;;852:6511:106;;;;;;;;5960:44;852:6511;;;;;;;;;1398:1:82;852:6511:106;;;;;;;1398:1:82;852:6511:106;;6015:42;6068:38;852:6511;5343:468;6085:21;;852:6511;;;;;;;1398:1:82;852:6511:106;;;;;;;;;;;;1398:1:82;852:6511:106;;6068:38;6116:34;5343:468;6131:19;;852:6511;6116:34;1991:1:30;;6116:34:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;6161:135;;4180:411;-1:-1:-1;6309:36:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6305:157;;4180:411;-1:-1:-1;6475:35:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6471:153;;4180:411;-1:-1:-1;6637:34:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6633:152;;4180:411;-1:-1:-1;6798:32:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;6794:145;;1167:340:82;:::o;6794:145:106:-;6860:68;;;:::i;:::-;;1167:340:82:o;6633:152:106:-;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;852:6511;4668:37;;-1:-1:-1;;;;;852:6511:106;;;4668:37;:23;;4729:32;;;852:6511;4729:46;;-1:-1:-1;;;;;852:6511:106;;;4729:46;:32;;4803:36;;;852:6511;4803:50;;-1:-1:-1;;;;;852:6511:106;;;4803:50;;;:78;;;4725:396;4799:167;;4725:396;6015:42;852:6511;;4725:396;;5960:44;852:6511;;4725:396;5343:468;6798:32;4725:396;;4601:697;;;;;;;;;;;;;;;4799:167;852:6511;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;852:6511;4857:24;4803:78;;4725:396;4994:36;;;852:6511;4994:50;;-1:-1:-1;;;;;852:6511:106;;;4994:50;;4990:131;;4725:396;6015:42;852:6511;;4725:396;;5960:44;852:6511;;4725:396;5343:468;6798:32;4725:396;;;4664:624;5145:32;;;852:6511;5145:46;;-1:-1:-1;;;;;852:6511:106;;;5145:46;;:74;;;4664:624;5141:147;;4664:624;6015:42;852:6511;;4664:624;;5960:44;852:6511;;4664:624;5343:468;6798:32;4664:624;;;5145:74;5195:19;;;;852:6511;5195:24;5145:74;;4237:3;4200:28;;852:6511;;4196:39;;;;;4260:31;;;:45;:31;;:::i;:45::-;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:6511:106;;;;;4388:22;852:6511;;;;;;;4388:55;852:6511;;;;;4388:55;4384:120;;4541:28;;;4518:62;:55;4541:31;;:28;;;;:31;:::i;4518:55::-;852:6511;;-1:-1:-1;;852:6511:106;1949:1:30;852:6511:106;;;;4518:62;852:6511;4185:9;;;;4384:120;852:6511;;-1:-1:-1;;;4470:19:106;;;;;4256:114;852:6511;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;4038:132;852:6511;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;852:6511;4070:39;;4042:67;;3057:971;3124:36;;;852:6511;3124:50;;-1:-1:-1;;;;;852:6511:106;;;3124:50;;3120:419;;3057:971;3557:34;;;852:6511;3557:48;;-1:-1:-1;;;;;852:6511:106;;;3557:48;;3553:465;;3057:971;;;3553:465;3629:21;;;852:6511;;3629:21;;3678:19;;;852:6511;3678:24;:74;;;3625:379;3674:157;3057:971;3674:157;852:6511;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;852:6511;3706:46;;-1:-1:-1;;;;;852:6511:106;;;3706:46;;3678:74;;3625:379;3859:19;;;852:6511;3859:24;;;:74;;;3625:379;3855:149;3553:465;3855:149;852:6511;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;852:6511;3887:46;;-1:-1:-1;;;;;852:6511:106;;;3887:46;;;3859:74;;3120:419;3198:23;;;852:6511;;3198:23;;3249:35;;;852:6511;3249:49;;-1:-1:-1;;;;;852:6511:106;;;3249:49;3120:419;3245:132;852:6511;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;852:6511;3405:49;;-1:-1:-1;;;;;852:6511:106;;;3405:49;3401:124;3120:419;3401:124;852:6511;-1:-1:-1;;;3485:21:106;;;;;2955:92;852:6511;;-1:-1:-1;;;3007:29:106;;;;;2850:95;852:6511;;-1:-1:-1;;;2908:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;3405:215:24;-1:-1:-1;;;;;852:6511:106;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:6511:106;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:6511:106;;;3534:31:24;1809:204:82;852:6511:106;1809:204:82;852:6511:106;;;:::i;:::-;;;;;7113:40;;852:6511;;;;7208:64;7209:38;1286:6;852:6511;;;;;;;;:::i;:::-;7113:40;;;852:6511;;;;;;;7113:40;852:6511;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7186:6;;;:::i;:::-;852:6511;7209:38;:::i;:::-;7208:64;852:6511;7251:21;852:6511;;;;;;;;;;7208:64;;;:::i;:::-;:82;7204:151;;1809:204:82:o;7204:151:106:-;852:6511;;-1:-1:-1;;;7313:31:106;;;;;4148:103:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;966:10:28;852:6511:106;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:6511:106;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:6511:106;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:6511:106;;1398:1:82;852:6511:106;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;;;1398:1:82;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;7509:4:23;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511: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:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;7509:4:23;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511: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:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;3901:31:23;852:6511:106;7892:388:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511:106;;8155:40:23;-1:-1:-1;;8155:40:23;852:6511:106;8209:11:23;:::o;852:6511:106:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;;:::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:6511:106;-1:-1:-1;;;;;852:6511:106;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:6511:106;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:6511:106;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;7084:141:26:-;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:6511:106;;-1:-1:-1;;;7191:17:26;;;;;1642:1025:106;1783:1;852:6511;;1746:38;1742:119;;1875:23;;;852:6511;;-1:-1:-1;;;;;852:6511:106;1875:23;;852:6511;;1875:37;;:65;;1642:1025;1871:130;;852:6511;2138:42;852:6511;2507:36;852:6511;2011:72;852:6511;;;2011:72;1991:1:30;;2011:72:106;2094:34;2109:19;;;852:6511;2094:34;1991:1:30;;852:6511:106;;;;;;;;;;2138:42;852:6511;;;2138:42;852:6511;;2138:42;2195:33;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;2191:148;;1642:1025;-1:-1:-1;2352:32:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;2348:146;;-1:-1:-1;2507:36:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;2503:158;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;852:6511;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;852:6511;1916:24;;1875:65;;1742:119;852:6511;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;852:6511:106;14374:24:69;;;;14370:103;;852:6511:106;14296:213:69;:::o;14370:103::-;852:6511:106;;;;14421:41:69;;;;;;14452:2;14421:41;;;852:6511:106;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1747,"length":32}],"69325":[{"start":8640,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":106} \ No newline at end of file +{"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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"0x60c0346101155761256a906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516124289081610142823960805181818161056601526106d3015260a051816121c00152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036121b6576110bb565b61108e565b611071565b611054565b611036565b611019565b610ffc565b610fc2565b610f97565b610f4b565b610f2e565b610f06565b610ee9565b610eaf565b610e87565b610e5d565b610e35565b610def565b610da2565b610d68565b610d4e565b610d2a565b610c5d565b610bff565b610bcb565b610ba6565b610b7e565b610b3e565b610b16565b610aaf565b610a8a565b610a50565b610a28565b6109ee565b6109c4565b610884565b610852565b61082d565b610805565b6107e4565b610799565b61075f565b610713565b6106be565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ad57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069c575f805160206123d38339815191529081549060ff82871c16801561068e575b61067d579261061e9287959261064f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106195f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105b3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073682610702565b805f525f805160206123b383398151915260205261075a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b681610702565b336001600160a01b038216036107d25761067b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a15761089d6104b7565b6024356108a981610702565b6001600160401b03916044358381116103a1576108ca9036906004016104cd565b5f805160206123d38339815191529491855494838616806109b35760ff8760401c169081156109a6575b50610994577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098f9661095c958716906001600160401b0319161790556109575f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f4565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac761217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5b81610702565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c51602435610c2381610702565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1576040806003193601126103a157600435610c7b81610702565b6024356001600160401b0381116103a1575f80610d1993610ca260809436906004016104cd565b908188519283928337810184815203915af43d15610d215760203d610cc68161115c565b90610cd38751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610cdc565b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610de6602435610dc481610702565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c51602435610e1381610702565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f6e82610702565b805f525f805160206123b3833981519152602052610f92600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b6004356110ae81610702565b6110b661217e565b6118dc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110b661222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e81610702565b604084015260808101516119b181610702565b606084015260a08101516119c481610702565b608084015201516119d481610702565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a82610702565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe881610702565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209ab7d521b67da958540ef5520f61ec69ff0a2019c82763f846e2f802c2ec8aa064736f6c63430008190033","sourceMap":"852:6511:106:-:0;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:6511:106;;;;;;;;;7896:76:26;;852:6511:106;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;852:6511;;;;;;;927:17:82;852:6511:106;;;;;;;;;;1445:31;852:6511;;;;;;7981:146:26;-1:-1:-1;;;;;;852:6511:106;;;;;;;;;;;;;8087:29:26;;852:6511:106;;8087:29:26;7981:146;;;;;7896:76;852:6511:106;;-1:-1:-1;;;7938:23:26;;;;;852:6511:106;-1:-1:-1;852:6511:106;;;;;;-1:-1:-1;852:6511:106;;;;;-1:-1:-1;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036121b6576110bb565b61108e565b611071565b611054565b611036565b611019565b610ffc565b610fc2565b610f97565b610f4b565b610f2e565b610f06565b610ee9565b610eaf565b610e87565b610e5d565b610e35565b610def565b610da2565b610d68565b610d4e565b610d2a565b610c5d565b610bff565b610bcb565b610ba6565b610b7e565b610b3e565b610b16565b610aaf565b610a8a565b610a50565b610a28565b6109ee565b6109c4565b610884565b610852565b61082d565b610805565b6107e4565b610799565b61075f565b610713565b6106be565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ad57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069c575f805160206123d38339815191529081549060ff82871c16801561068e575b61067d579261061e9287959261064f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106195f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105b3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073682610702565b805f525f805160206123b383398151915260205261075a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b681610702565b336001600160a01b038216036107d25761067b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a15761089d6104b7565b6024356108a981610702565b6001600160401b03916044358381116103a1576108ca9036906004016104cd565b5f805160206123d38339815191529491855494838616806109b35760ff8760401c169081156109a6575b50610994577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098f9661095c958716906001600160401b0319161790556109575f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f4565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac761217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5b81610702565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c51602435610c2381610702565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1576040806003193601126103a157600435610c7b81610702565b6024356001600160401b0381116103a1575f80610d1993610ca260809436906004016104cd565b908188519283928337810184815203915af43d15610d215760203d610cc68161115c565b90610cd38751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610cdc565b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610de6602435610dc481610702565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c51602435610e1381610702565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f6e82610702565b805f525f805160206123b3833981519152602052610f92600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b6004356110ae81610702565b6110b661217e565b6118dc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110b661222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e81610702565b604084015260808101516119b181610702565b606084015260a08101516119c481610702565b608084015201516119d481610702565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a82610702565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe881610702565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209ab7d521b67da958540ef5520f61ec69ff0a2019c82763f846e2f802c2ec8aa064736f6c63430008190033","sourceMap":"852:6511:106:-:0;;;;;;2603:64:50;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;852:6511: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;:::-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:6511:106;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:6511:106;-1:-1:-1;852:6511:106;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3653:32:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;757:38:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;612:37:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;2084:35:108;852:6511:106;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;4919:24:23;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:6511:106;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;852:6511:106;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;;6431:44:26;;;;852:6511:106;6427:105:26;;852:6511:106;1809:204:82;852:6511:106;;;;6656:20:26;852:6511:106;;6656:20:26;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;6575:22:26;1809:204:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:6511:106;6427:105:26;852:6511:106;;-1:-1:-1;;;6498:23:26;;852:6511:106;;6498:23:26;6431:44;852:6511:106;;;;;;;6450:25:26;;6431:44;;1655:71:82;852:6511:106;;-1:-1:-1;;;1703:12:82;;852:6511:106;;1703:12:82;3666:88:30;852:6511:106;;-1:-1:-1;;;3713:30:30;;852:6511:106;;3713:30:30;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;655:32:82;-1:-1:-1;;;;;852:6511:106;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:6511:106;;;;5350:25:23;852:6511:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;3202:4:23;4919:24;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;3202:4:23;:::i;:::-;5350:25;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1329:40:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:6511:106;;6441:34:23;6437:102;;6549:37;852:6511:106;;;6549:37:23;:::i;6437:102::-;852:6511:106;;-1:-1:-1;;;6498:30:23;;852:6511:106;;6498:30:23;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;4126:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;2255:34:108;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:6511:106;;;;;;734:29:82;730:87;;852:6511:106;;;;;6431:44:26;;;;;852:6511:106;6427:105:26;;;6656:20;852:6511:106;6656:20:26;852:6511:106;1167:340:82;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;6656:20:26;;;;852:6511:106;6427:105:26;852:6511:106;;-1:-1:-1;;;6498:23:26;;852:6511:106;;6498:23:26;6431:44;852:6511:106;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;852:6511:106;;-1:-1:-1;;;786:20:82;;852:6511:106;;786:20:82;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;2718:59:108;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1041:36:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;1989:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1564:45:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;2423:32:108;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;;-1:-1:-1;;;;;852:6511:106;3975:40:24;852:6511:106;;3975:40:24;852:6511:106;;;;;;;-1:-1:-1;;852:6511:106;;;;;;4027:43:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:6511:106;2594:68:108;852:6511:106;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3932:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3833:43:108;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3901:31:23;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;3901:31:23;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:6511:106;;;;-1:-1:-1;852:6511:106;477:31:86;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;477:31:86;;;852:6511:106;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;477:31:86;852:6511:106;477:31:86;;;;;;;:::i;:::-;518:79;;;852:6511:106;518:79:86;;852:6511:106;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;900:35:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;2953:94:108;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;2953:94:108;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;2953:94:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3103:92:108;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;3103:92:108;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;4396:31:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;2833:64:108;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2345:22:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1183:36:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3543:54:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2175:24:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3741:36:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;5767:26:23;852:6511:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;3202:4:23;4919:24;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;3202:4:23;:::i;:::-;5767:26;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;466:39:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;4221:36:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;4313:27:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1466:3:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1286:6;852:6511;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2357:1:24;852:6511:106;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;3437:50:108;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;:::o;1167:340:82:-;;;852:6511:106;2802:37;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:6511:106;1949:1:30;;1991;852:6511:106;;;1376:73:82;;1167:340;852:6511:106;;;;:::i;:::-;2802:37;852:6511;;;2802:37;;;;;;:::i;:::-;852:6511;;;;;;;-1:-1:-1;;;;;852:6511:106;2854:31;2850:95;;2959:20;;;;;852:6511;;;;;;;;;;2959:25;2955:92;;3061:29;;;852:6511;;3061:29;;852:6511;3061:43;;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;;;;;852:6511:106;;;3061:43;;3057:971;;1167:340:82;4043:23:106;;;852:6511;4042:24;852:6511;;;;;;;;4042:24;;852:6511;4042:24;:67;;;1167:340:82;4038:132:106;;4200:28;;;-1:-1:-1;4185:9:106;1949:1:30;;;4180:411:106;-1:-1:-1;;852:6511:106;;4605:43;;-1:-1:-1;;;;;;852:6511:106;;;4605:43;;4601:697;;4180:411;5411:34;6015:42;852:6511;5411:34;;5960:44;852:6511;;5411:34;5343:468;6798:32;5411:34;5343:468;5411:34;852:6511;5411:34;;852:6511;5477:19;5343:468;5477:19;5343:468;5477:19;;;852:6511;5532:23;5343:468;852:6511;5532:23;;;852:6511;;;;;;;;;;5601:33;;;852:6511;-1:-1:-1;;;;;852:6511:106;5679:32;;;852:6511;5679:32;;;852:6511;;5760:36;;-1:-1:-1;;;;;852:6511:106;5760:36;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;:::i;:::-;;;;2802:37;5343:468;;852:6511;-1:-1:-1;;;;;852:6511:106;;;5343:468;;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;4043:23;5343:468;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;5343:468;;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;5343:468;;;852:6511;;5343:468;;:::i;:::-;852:6511;;5832:30;;-1:-1:-1;;;;;852:6511:106;1398:1:82;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;5832:30;2802:37;5882:13;;852:6511;;;;-1:-1:-1;;;;;;852:6511:106;-1:-1:-1;;;;;852:6511:106;;;;;;;;;5906:44;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;;;-1:-1:-1;;;852:6511:106;;;;;;;;5906:44;852:6511;;;;;;1949:1:30;852:6511:106;;-1:-1:-1;;;;;852:6511:106;;;;;;-1:-1:-1;;;;;;852:6511:106;;;;;;;;5960:44;852:6511;;;;;;;;;1398:1:82;852:6511:106;;;;;;;1398:1:82;852:6511:106;;6015:42;6068:38;852:6511;5343:468;6085:21;;852:6511;;;;;;;1398:1:82;852:6511:106;;;;;;;;;;;;1398:1:82;852:6511:106;;6068:38;6116:34;5343:468;6131:19;;852:6511;6116:34;1991:1:30;;6116:34:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;6161:135;;4180:411;-1:-1:-1;6309:36:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6305:157;;4180:411;-1:-1:-1;6475:35:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6471:153;;4180:411;-1:-1:-1;6637:34:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6633:152;;4180:411;-1:-1:-1;6798:32:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;6794:145;;1167:340:82;:::o;6794:145:106:-;6860:68;;;:::i;:::-;;1167:340:82:o;6633:152:106:-;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;852:6511;4668:37;;-1:-1:-1;;;;;852:6511:106;;;4668:37;:23;;4729:32;;;852:6511;4729:46;;-1:-1:-1;;;;;852:6511:106;;;4729:46;:32;;4803:36;;;852:6511;4803:50;;-1:-1:-1;;;;;852:6511:106;;;4803:50;;;:78;;;4725:396;4799:167;;4725:396;6015:42;852:6511;;4725:396;;5960:44;852:6511;;4725:396;5343:468;6798:32;4725:396;;4601:697;;;;;;;;;;;;;;;4799:167;852:6511;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;852:6511;4857:24;4803:78;;4725:396;4994:36;;;852:6511;4994:50;;-1:-1:-1;;;;;852:6511:106;;;4994:50;;4990:131;;4725:396;6015:42;852:6511;;4725:396;;5960:44;852:6511;;4725:396;5343:468;6798:32;4725:396;;;4664:624;5145:32;;;852:6511;5145:46;;-1:-1:-1;;;;;852:6511:106;;;5145:46;;:74;;;4664:624;5141:147;;4664:624;6015:42;852:6511;;4664:624;;5960:44;852:6511;;4664:624;5343:468;6798:32;4664:624;;;5145:74;5195:19;;;;852:6511;5195:24;5145:74;;4237:3;4200:28;;852:6511;;4196:39;;;;;4260:31;;;:45;:31;;:::i;:45::-;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:6511:106;;;;;4388:22;852:6511;;;;;;;4388:55;852:6511;;;;;4388:55;4384:120;;4541:28;;;4518:62;:55;4541:31;;:28;;;;:31;:::i;4518:55::-;852:6511;;-1:-1:-1;;852:6511:106;1949:1:30;852:6511:106;;;;4518:62;852:6511;4185:9;;;;4384:120;852:6511;;-1:-1:-1;;;4470:19:106;;;;;4256:114;852:6511;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;4038:132;852:6511;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;852:6511;4070:39;;4042:67;;3057:971;3124:36;;;852:6511;3124:50;;-1:-1:-1;;;;;852:6511:106;;;3124:50;;3120:419;;3057:971;3557:34;;;852:6511;3557:48;;-1:-1:-1;;;;;852:6511:106;;;3557:48;;3553:465;;3057:971;;;3553:465;3629:21;;;852:6511;;3629:21;;3678:19;;;852:6511;3678:24;:74;;;3625:379;3674:157;3057:971;3674:157;852:6511;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;852:6511;3706:46;;-1:-1:-1;;;;;852:6511:106;;;3706:46;;3678:74;;3625:379;3859:19;;;852:6511;3859:24;;;:74;;;3625:379;3855:149;3553:465;3855:149;852:6511;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;852:6511;3887:46;;-1:-1:-1;;;;;852:6511:106;;;3887:46;;;3859:74;;3120:419;3198:23;;;852:6511;;3198:23;;3249:35;;;852:6511;3249:49;;-1:-1:-1;;;;;852:6511:106;;;3249:49;3120:419;3245:132;852:6511;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;852:6511;3405:49;;-1:-1:-1;;;;;852:6511:106;;;3405:49;3401:124;3120:419;3401:124;852:6511;-1:-1:-1;;;3485:21:106;;;;;2955:92;852:6511;;-1:-1:-1;;;3007:29:106;;;;;2850:95;852:6511;;-1:-1:-1;;;2908:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;3405:215:24;-1:-1:-1;;;;;852:6511:106;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:6511:106;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:6511:106;;;3534:31:24;1809:204:82;852:6511:106;1809:204:82;852:6511:106;;;:::i;:::-;;;;;7113:40;;852:6511;;;;7208:64;7209:38;1286:6;852:6511;;;;;;;;:::i;:::-;7113:40;;;852:6511;;;;;;;7113:40;852:6511;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7186:6;;;:::i;:::-;852:6511;7209:38;:::i;:::-;7208:64;852:6511;7251:21;852:6511;;;;;;;;;;7208:64;;;:::i;:::-;:82;7204:151;;1809:204:82:o;7204:151:106:-;852:6511;;-1:-1:-1;;;7313:31:106;;;;;4148:103:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;966:10:28;852:6511:106;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:6511:106;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:6511:106;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:6511:106;;1398:1:82;852:6511:106;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;;;1398:1:82;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;7509:4:23;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511: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:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;7509:4:23;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511: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:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;3901:31:23;852:6511:106;7892:388:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511:106;;8155:40:23;-1:-1:-1;;8155:40:23;852:6511:106;8209:11:23;:::o;852:6511:106:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;;:::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:6511:106;-1:-1:-1;;;;;852:6511:106;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:6511:106;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:6511:106;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;7084:141:26:-;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:6511:106;;-1:-1:-1;;;7191:17:26;;;;;1642:1025:106;1783:1;852:6511;;1746:38;1742:119;;1875:23;;;852:6511;;-1:-1:-1;;;;;852:6511:106;1875:23;;852:6511;;1875:37;;:65;;1642:1025;1871:130;;852:6511;2138:42;852:6511;2507:36;852:6511;2011:72;852:6511;;;2011:72;1991:1:30;;2011:72:106;2094:34;2109:19;;;852:6511;2094:34;1991:1:30;;852:6511:106;;;;;;;;;;2138:42;852:6511;;;2138:42;852:6511;;2138:42;2195:33;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;2191:148;;1642:1025;-1:-1:-1;2352:32:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;2348:146;;-1:-1:-1;2507:36:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;2503:158;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;852:6511;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;852:6511;1916:24;;1875:65;;1742:119;852:6511;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;852:6511:106;14374:24:69;;;;14370:103;;852:6511:106;14296:213:69;:::o;14370:103::-;852:6511:106;;;;14421:41:69;;;;;;14452:2;14421:41;;;852:6511:106;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1747,"length":32}],"69325":[{"start":8640,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"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 f2001ac..f7d17fe 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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"0x60c03461011c57612882906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516127399081610149823960805181818161056601526106d1015260a05181818161155d015261222b0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe608060405260043610612221575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b600361222157611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206126e483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f805160206126c4833981519152602052610758600160405f200154611ba1565b612010565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206126e48339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd6119a9565b91610cde6040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f805160206126c4833981519152602052610f5c600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806121e9565b6119fc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61108061225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610cde60405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e81610700565b60408401526080810151611b3181610700565b606084015260a0810151611b4481610700565b60808401520151611b5481610700565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f82610700565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b81610700565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a79648372fc656069f8df3141066176f40563140db5338976e046b63888720c064736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;332:1303:109;;;;;;;;;7896:76:26;;332:1303:109;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;332:1303:109;;;;;;;927:17:82;332:1303:109;;;;;;;;;;1445:31:106;332:1303:109;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;332:1303:109;;;;;;;;;;;;;8087:29:26;;332:1303:109;;8087:29:26;7981:146;;;;;7896:76;332:1303:109;;-1:-1:-1;;;7938:23:26;;;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;-1:-1:-1;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610612221575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b600361222157611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206126e483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f805160206126c4833981519152602052610758600160405f200154611ba1565b612010565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206126e48339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd6119a9565b91610cde6040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f805160206126c4833981519152602052610f5c600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806121e9565b6119fc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61108061225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610cde60405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e81610700565b60408401526080810151611b3181610700565b606084015260a0810151611b4481610700565b60808401520151611b5481610700565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f82610700565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b81610700565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a79648372fc656069f8df3141066176f40563140db5338976e046b63888720c064736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;2603:64:50;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;332:1303: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;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;332:1303:109;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3653:32:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;757:38:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;612:37:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;2084:35:108;332:1303:109;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;4919:24:23;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;332:1303:109;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;332:1303:109;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;;;;6431:44:26;;;;332:1303:109;6427:105:26;;-1:-1:-1;;332:1303:109;;;;;;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;-1:-1:-1;;;332:1303:109;;;6656:20:26;;;;332:1303:109;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;6450:25:26;;;6431:44;;1655:71:82;332:1303:109;;-1:-1:-1;;;1703:12:82;;332:1303:109;;1703:12:82;3666:88:30;332:1303:109;;-1:-1:-1;;;3713:30:30;;332:1303:109;;3713:30:30;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;655:32:82;-1:-1:-1;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;:::o;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;5350:25:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5350:25;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1329:40:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;332:1303:109;;6441:34:23;6437:102;;6549:37;332:1303:109;;;6549:37:23;:::i;6437:102::-;332:1303:109;;-1:-1:-1;;;6498:30:23;;332:1303:109;;6498:30:23;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;4126:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2255:34:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;-1:-1:-1;;;;;;;;;;;;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;332:1303:109;;;;;;734:29:82;730:87;;332:1303:109;;;;;6431:44:26;;;;;332:1303:109;6427:105:26;;;6656:20;332:1303:109;6656:20:26;332:1303:109;1167:340:82;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;332:1303:109;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;332:1303:109;;-1:-1:-1;;;786:20:82;;332:1303:109;;786:20:82;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2718:59:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1041:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;1989:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1564:45:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2423:32:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;3975:40:24;332:1303:109;;3975:40:24;332:1303:109;;;;;;;-1:-1:-1;;332:1303:109;;;;;;4027:43:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;332:1303:109;2594:68:108;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3932:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3833:43:108;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3901:31:23;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;3901:31:23;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;332:1303:109;;;;;;;;;;477:31:86;;332:1303:109;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;332:1303:109;518:79:86;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;900:35:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;2953:94:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;2953:94:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;2953:94:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3103:92:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;3103:92:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;4396:31:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2833:64:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2345:22:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1183:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3543:54:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2175:24:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3741:36:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;5767:26:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5767:26;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;466:39:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4221:36:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4313:27:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1466:3:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1286:6:106;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2357:1:24;332:1303:109;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;3437:50:108;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;477:31:86;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;1167:340:82:-;;332:1303:109;1167:340:82;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;1949;-1:-1:-1;;;;;332:1303:109;;;;1376:73:82;;1167:340;332:1303:109;;;;:::i;:::-;674:55;332:1303;;674:55;;;;;;;;;;;:::i;:::-;782:17;2802:37:106;782:17:109;;332:1303;;;;2802:37:106;;;;;;:::i;:::-;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;2854:31:106;2850:95;;2959:20;;;;;332:1303:109;;;;;;;;;;;2959:25:106;2955:92;;3061:29;;;332:1303:109;;3061:29:106;;332:1303:109;3061:43:106;;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;3061:43:106;;3057:971;;1167:340:82;4043:23:106;;;332:1303:109;4042:24:106;332:1303:109;;;;;;;;4042:24:106;;332:1303:109;4042:24:106;:67;;;1167:340:82;4038:132:106;;4200:28;;;-1:-1:-1;4185:9:106;1949:1:30;;;4180:411:106;-1:-1:-1;;332:1303:109;;4605:43:106;;-1:-1:-1;;;;;;332:1303:109;;;4605:43:106;;4601:697;;4180:411;6798:32;5411:34;332:1303:109;5411:34:106;;6015:42;332:1303:109;5411:34:106;;;811:157:109;5411:34:106;;332:1303:109;;5411:34:106;863:95:109;5411:34:106;332:1303:109;863:95;5411:34:106;;5343:468;5411:34;5343:468;5960:44;5411:34;5343:468;5411:34;5873:22;5411:34;;332:1303:109;5477:19:106;5343:468;5477:19;;;332:1303:109;5532:23:106;5343:468;332:1303:109;5532:23:106;;;332:1303:109;;;;;;;;;;5601:33:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;5679:32:106;;;332:1303:109;5679:32:106;;;332:1303:109;;5760:36:106;;-1:-1:-1;;;;;332:1303:109;5760:36:106;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;:::i;:::-;;;;5343:468:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;5343:468:106;;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;4043:23:106;5343:468;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;5343:468:106;;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;5343:468:106;;;332:1303:109;;5343:468:106;;:::i;:::-;332:1303:109;;5832:30:106;;-1:-1:-1;;;;;332:1303:109;1398:1:82;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;5832:30:106;5882:13;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;1949:1:30;332:1303:109;;;1949:1:30;332:1303:109;;5873:22:106;5906:44;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;;-1:-1:-1;;;332:1303:109;;;;;;;;5906:44:106;332:1303:109;;;;;;1949:1:30;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;5960:44:106;332:1303:109;;;;;;;;;1398:1:82;332:1303:109;;;;;;;1398:1:82;332:1303:109;;6015:42:106;6068:38;332:1303:109;5343:468:106;6085:21;;332:1303:109;;;;;;;1398:1:82;332:1303:109;;;;;;;;;;;;1398:1:82;332:1303:109;;6068:38:106;6116:34;5343:468;6131:19;;332:1303:109;6116:34:106;1991:1:30;;6116:34:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6161:135:106;;4180:411;-1:-1:-1;6309:36:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6305:157:106;;4180:411;-1:-1:-1;6475:35:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6471:153:106;;4180:411;-1:-1:-1;6637:34:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6633:152:106;;4180:411;-1:-1:-1;6798:32:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6794:145:106;;4180:411;930:11:109;;;;;;943:13;;;332:1303;;863:95;;;;;;;;;;;;;;:::i;:::-;1615:14:106;811:157:109;:::i;:::-;;1167:340:82:o;6794:145:106:-;6860:68;;;:::i;:::-;;6794:145;;;6633:152;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;332:1303:109;4668:37:106;;-1:-1:-1;;;;;332:1303:109;;;4668:37:106;:23;;4729:32;;;332:1303:109;4729:46:106;;-1:-1:-1;;;;;332:1303:109;;;4729:46:106;:32;;4803:36;;;332:1303:109;4803:50:106;;-1:-1:-1;;;;;332:1303:109;;;4803:50:106;;;:78;;;4725:396;4799:167;;6798:32;4725:396;332:1303:109;4725:396:106;;6015:42;332:1303:109;4725:396:106;;;811:157:109;4725:396:106;;332:1303:109;;4725:396:106;863:95:109;4725:396:106;332:1303:109;863:95;4725:396:106;;5343:468;5873:22;4725:396;5343:468;5960:44;4725:396;;4601:697;;;;;;;;;;;;;;;;;;;;;;;;;;;4799:167;332:1303:109;;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;332:1303:109;4857:24:106;4803:78;;4725:396;4994:36;;;332:1303:109;4994:50:106;;-1:-1:-1;;;;;332:1303:109;;;4994:50:106;;4990:131;;6798:32;4725:396;332:1303:109;4725:396:106;;6015:42;332:1303:109;4725:396:106;;;811:157:109;4725:396:106;;332:1303:109;;4725:396:106;863:95:109;4725:396:106;332:1303:109;863:95;4725:396:106;;5343:468;5873:22;4725:396;5343:468;5960:44;4725:396;;;4664:624;5145:32;;;332:1303:109;5145:46:106;;-1:-1:-1;;;;;332:1303:109;;;5145:46:106;;:74;;;4664:624;5141:147;;6798:32;4664:624;332:1303:109;4664:624:106;;6015:42;332:1303:109;4664:624:106;;;811:157:109;4664:624:106;;332:1303:109;;4664:624:106;863:95:109;4664:624:106;332:1303:109;863:95;4664:624:106;;5343:468;5873:22;4664:624;5343:468;5960:44;4664:624;;;5145:74;5195:19;;;;332:1303:109;5195:24:106;5145:74;;4237:3;4200:28;;332:1303:109;;4196:39:106;;;;;4260:31;;;:45;:31;;:::i;:45::-;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;4388:22:106;332:1303:109;;;;;;;4388:55:106;332:1303:109;;;;;4388:55:106;4384:120;;4541:28;;;4518:62;:55;4541:31;;:28;;;;:31;:::i;4518:55::-;332:1303:109;;-1:-1:-1;;332:1303:109;1949:1:30;332:1303:109;;;;4518:62:106;332:1303:109;4185:9:106;;;;4384:120;332:1303:109;;-1:-1:-1;;;4470:19:106;;;;;4256:114;332:1303:109;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;4038:132;332:1303:109;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;332:1303:109;4070:39:106;;4042:67;;3057:971;3124:36;;;332:1303:109;3124:50:106;;-1:-1:-1;;;;;332:1303:109;;;3124:50:106;;3120:419;;3057:971;3557:34;;;332:1303:109;3557:48:106;;-1:-1:-1;;;;;332:1303:109;;;3557:48:106;;3553:465;;3057:971;;;3553:465;3629:21;;;332:1303:109;;3629:21:106;;3678:19;;;332:1303:109;3678:24:106;:74;;;3625:379;3674:157;3057:971;3674:157;332:1303:109;;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;332:1303:109;3706:46:106;;-1:-1:-1;;;;;332:1303:109;;;3706:46:106;;3678:74;;3625:379;3859:19;;;332:1303:109;3859:24:106;;;:74;;;3625:379;3855:149;3553:465;3855:149;332:1303:109;;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;332:1303:109;3887:46:106;;-1:-1:-1;;;;;332:1303:109;;;3887:46:106;;;3859:74;;3120:419;3198:23;;;332:1303:109;;3198:23:106;;3249:35;;;332:1303:109;3249:49:106;;-1:-1:-1;;;;;332:1303:109;;;3249:49:106;3120:419;3245:132;332:1303:109;;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;332:1303:109;3405:49:106;;-1:-1:-1;;;;;332:1303:109;;;3405:49:106;3401:124;3120:419;3401:124;332:1303:109;;-1:-1:-1;;;3485:21:106;;;;;2955:92;332:1303:109;;-1:-1:-1;;;3007:29:106;;;;;2850:95;332:1303:109;;-1:-1:-1;;;2908:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;332:1303:109;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;332:1303:109;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;332:1303:109;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;332:1303:109;;;3534:31:24;1809:204:82;;332:1303:109;1110:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;332:1303:109;;;:::i;:::-;;;1096:15;1110:1;;1200:58;332:1303;1200:58;332:1303;1345:165;332:1303;;1200:58;;;;;;:::i;:::-;;1312:17;;1200:58;:::i;:::-;1401:95;1481:13;1200:58;1468:11;;;1481:13;;;332:1303;1401:95;1481:13;332:1303;863:95;;;;;;1200:58;1401:95;;;;;;;:::i;1092:535::-;332:1303;;;;7113:40:106;;332:1303:109;;;;7208:64:106;7209:38;1286:6;332:1303:109;;;;;;;;:::i;:::-;7113:40:106;;;332:1303:109;;;;;;;7113:40:106;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7186:6:106;;;:::i;:::-;332:1303:109;7209:38:106;:::i;:::-;7208:64;332:1303:109;1110:1;332:1303;;;;;;;;;;7208:64:106;;;:::i;:::-;:82;7204:151;;1809:204:82:o;7204:151:106:-;332:1303:109;;-1:-1:-1;;;7313:31:106;;;;;4148:103:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;966:10:28;332:1303:109;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;332:1303:109;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;332:1303:109;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;332:1303:109;;1398:1:82;332:1303:109;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;;;1398:1:82;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;-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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303: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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;3901:31:23;332:1303:109;7892:388:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;;8155:40:23;-1:-1:-1;;8155:40:23;332:1303:109;8209:11:23;:::o;332:1303:109:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;332:1303:109;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;332:1303:109;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;332:1303:109;;-1:-1:-1;;;7191:17:26;;;;;332:1303:109;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;332:1303:109:-;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;1642:1025:106:-;1783:1;332:1303:109;;1746:38:106;1742:119;;1875:23;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;1875:23:106;;332:1303:109;;1875:37:106;;:65;;1642:1025;1871:130;;332:1303:109;2138:42:106;332:1303:109;2507:36:106;332:1303:109;2011:72:106;332:1303:109;;;2011:72:106;1991:1:30;;2011:72:106;2094:34;2109:19;;;332:1303:109;2094:34:106;1991:1:30;;332:1303:109;;;;;;;;;;2138:42:106;332:1303:109;;;2138:42:106;332:1303:109;;2138:42:106;2195:33;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2191:148:106;;1642:1025;-1:-1:-1;2352:32:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2348:146:106;;-1:-1:-1;2507:36:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;2503:158:106;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;332:1303:109;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;332:1303:109;1916:24:106;;1875:65;;1742:119;332:1303:109;;-1:-1:-1;;;1807:43:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;332:1303:109;;5674:21:56;:17;;5799:158;;;;;;5670:354;332:1303:109;;-1:-1:-1;;;5994:19:56;;;;;4589:408;332:1303:109;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;332:1303:109;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;332:1303:109;;;4917:24:56;;;332:1303:109;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;14296:213:69;332:1303:109;14374:24:69;;;;14370:103;;332:1303:109;14296:213:69;:::o;14370:103::-;332:1303:109;;;;14421:41:69;;;;;;14452:2;14421:41;;;332:1303:109;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":5469,"length":32},{"start":8747,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"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\":\"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629\",\"dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x8d52dc05551fd337f0db6aceb5f07efa11c5d4a996efb71dc13bd11752416ff8","urls":["bzz-raw://1e70021929e804ddfa912e4cb418972a689f026ab3c3ee264be3f821670a6629","dweb:/ipfs/QmUW1BNiekp1irAfGLCoeo8C4LrSVRgDHCAei1M2S2pVSi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":109} \ No newline at end of file +{"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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"0x60c03461011c57612882906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516127399081610149823960805181818161056601526106d1015260a05181818161155d015261222b0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe608060405260043610612221575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b600361222157611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206126e483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f805160206126c4833981519152602052610758600160405f200154611ba1565b612010565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206126e48339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd6119a9565b91610cde6040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f805160206126c4833981519152602052610f5c600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806121e9565b6119fc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61108061225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610cde60405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e81610700565b60408401526080810151611b3181610700565b606084015260a0810151611b4481610700565b60808401520151611b5481610700565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f82610700565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b81610700565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204ca194ae4a434d94ef4ce327695e1f46b458966a482a3f7129e348d5c5275c8964736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;332:1303:109;;;;;;;;;7896:76:26;;332:1303:109;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;332:1303:109;;;;;;;927:17:82;332:1303:109;;;;;;;;;;1445:31:106;332:1303:109;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;332:1303:109;;;;;;;;;;;;;8087:29:26;;332:1303:109;;8087:29:26;7981:146;;;;;7896:76;332:1303:109;;-1:-1:-1;;;7938:23:26;;;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;-1:-1:-1;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610612221575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b600361222157611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206126e483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f805160206126c4833981519152602052610758600160405f200154611ba1565b612010565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206126e48339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd6119a9565b91610cde6040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f805160206126c4833981519152602052610f5c600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806121e9565b6119fc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61108061225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610cde60405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e81610700565b60408401526080810151611b3181610700565b606084015260a0810151611b4481610700565b60808401520151611b5481610700565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f82610700565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b81610700565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204ca194ae4a434d94ef4ce327695e1f46b458966a482a3f7129e348d5c5275c8964736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;2603:64:50;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;332:1303: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;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;332:1303:109;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3653:32:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;757:38:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;612:37:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;2084:35:108;332:1303:109;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;4919:24:23;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;332:1303:109;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;332:1303:109;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;;;;6431:44:26;;;;332:1303:109;6427:105:26;;-1:-1:-1;;332:1303:109;;;;;;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;-1:-1:-1;;;332:1303:109;;;6656:20:26;;;;332:1303:109;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;6450:25:26;;;6431:44;;1655:71:82;332:1303:109;;-1:-1:-1;;;1703:12:82;;332:1303:109;;1703:12:82;3666:88:30;332:1303:109;;-1:-1:-1;;;3713:30:30;;332:1303:109;;3713:30:30;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;655:32:82;-1:-1:-1;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;:::o;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;5350:25:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5350:25;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1329:40:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;332:1303:109;;6441:34:23;6437:102;;6549:37;332:1303:109;;;6549:37:23;:::i;6437:102::-;332:1303:109;;-1:-1:-1;;;6498:30:23;;332:1303:109;;6498:30:23;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;4126:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2255:34:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;-1:-1:-1;;;;;;;;;;;;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;332:1303:109;;;;;;734:29:82;730:87;;332:1303:109;;;;;6431:44:26;;;;;332:1303:109;6427:105:26;;;6656:20;332:1303:109;6656:20:26;332:1303:109;1167:340:82;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;332:1303:109;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;332:1303:109;;-1:-1:-1;;;786:20:82;;332:1303:109;;786:20:82;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2718:59:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1041:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;1989:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1564:45:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2423:32:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;3975:40:24;332:1303:109;;3975:40:24;332:1303:109;;;;;;;-1:-1:-1;;332:1303:109;;;;;;4027:43:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;332:1303:109;2594:68:108;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3932:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3833:43:108;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3901:31:23;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;3901:31:23;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;332:1303:109;;;;;;;;;;477:31:86;;332:1303:109;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;332:1303:109;518:79:86;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;900:35:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;2953:94:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;2953:94:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;2953:94:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3103:92:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;3103:92:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;4396:31:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2833:64:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2345:22:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1183:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3543:54:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2175:24:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3741:36:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;5767:26:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5767:26;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;466:39:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4221:36:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4313:27:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1466:3:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1286:6:106;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2357:1:24;332:1303:109;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;3437:50:108;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;477:31:86;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;1167:340:82:-;;332:1303:109;1167:340:82;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;1949;-1:-1:-1;;;;;332:1303:109;;;;1376:73:82;;1167:340;332:1303:109;;;;:::i;:::-;674:55;332:1303;;674:55;;;;;;;;;;;:::i;:::-;782:17;2802:37:106;782:17:109;;332:1303;;;;2802:37:106;;;;;;:::i;:::-;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;2854:31:106;2850:95;;2959:20;;;;;332:1303:109;;;;;;;;;;;2959:25:106;2955:92;;3061:29;;;332:1303:109;;3061:29:106;;332:1303:109;3061:43:106;;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;3061:43:106;;3057:971;;1167:340:82;4043:23:106;;;332:1303:109;4042:24:106;332:1303:109;;;;;;;;4042:24:106;;332:1303:109;4042:24:106;:67;;;1167:340:82;4038:132:106;;4200:28;;;-1:-1:-1;4185:9:106;1949:1:30;;;4180:411:106;-1:-1:-1;;332:1303:109;;4605:43:106;;-1:-1:-1;;;;;;332:1303:109;;;4605:43:106;;4601:697;;4180:411;6798:32;5411:34;332:1303:109;5411:34:106;;6015:42;332:1303:109;5411:34:106;;;811:157:109;5411:34:106;;332:1303:109;;5411:34:106;863:95:109;5411:34:106;332:1303:109;863:95;5411:34:106;;5343:468;5411:34;5343:468;5960:44;5411:34;5343:468;5411:34;5873:22;5411:34;;332:1303:109;5477:19:106;5343:468;5477:19;;;332:1303:109;5532:23:106;5343:468;332:1303:109;5532:23:106;;;332:1303:109;;;;;;;;;;5601:33:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;5679:32:106;;;332:1303:109;5679:32:106;;;332:1303:109;;5760:36:106;;-1:-1:-1;;;;;332:1303:109;5760:36:106;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;:::i;:::-;;;;5343:468:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;5343:468:106;;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;4043:23:106;5343:468;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;5343:468:106;;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;5343:468:106;;;332:1303:109;;5343:468:106;;:::i;:::-;332:1303:109;;5832:30:106;;-1:-1:-1;;;;;332:1303:109;1398:1:82;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;5832:30:106;5882:13;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;1949:1:30;332:1303:109;;;1949:1:30;332:1303:109;;5873:22:106;5906:44;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;;-1:-1:-1;;;332:1303:109;;;;;;;;5906:44:106;332:1303:109;;;;;;1949:1:30;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;5960:44:106;332:1303:109;;;;;;;;;1398:1:82;332:1303:109;;;;;;;1398:1:82;332:1303:109;;6015:42:106;6068:38;332:1303:109;5343:468:106;6085:21;;332:1303:109;;;;;;;1398:1:82;332:1303:109;;;;;;;;;;;;1398:1:82;332:1303:109;;6068:38:106;6116:34;5343:468;6131:19;;332:1303:109;6116:34:106;1991:1:30;;6116:34:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6161:135:106;;4180:411;-1:-1:-1;6309:36:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6305:157:106;;4180:411;-1:-1:-1;6475:35:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6471:153:106;;4180:411;-1:-1:-1;6637:34:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6633:152:106;;4180:411;-1:-1:-1;6798:32:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6794:145:106;;4180:411;930:11:109;;;;;;943:13;;;332:1303;;863:95;;;;;;;;;;;;;;:::i;:::-;1615:14:106;811:157:109;:::i;:::-;;1167:340:82:o;6794:145:106:-;6860:68;;;:::i;:::-;;6794:145;;;6633:152;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;332:1303:109;4668:37:106;;-1:-1:-1;;;;;332:1303:109;;;4668:37:106;:23;;4729:32;;;332:1303:109;4729:46:106;;-1:-1:-1;;;;;332:1303:109;;;4729:46:106;:32;;4803:36;;;332:1303:109;4803:50:106;;-1:-1:-1;;;;;332:1303:109;;;4803:50:106;;;:78;;;4725:396;4799:167;;6798:32;4725:396;332:1303:109;4725:396:106;;6015:42;332:1303:109;4725:396:106;;;811:157:109;4725:396:106;;332:1303:109;;4725:396:106;863:95:109;4725:396:106;332:1303:109;863:95;4725:396:106;;5343:468;5873:22;4725:396;5343:468;5960:44;4725:396;;4601:697;;;;;;;;;;;;;;;;;;;;;;;;;;;4799:167;332:1303:109;;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;332:1303:109;4857:24:106;4803:78;;4725:396;4994:36;;;332:1303:109;4994:50:106;;-1:-1:-1;;;;;332:1303:109;;;4994:50:106;;4990:131;;6798:32;4725:396;332:1303:109;4725:396:106;;6015:42;332:1303:109;4725:396:106;;;811:157:109;4725:396:106;;332:1303:109;;4725:396:106;863:95:109;4725:396:106;332:1303:109;863:95;4725:396:106;;5343:468;5873:22;4725:396;5343:468;5960:44;4725:396;;;4664:624;5145:32;;;332:1303:109;5145:46:106;;-1:-1:-1;;;;;332:1303:109;;;5145:46:106;;:74;;;4664:624;5141:147;;6798:32;4664:624;332:1303:109;4664:624:106;;6015:42;332:1303:109;4664:624:106;;;811:157:109;4664:624:106;;332:1303:109;;4664:624:106;863:95:109;4664:624:106;332:1303:109;863:95;4664:624:106;;5343:468;5873:22;4664:624;5343:468;5960:44;4664:624;;;5145:74;5195:19;;;;332:1303:109;5195:24:106;5145:74;;4237:3;4200:28;;332:1303:109;;4196:39:106;;;;;4260:31;;;:45;:31;;:::i;:45::-;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;4388:22:106;332:1303:109;;;;;;;4388:55:106;332:1303:109;;;;;4388:55:106;4384:120;;4541:28;;;4518:62;:55;4541:31;;:28;;;;:31;:::i;4518:55::-;332:1303:109;;-1:-1:-1;;332:1303:109;1949:1:30;332:1303:109;;;;4518:62:106;332:1303:109;4185:9:106;;;;4384:120;332:1303:109;;-1:-1:-1;;;4470:19:106;;;;;4256:114;332:1303:109;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;4038:132;332:1303:109;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;332:1303:109;4070:39:106;;4042:67;;3057:971;3124:36;;;332:1303:109;3124:50:106;;-1:-1:-1;;;;;332:1303:109;;;3124:50:106;;3120:419;;3057:971;3557:34;;;332:1303:109;3557:48:106;;-1:-1:-1;;;;;332:1303:109;;;3557:48:106;;3553:465;;3057:971;;;3553:465;3629:21;;;332:1303:109;;3629:21:106;;3678:19;;;332:1303:109;3678:24:106;:74;;;3625:379;3674:157;3057:971;3674:157;332:1303:109;;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;332:1303:109;3706:46:106;;-1:-1:-1;;;;;332:1303:109;;;3706:46:106;;3678:74;;3625:379;3859:19;;;332:1303:109;3859:24:106;;;:74;;;3625:379;3855:149;3553:465;3855:149;332:1303:109;;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;332:1303:109;3887:46:106;;-1:-1:-1;;;;;332:1303:109;;;3887:46:106;;;3859:74;;3120:419;3198:23;;;332:1303:109;;3198:23:106;;3249:35;;;332:1303:109;3249:49:106;;-1:-1:-1;;;;;332:1303:109;;;3249:49:106;3120:419;3245:132;332:1303:109;;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;332:1303:109;3405:49:106;;-1:-1:-1;;;;;332:1303:109;;;3405:49:106;3401:124;3120:419;3401:124;332:1303:109;;-1:-1:-1;;;3485:21:106;;;;;2955:92;332:1303:109;;-1:-1:-1;;;3007:29:106;;;;;2850:95;332:1303:109;;-1:-1:-1;;;2908:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;332:1303:109;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;332:1303:109;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;332:1303:109;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;332:1303:109;;;3534:31:24;1809:204:82;;332:1303:109;1110:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;332:1303:109;;;:::i;:::-;;;1096:15;1110:1;;1200:58;332:1303;1200:58;332:1303;1345:165;332:1303;;1200:58;;;;;;:::i;:::-;;1312:17;;1200:58;:::i;:::-;1401:95;1481:13;1200:58;1468:11;;;1481:13;;;332:1303;1401:95;1481:13;332:1303;863:95;;;;;;1200:58;1401:95;;;;;;;:::i;1092:535::-;332:1303;;;;7113:40:106;;332:1303:109;;;;7208:64:106;7209:38;1286:6;332:1303:109;;;;;;;;:::i;:::-;7113:40:106;;;332:1303:109;;;;;;;7113:40:106;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7186:6:106;;;:::i;:::-;332:1303:109;7209:38:106;:::i;:::-;7208:64;332:1303:109;1110:1;332:1303;;;;;;;;;;7208:64:106;;;:::i;:::-;:82;7204:151;;1809:204:82:o;7204:151:106:-;332:1303:109;;-1:-1:-1;;;7313:31:106;;;;;4148:103:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;966:10:28;332:1303:109;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;332:1303:109;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;332:1303:109;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;332:1303:109;;1398:1:82;332:1303:109;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;;;1398:1:82;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;-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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303: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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;3901:31:23;332:1303:109;7892:388:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;;8155:40:23;-1:-1:-1;;8155:40:23;332:1303:109;8209:11:23;:::o;332:1303:109:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;332:1303:109;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;332:1303:109;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;332:1303:109;;-1:-1:-1;;;7191:17:26;;;;;332:1303:109;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;332:1303:109:-;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;1642:1025:106:-;1783:1;332:1303:109;;1746:38:106;1742:119;;1875:23;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;1875:23:106;;332:1303:109;;1875:37:106;;:65;;1642:1025;1871:130;;332:1303:109;2138:42:106;332:1303:109;2507:36:106;332:1303:109;2011:72:106;332:1303:109;;;2011:72:106;1991:1:30;;2011:72:106;2094:34;2109:19;;;332:1303:109;2094:34:106;1991:1:30;;332:1303:109;;;;;;;;;;2138:42:106;332:1303:109;;;2138:42:106;332:1303:109;;2138:42:106;2195:33;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2191:148:106;;1642:1025;-1:-1:-1;2352:32:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2348:146:106;;-1:-1:-1;2507:36:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;2503:158:106;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;332:1303:109;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;332:1303:109;1916:24:106;;1875:65;;1742:119;332:1303:109;;-1:-1:-1;;;1807:43:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;332:1303:109;;5674:21:56;:17;;5799:158;;;;;;5670:354;332:1303:109;;-1:-1:-1;;;5994:19:56;;;;;4589:408;332:1303:109;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;332:1303:109;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;332:1303:109;;;4917:24:56;;;332:1303:109;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;14296:213:69;332:1303:109;14374:24:69;;;;14370:103;;332:1303:109;14296:213:69;:::o;14370:103::-;332:1303:109;;;;14421:41:69;;;;;;14452:2;14421:41;;;332:1303:109;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":5469,"length":32},{"start":8747,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"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 5d051e8..2df87ac 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -551,44 +551,33 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran } if (nextEpochDurationInitInternal != 0 && nextEpochDurationInitInternal <= Time.timestamp()) { - uint256 currentEpoch_ = currentEpoch(); - uint48 currentEpochStart_ = currentEpochStart(); - prevEpochInitInternal = epochInitInternal; prevEpochDurationInternal = epochDurationInternal; prevEpochDurationInitInternal = epochDurationInitInternal; - epochInitInternal = currentEpoch_; + epochInitInternal = nextEpochInitInternal; epochDurationInternal = nextEpochDurationInternal; - epochDurationInitInternal = currentEpochStart_; + epochDurationInitInternal = nextEpochDurationInitInternal; epochDurationSetEpochsDelayInternal = nextEpochDurationSetEpochsDelayInternal; - nextEpochInitInternal = 0; - nextEpochDurationInternal = 0; - nextEpochDurationInitInternal = 0; - nextEpochDurationSetEpochsDelayInternal = 0; } if (epochDurationInternal > epochDuration_) { revert InvalidNewEpochDuration(); } - if (nextEpochDurationInitInternal != 0) { - nextEpochInitInternal = 0; - nextEpochDurationInternal = 0; - nextEpochDurationInitInternal = 0; - nextEpochDurationSetEpochsDelayInternal = 0; - } else if (epochDurationInternal == epochDuration_) { + if ( + epochDurationInternal == epochDuration_ + && epochDurationSetEpochsDelayInternal == epochDurationSetEpochsDelay_ + ) { revert AlreadySet(); } - if (epochDurationInternal != epochDuration_) { - nextEpochInitInternal = currentEpoch() + epochDurationSetEpochsDelayInternal; - nextEpochDurationInternal = epochDuration_; - nextEpochDurationInitInternal = - (currentEpochStart() + epochDurationSetEpochsDelayInternal * epochDurationInternal).toUint48(); - nextEpochDurationSetEpochsDelayInternal = epochDurationSetEpochsDelay_; - } + nextEpochInitInternal = currentEpoch() + epochDurationSetEpochsDelayInternal; + nextEpochDurationInternal = epochDuration_; + nextEpochDurationInitInternal = + (currentEpochStart() + epochDurationSetEpochsDelayInternal * epochDurationInternal).toUint48(); + nextEpochDurationSetEpochsDelayInternal = epochDurationSetEpochsDelay_; - emit SetEpochDuration(epochDuration_); + emit SetEpochDuration(epochDuration_, epochDurationSetEpochsDelay_); } /** diff --git a/src/interfaces/vault/v1.1/IVault.sol b/src/interfaces/vault/v1.1/IVault.sol index 7826ca4..86a7259 100644 --- a/src/interfaces/vault/v1.1/IVault.sol +++ b/src/interfaces/vault/v1.1/IVault.sol @@ -195,8 +195,9 @@ interface IVault is IVaultStorage, IAccessControl, IERC165, IERC3156FlashLender /** * @notice Emitted when a epoch duration is set (can be accepted after `epochDurationSetEpochsDelay` epochs). * @param epochDuration epoch duration + * @param epochDurationSetEpochsDelay delay for the epoch duration set in epochs */ - event SetEpochDuration(uint48 epochDuration); + event SetEpochDuration(uint48 epochDuration, uint256 epochDurationSetEpochsDelay); /** * @notice Emitted when a pending epoch duration is accepted. diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index aa6b10f..0c55e3a 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -2961,16 +2961,16 @@ contract VaultTest is Test { assertEq(vault.prevEpochInitInternal(), 0); assertEq(vault.prevEpochDurationInternal(), epochDuration); assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 3 * epochDuration); - assertEq(vault.nextEpochInitInternal(), 0); - assertEq(vault.nextEpochDurationInternal(), 0); - assertEq(vault.nextEpochDurationInitInternal(), 0); + assertEq(vault.nextEpochInitInternal(), 3 + 5); + assertEq(vault.nextEpochDurationInternal(), newEpochDuration); + assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 5 * newEpochDuration); assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), 3 + 1); assertEq(vault.epochDurationSetEpochsDelay(), 5); assertEq(vault.epochDurationSetEpochsDelayInternal(), 5); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 0); + assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 3); _setEpochDuration(alice, newEpochDuration2); @@ -3079,15 +3079,20 @@ contract VaultTest is Test { function test_SetEpochDurationRevertAlreadySet( uint48 epochDuration ) public { - epochDuration = uint48(bound(epochDuration, 1, 50 weeks)); + epochDuration = uint48(bound(epochDuration, 2, 50 weeks)); uint256 blockTimestamp = vm.getBlockTimestamp(); blockTimestamp = blockTimestamp + 1_720_700_948; vm.warp(blockTimestamp); - vault = _getVault(epochDuration); + vault = _getVault(epochDuration - 1); _grantEpochDurationSetRole(alice, alice); + _setEpochDuration(alice, epochDuration); + + blockTimestamp = blockTimestamp + vault.epochDurationSetEpochsDelay() * (epochDuration - 1); + vm.warp(blockTimestamp); + vm.expectRevert(IVault.AlreadySet.selector); _setEpochDuration(alice, epochDuration); } From 762081c1a48bfae108bf7d9dc8d2ca6753e69993 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 24 Feb 2025 14:45:24 +0400 Subject: [PATCH 11/12] refactor: rename epoch vars --- .../VaultImplementation.json | 2 +- .../VaultTokenizedImplementation.json | 2 +- out/VaultVotes.sol/VaultVotes.json | 2 +- .../VaultVotesImplementation.json | 2 +- out/v1.1/Vault.sol/Vault.json | 2 +- .../VaultTokenized.sol/VaultTokenized.json | 2 +- src/contracts/vault/v1.1/Vault.sol | 8 +- .../vault/v1.1/VaultImplementation.sol | 76 +++---- src/contracts/vault/v1.1/VaultStorage.sol | 22 +- src/interfaces/vault/v1.1/IVaultStorage.sol | 22 +- test/vault/v1.1/Vault.t.sol | 212 +++++++++--------- 11 files changed, 173 insertions(+), 179 deletions(-) diff --git a/out/VaultImplementation.sol/VaultImplementation.json b/out/VaultImplementation.sol/VaultImplementation.json index 4c5992f..b4c4cc0 100644 --- a/out/VaultImplementation.sol/VaultImplementation.json +++ b/out/VaultImplementation.sol/VaultImplementation.json @@ -1 +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":"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":"_Vault_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","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":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"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":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614c1638819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614b6990816100ad8239608051818181611458015261194a015260a051818181611d6d01526122750152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612ad4565b612aaa565b612a04565b6128b9565b61289c565b61287e565b612861565b612844565b612832565b6127f8565b6127cd565b6127a2565b6126e2565b612696565b612679565b612651565b612637565b6125c9565b6125af565b6124ef565b6124d5565b6124b8565b61247e565b612456565b61242c565b61236b565b6121c2565b6121a4565b61217c565b612136565b6120e9565b612004565b611fca565b611fb0565b611f8c565b611ebf565b611e85565b611e27565b611e02565b611d9c565b611d58565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b9613135565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613f20565b613f20565b8211610748576107046106f5613e38565b6106fd613eac565b9084613f73565b918215610733578261071592613177565b9061071e613164565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614af48339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613e06565b612d42565b801561081e575f19810190811161081957610809602091612f8a565b65ffffffffffff60405191168152f35b612af1565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e8552604090206134b1565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614af48339815191526020526109f1600160405f2001546136df565b61370b565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f6906004356137a6565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae7613135565b610aef61357d565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b1483398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612b41565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f613135565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613838565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b13565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613e38565b95610cc3610c86613eac565b610cae610c948a838b613f73565b99610ca88a610ca242613e06565b92612ba9565b9061398c565b5050610cbd89610ca242613e06565b90613a6c565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613e06565b6001600160a01b039095165f908152600e6020526040902090565b612ba9565b91613b48565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613164565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e38565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612b81565b5f80610c4b565b503d610da9565b612b90565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612bb6565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b90613326565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e613135565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b1483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f613135565b6110376135da565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613164565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612bfc565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b611165959195613135565b61116e84612c95565b831161134a5761117e83856130a2565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613c06565b516323e30c8b60e01b8152998a988997889633908801612c4b565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612b13565b036112da57506016546001600160a01b03169081166112c9575b836112bf613164565b5160018152602090f35b6112d292613c06565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612c95565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613e06565b612f8a565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d0613135565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613e06565b9061150181612d42565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613e38565b9461155f61155182612b9b565b5f52600660205260405f2090565b549082810361164457506115738187612ba9565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613164565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613c06565b611590565b61163993610c4b83610ca861162361161c611551986116339888613cdd565b8096612b13565b9461162d42613e06565b92612b13565b92612b9b565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612ba9565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613cdd565b9788958584613cdd565b948592612b13565b612b13565b93848410611703575b610c4b90610ca86116d795969761162d42613e06565b6116e361155187612b9b565b55612b13565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612b13565b90612ba9565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612b05565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613e06565b6001810180911161081957610809602091612f8a565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613e06565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612e2d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906133fc565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d613135565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613164565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190612f62565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190612f4d565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b602435611ab4613135565b611abc613631565b60038110611d465765ffffffffffff9182611ae260135465ffffffffffff9060601c1690565b168015159081611d30575b50611c32575b60015460d01c838083169116818111611c20571480611c15575b610b4b57611bea611bc1611bbc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b5c611b57611b4e6107e842613e06565b600f5490612ba9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b8e6113dc6107e842613e06565b90611bb5600f54611baf611ba460015460d01c90565b65ffffffffffff1690565b90612f77565b9116612ba9565b613e06565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611bf382601055565b6040805165ffffffffffff9290921682526020820192909252a16109f6613164565b5081600f5414611b0d565b6040516359dcfd5560e11b8152600490fd5b611c3d601154601255565b611c77611c4c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611ca39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cae601454601155565b601354611ce59060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d209060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d2b601054600f55565b611af3565b9050611d3e611ba442613e06565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611db86107e842613e06565b611dc0613e38565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611e79602435611e4b8161067f565b6004355f525f80516020614af4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611ea28161067f565b60018060a01b03165f52600e60205260206109a260405f20613f20565b346105ca576040806003193601126105ca57600435611edd8161067f565b6024356001600160401b0381116105ca575f80611f7b93611f0460809436906004016110e2565b908188519283928337810184815203915af43d15611f835760203d611f28816108d9565b90611f35875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611f3e565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120218161067f565b60243561202d81610ab8565b612035613135565b61203d613688565b6001600160a01b0382169182156120d7575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120cc916120ba908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613164565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca57602061212d60243561210b8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e7960243561215a8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca576020610809600435612f8a565b346105ca576020806003193601126105ca5760048035906121e28261067f565b6121ea613135565b60035460a01c60ff1661235c576001600160a01b0382811693908461224a575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613164565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f9161233f575b501561232e5760405163fbfa77cf60e01b815282818581895afa928315610dc9575f9361230f575b5050309116036123005750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061220a565b604051633f3e089160e21b8152fd5b612326929350803d10611a3d57611a2d81836108a9565b905f806122cd565b60405163dabc4ad960e01b81528390fd5b6123569150833d8511611a7a57611a6c81836108a9565b5f6122a5565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca576004356123888161067f565b60243590612394613135565b6001600160a01b039181831690811561241a576123c561072f946123b783613d6a565b9485915f5460101c16613c06565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b14833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613e38565b346105ca5760203660031901126105ca5760043561250b613135565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca5760206109a2613eac565b346105ca5760203660031901126105ca576004356125e68161067f565b6125f26107e842613e06565b6125fb82612bfc565b9161260681836130d7565b8301809311610819576001820180921161081957612623916130d7565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613062565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f66024356004356126b98261067f565b805f525f80516020614af48339815191526020526126dd600160405f2001546136df565b6137a6565b346105ca5760203660031901126105ca576004356126fe613135565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356127ef8161067f565b602435906130a2565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128d68161067f565b6128de610830565b6001600160401b0391906044358381116105ca576129009036906004016110e2565b909260409384516129108161086e565b6060815260606020820152606086820152928061296f575b61072f86612960878761295a6129418984845191612b20565b92856129516020850151836133fc565b93015190613326565b91613f73565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129a08761086e565b84358181116105ca57826129b59187016108f4565b875260208501358181116105ca57826129cf9187016108f4565b6020880152858501359081116105ca5761072f966129f861295a936129419361296098016108f4565b87820152939450612928565b346105ca5760403660031901126105ca57600435612a218161067f565b602435612a2c613135565b6001600160a01b0382161561075a578015612a9857612a5b612a4c613eac565b612a54613e38565b90836143b6565b335f908152600e60205260409020909290612a7590613f20565b8311612a8657610715918391613177565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612acc8161067f565b6004356130d7565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed9291906134b1565b65ffffffffffff8060135460601c169081158015612b6e575b612b62575090565b905060015460a01c1690565b508181612b7a42613e06565b1610612b5a565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612be8575b50612bdd5760901c1690565b505060015460d01c90565b905082612bf442613e06565b16105f612bd1565b6001600160a01b03165f908152600e60205260409020612c1b90613f20565b612c23613e38565b612c2b613eac565b9060018101809111610819576001820180921161081957610eed92613cdd565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cf5576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612cdc575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d3d57160490565b612d12565b60015465ffffffffffff808316929160a081901c821680851015612dba5750506013549281841690818015918215612db0575b5050612d9e57610eed9361171992612d93611ba49360125496612cfa565b9160301c1690612d26565b60405163b7d0949760e01b8152600490fd5b109050815f612d75565b909160135490808260601c1695868015918215612e23575b505015612dfe575050610eed935061171991612df4611ba49260115495612cfa565b9060d01c90612d26565b6117199350611ba49250612e18610eed9660145496612cfa565b9160901c1690612d26565b109050865f612dd2565b90612e36613135565b5f926001600160a01b03831692831561241a578115612ee0575f5b828110612ebe57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea1918491612e9c9060101c6001600160a01b0316611194565b613c06565b612eb2604051928392339684612f1b565b0390a3906108d7613164565b94612ed9600191611719612ed3898789612f06565b35613d6a565b9501612e51565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f165760051b0190565b612ef2565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b6012548082106130505760115480831015612fcb5750611bbc90610eed92611bb5612fbf6013549365ffffffffffff93612b13565b828460301c1690612f77565b905060145480158015613047575b156130115750610eed9165ffffffffffff613007612ffd611bbc9460015494612b13565b8360d01c90612f77565b9160a01c16612ba9565b611bbc9150610eed9261303d6130316013549365ffffffffffff93612b13565b828460901c1690612f77565b9160601c16612ba9565b50808310612fd9565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c16801591821561308d575b50506130875760105490565b600f5490565b90915061309942613e06565b16105f8061307b565b5f5460101c6001600160a01b039081169116036130c557601554610eed91613c5f565b60405163350b944160e11b8152600490fd5b906130fd90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613cdd565b5f80516020614b1483398151915260028154146131525760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b1483398151915255565b335f908152600e602052604090209392919061319242613e06565b335f908152600e602052604090206131a990613f20565b91848303928311610819576131e47febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361327399613b48565b50506131fe6131f242613e06565b610cbd876116b3613eac565b505061321861320c42613e06565b610ca8846116b3613e38565b50506132c1816132ac6132356132306107e842613e06565b612b9b565b61328b61324a825f52600660205260405f2090565b5461325d835f52600760205260405f2090565b5461326982828b613f73565b9d8e998a93612ba9565b613285855f52600660205260405f2090565b55612ba9565b61329d825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132cc838254612ba9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156133f25780602080613341935183010191016132f5565b61334a816141e4565b9061335b825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e65782119182613391575b50506133885750610eed90613f94565b60209150015190565b90915061339f600a54612b05565b63ffffffff8316149182156133b8575b50505f80613378565b6133de9192506133d26133cd611ba492613311565b6141e4565b5165ffffffffffff1690565b115f806133af565b50505060209150015190565b50610eed90613f94565b908051156134a75780602080613417935183010191016132f5565b6134208161426e565b90613431825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261345e575b50506133885750610eed9061405b565b90915061346c600c54612b05565b63ffffffff831614918215613485575b50505f8061344e565b61349f9192506133d261349a611ba492613311565b61426e565b115f8061347c565b50610eed9061405b565b9180511561357357806020806134cc935183010191016132f5565b916134d783826142ee565b926134e8845165ffffffffffff1690565b9065ffffffffffff8085169216828114613567578211918261351e575b505061351557610eed925061411b565b50506020015190565b90915061352b8354612b05565b63ffffffff831614918215613544575b50505f80613505565b61355f9192506133d2613559611ba492613311565b856142ee565b115f8061353b565b50505050506020015190565b50610eed9161411b565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135d0565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135d0565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135d0565b5f8181525f80516020614af483398151915260209081526040808320338452909152902060ff906135d0565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261435c565b600b54811015612f1657600b5f525f80516020614ad483398151915201905f90565b600d54811015612f1657600d5f525f80516020614ab483398151915201905f90565b8054821015612f16575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612f1657600d5f525f80516020614ab48339815191520155565b600b54600160401b811015610889576001810180600b55811015612f1657600b5f525f80516020614ad48339815191520155565b90815491600160401b83101561088957826139749160016108d7950181556138d4565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a37575b506139a46143ef565b509290918154926139b3613e38565b9481613a22575b50156139ff57505f1982018281116108195781541115612f16575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a13926001600160d01b031691506145eb565b5050613a1e836138e9565b9190565b65ffffffffffff83811691161490505f6139ba565b600160401b8110156108895760018101808455811015612f16575f908382525f80516020614ab483398151915201555f61399b565b919091600b9081548015613b13575b50613a84614444565b50929091815492613a93613eac565b9481613afe575b5015613adf57505f1982018281116108195781541115612f16575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613af3926001600160d01b031691506146bb565b5050613a1e8361391d565b65ffffffffffff83811691161490505f613a9a565b600160401b8110156108895760018101808455811015612f16575f908382525f80516020614ad483398151915201555f613a7b565b90929192600182019081548015613bd6575b5084613b6584614499565b50949092845493613b7583613f20565b9681613bc1575b5015613b9e575050505f198101908111610819576139748591613a1e936138d4565b613a1e949293613bba926001600160d01b03909116919061475a565b5050613951565b65ffffffffffff83811691161490505f613b7c565b600160401b81101561088957806001613bf292018455836138d4565b8154905f199060031b1b191690555f613b5a565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261435c565b8115612d3d570490565b90808202905f1981840990828083109203918083039214613cd057633b9aca009082821115613cbe577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d5d5784831115613d505790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144d2565b505090610eed9250613c55565b90613d776107e842613e06565b8210156130505760ff613da7613d95845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613df457613db733836130d7565b918215613de257613dd5906132ac33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e19571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e7357505f5b6001600160d01b03811615612cf557600d54811015612f1657600d5f525f80516020614ab4833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e43565b600a5480613ee757505f5b6001600160d01b03811615612cf557600b54811015612f1657600b5f525f80516020614ad4833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613eb7565b805480613f5557505f5b6001600160d01b03811615613f4f576001613f4592016138d4565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613f2a565b919060018101809111610819576001820180921161081957610eed92613cdd565b600a54905f829160058411614002575b613fae935061493f565b80613fd157505f5b6001600160d01b03811615612cf557613f45610eed91613890565b613ff6613fe0613ffd92612b05565b600a5f525f80516020614a948339815191520190565b5460301c90565b613fb6565b919261400d81614814565b810390811161081957613fae93600a5f5265ffffffffffff80835f80516020614a94833981519152015416908516105f14614049575091613fa4565b92915061405590612b9b565b90613fa4565b600c54905f8291600584116140c2575b61407593506149a8565b8061409857505f5b6001600160d01b03811615612cf557613f45610eed916138b2565b613ff66140a76140bd92612b05565b600c5f525f80516020614a748339815191520190565b61407d565b91926140cd81614814565b81039081116108195761407593600c5f5265ffffffffffff80835f80516020614a74833981519152015416908516105f1461410957509161406b565b92915061411590612b9b565b9061406b565b908154905f82916005841161417e575b614136935084614a11565b8061415e57505f905b6001600160d01b03821615613f4f57610eed916001613f4592016138d4565b613ff661416d61417892612b05565b835f5260205f200190565b9061413f565b919261418981614814565b81039081116108195761413693855f5265ffffffffffff808360205f20015416908516105f146141ba57509161412b565b9291506141c690612b9b565b9061412b565b604051906141d98261088e565b5f6020838281520152565b6141ec6141cc565b506141f56141cc565b50600a54811015612f1657600a5f526020604051916142138361088e565b5f80516020614a9483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1657600b5f525f80516020614ad48339815191520154604051916142648361088e565b8252602082015290565b6142766141cc565b5061427f6141cc565b50600c54811015612f1657600c5f5260206040519161429d8361088e565b5f80516020614a7483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1657600d5f525f80516020614ab48339815191520154604051916142648361088e565b906020600161431261433e936143026141cc565b5061430b6141cc565b50856138d4565b5093604051946143218661088e565b549465ffffffffffff86169586825260301c9384910152016138d4565b9054906040519261434e8461088e565b835260031b1c602082015290565b905f602091828151910182855af115612b90575f513d6143ad57506001600160a01b0381163b155b61438b5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614384565b9190600181018091116108195760018201809211610819576143d9828285613cdd565b928215612d3d5709151581018091116108195790565b600c548061440057505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061445557505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144aa5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612f1657600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a7483398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612f1657600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a9483398151915290910155565b8054600160401b811015610889576145ad916001820181556138d4565b6145d857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614692576140a761460391612b05565b9081549165ffffffffffff90818416918316808311614680578692036146485761464192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061467b906146676146596108ca565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144e2565b614641565b604051632520601d60e01b8152600490fd5b506146b6906146a26146596108ca565b6001600160d01b03841660208201526144e2565b5f9190565b600a54919291801561473657613fe06146d391612b05565b9081549165ffffffffffff90818416918316808311614680578692036147115761464192509065ffffffffffff82549181199060301b169116179055565b505061467b906147226146596108ca565b6001600160d01b0385166020820152614539565b506146b6906147466146596108ca565b6001600160d01b0384166020820152614539565b805492939280156147ef5761477161477c91612b05565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614680578793036147bb575061464192509065ffffffffffff82549181199060301b169116179055565b91505061467b916147db6147cd6108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614590565b50906146b6916148006147cd6108ca565b6001600160d01b0385166020830152614590565b6001811115610eed57600181600160801b81101561492d575b6148d56148cb6148c16148b76148ad6148a36148e197600488600160401b6148dc9a1015614920575b640100000000811015614913575b62010000811015614906575b6101008110156148fa575b60108110156148ee575b10156148e6575b60030260011c61489c818b613c55565b0160011c90565b61489c818a613c55565b61489c8189613c55565b61489c8188613c55565b61489c8187613c55565b61489c8186613c55565b8093613c55565b821190565b900390565b60011b61488c565b811c9160021b91614885565b60081c91811b9161487b565b60101c9160081b91614870565b60201c9160101b91614864565b60401c9160201b91614856565b50600160401b9050608082901c61482d565b905b82811061494d57505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614a94833981519152015416908616105f14614995575050915b90614941565b909392508101809111610819579061498f565b905b8281106149b657505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614a74833981519152015416908616105f146149fe575050915b906149aa565b90939250810180911161081957906149f8565b91905b838210614a215750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614a60575050925b9190614a14565b9094935081018091116108195791614a5956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220e4da1debe5a1823789c4113089b10a5eb377f00a9e885211d58fe2fa14a2103064736f6c63430008190033","sourceMap":"1252:21098:101:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21098;;;;;;;;1785:36;1252:21098;;;;;;;;;;1831:32;1252:21098;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;-1:-1:-1;1252:21098:101;;;;;-1:-1:-1;1252:21098:101;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780630fcaeb1b1461056f5780631415519b1461056a5780631b66c9e1146105655780631e89bd8a146105605780631e9a69501461055b578063248a9ca31461055657806327810b6e14610551578063281f57521461054c5780632d73c69c146105475780632f2ff15d1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a578063502b4d601461051557806350861adc1461051057806350f220681461050b57806352741a40146105065780635346e34f1461050157806359f769a9146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e357806364601402146104de578063653b04cd146104d95780636da3e06d146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806375d6c765146104c057806376671808146104bb578063794b15b7146104b65780637953b33b146104b15780637c04c80a146104ac5780637e84ec81146104a7578063810da75d146104a257806383cd9cc31461049d57806383f46c2c1461049857806387df0788146104935780638b0e9f3f1461048e5780638d30d7a71461048957806391d14854146104845780639d66201b1461047f5780639f86fd851461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bc46f72214610439578063bc4f8c0514610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c31e8dd714610420578063c642b0501461041b578063ce9b793014610416578063d2356eb514610411578063d547741f1461040c578063d626811b14610407578063d8dfeb4514610402578063d9d98ce4146103fd578063db388715146103f8578063dc0b1d71146103f3578063ddd0f28a146103ee578063e945da7f146103e9578063ecc98f05146103e4578063ecf70858146103df578063efb559d6146103da578063f3fef3a3146103d5578063f5e7ee0f146103d05763fcdc5b60146103cb575f80fd5b612ad4565b612aaa565b612a04565b6128b9565b61289c565b61287e565b612861565b612844565b612832565b6127f8565b6127cd565b6127a2565b6126e2565b612696565b612679565b612651565b612637565b6125c9565b6125af565b6124ef565b6124d5565b6124b8565b61247e565b612456565b61242c565b61236b565b6121c2565b6121a4565b61217c565b612136565b6120e9565b612004565b611fca565b611fb0565b611f8c565b611ebf565b611e85565b611e27565b611e02565b611d9c565b611d58565b611a90565b6118e5565b6118cc565b6118a4565b61183e565b611820565b6117e0565b6117c2565b61179a565b611768565b6114ac565b611487565b611443565b611409565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611091565b61100a565b610f09565b610ef0565b610e8a565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b61076b565b610690565b61065f565b610625565b6105eb565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca576004356106ad8161067f565b602435906106b9613135565b6001600160a01b0381161561075a57335f908152600e602052604090206106e490613f20565b613f20565b8211610748576107046106f5613e38565b6106fd613eac565b9084613f73565b918215610733578261071592613177565b9061071e613164565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614af48339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107ed6107e842613e06565b612d42565b801561081e575f19810190811161081957610809602091612f8a565b65ffffffffffff60405191168152f35b612af1565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ca5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca576004356109578161067f565b61095f610830565b90604435906001600160401b0382116105ca576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e8552604090206134b1565b604051908152f35b346105ca5760403660031901126105ca576109f66024356004356109cd8261067f565b805f525f80516020614af48339815191526020526109f1600160405f2001546136df565b61370b565b005b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f8161067f565b336001600160a01b03821603610a6b576109f6906004356137a6565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae7613135565b610aef61357d565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b1483398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca576020610809612b41565b346105ca576040806003193601126105ca576004803591610b978361067f565b610b9f613135565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613838565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b13565b938415610d8d5760081c60ff1680610d78575b610d6a57509061072f91610d16610c7a613e38565b95610cc3610c86613eac565b610cae610c948a838b613f73565b99610ca88a610ca242613e06565b92612ba9565b9061398c565b5050610cbd89610ca242613e06565b90613a6c565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106df610cf042613e06565b6001600160a01b039095165f908152600e6020526040902090565b612ba9565b91613b48565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613164565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e38565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db381836108a9565b810190612b81565b5f80610c4b565b503d610da9565b612b90565b610c13919350610dea90853d8711610dc257610db381836108a9565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca576020610809612bb6565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610eed916004016108f4565b90565b346105ca5760206109a2610f0336610eaf565b90613326565b346105ca5760203660031901126105ca57600435610f268161067f565b610f2e613135565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fec57506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b1483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca5760043561102781610ab8565b61102f613135565b6110376135da565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f6613164565b346105ca5760203660031901126105ca5760206109a26004356110b38161067f565b612bfc565b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d8161067f565b6024356111398161067f565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b611165959195613135565b61116e84612c95565b831161134a5761117e83856130a2565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613c06565b516323e30c8b60e01b8152998a988997889633908801612c4b565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612b13565b036112da57506016546001600160a01b03169081166112c9575b836112bf613164565b5160018152602090f35b6112d292613c06565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db381836108a9565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db381836108a9565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca5760206109a260043561137c8161067f565b612c95565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206108096113dc6107e842613e06565b612f8a565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c8610830565b6114d0613135565b6003546114e5906001600160a01b0316611194565b3303611756576114f76107e842613e06565b9061150181612d42565b9082151580611745575b801561173c575b61172a5761072f937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611544613e38565b9461155f61155182612b9b565b5f52600660205260405f2090565b549082810361164457506115738187612ba9565b8381188185100281189687806115fd575b50505050505b836115c9575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b9613164565b6040519081529081906020820190565b5f546115f89085906115e69060101c6001600160a01b0316611194565b6001546001600160a01b031690613c06565b611590565b61163993610c4b83610ca861162361161c611551986116339888613cdd565b8096612b13565b9461162d42613e06565b92612b13565b92612b9b565b555f80808087611584565b9150611658825f52600660205260405f2090565b549061166881610d0b848a612ba9565b908482188286100282189788611683575b505050505061158a565b6116f893836116ab936116b88c6116b36116a16116e9998884613cdd565b9788958584613cdd565b948592612b13565b612b13565b93848410611703575b610c4b90610ca86116d795969761162d42613e06565b6116e361155187612b9b565b55612b13565b915f52600660205260405f2090565b555f80808080611679565b9161171f610c4b91611719866116d79798612b13565b90612ba9565b8594509290506116c1565b604051635e18d2a560e01b8152600490fd5b50828211611512565b5061174f83612b05565b821061150b565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117846107e842613e06565b6001810180911161081957610809602091612f8a565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca5760206109a26107e842613e06565b346105ca5760203660031901126105ca576004356117fd8161067f565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109a26107e8610845565b346105ca5760403660031901126105ca5760043561185b8161067f565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca5761072f9260246115b9930190612e2d565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760206109a26118df36610eaf565b906133fc565b346105ca576020806003193601126105ca5760048035906119058261067f565b61190d613135565b60025460a01c60ff16611a81576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a54575b5015611a445760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f93611a15575b505030911603611a065750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f6613164565b60405163b9f0f17160e01b8152fd5b611a35929350803d10611a3d575b611a2d81836108a9565b810190612f62565b905f806119a7565b503d611a23565b506040516324e5af8d60e21b8152fd5b611a749150823d8411611a7a575b611a6c81836108a9565b810190612f4d565b5f61197a565b503d611a62565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611aa9610845565b602435611ab4613135565b611abc613631565b60038110611d465765ffffffffffff9182611ae260135465ffffffffffff9060601c1690565b168015159081611d30575b50611c32575b60015460d01c838083169116818111611c20571480611c15575b610b4b57611bea611bc1611bbc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b5c611b57611b4e6107e842613e06565b600f5490612ba9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b8e6113dc6107e842613e06565b90611bb5600f54611baf611ba460015460d01c90565b65ffffffffffff1690565b90612f77565b9116612ba9565b613e06565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611bf382601055565b6040805165ffffffffffff9290921682526020820192909252a16109f6613164565b5081600f5414611b0d565b6040516359dcfd5560e11b8152600490fd5b611c3d601154601255565b611c77611c4c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611ca39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cae601454601155565b601354611ce59060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d209060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d2b601054600f55565b611af3565b9050611d3e611ba442613e06565b10155f611aed565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611db86107e842613e06565b611dc0613e38565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca5760403660031901126105ca57602060ff611e79602435611e4b8161067f565b6004355f525f80516020614af4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca5760203660031901126105ca57600435611ea28161067f565b60018060a01b03165f52600e60205260206109a260405f20613f20565b346105ca576040806003193601126105ca57600435611edd8161067f565b6024356001600160401b0381116105ca575f80611f7b93611f0460809436906004016110e2565b908188519283928337810184815203915af43d15611f835760203d611f28816108d9565b90611f35875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611f3e565b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca576004356120218161067f565b60243561202d81610ab8565b612035613135565b61203d613688565b6001600160a01b0382169182156120d7575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120cc916120ba908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f6613164565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca57602061212d60243561210b8161067f565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e7960243561215a8161067f565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca576020610809600435612f8a565b346105ca576020806003193601126105ca5760048035906121e28261067f565b6121ea613135565b60035460a01c60ff1661235c576001600160a01b0382811693908461224a575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f6613164565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f9161233f575b501561232e5760405163fbfa77cf60e01b815282818581895afa928315610dc9575f9361230f575b5050309116036123005750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061220a565b604051633f3e089160e21b8152fd5b612326929350803d10611a3d57611a2d81836108a9565b905f806122cd565b60405163dabc4ad960e01b81528390fd5b6123569150833d8511611a7a57611a6c81836108a9565b5f6122a5565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca576004356123888161067f565b60243590612394613135565b6001600160a01b039181831690811561241a576123c561072f946123b783613d6a565b9485915f5460101c16613c06565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b14833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca5760206109a2613e38565b346105ca5760203660031901126105ca5760043561250b613135565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fec57508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca5760206109a2613eac565b346105ca5760203660031901126105ca576004356125e68161067f565b6125f26107e842613e06565b6125fb82612bfc565b9161260681836130d7565b8301809311610819576001820180921161081957612623916130d7565b810180911161081957602090604051908152f35b346105ca575f3660031901126105ca5760206109a2613062565b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca5760403660031901126105ca576109f66024356004356126b98261067f565b805f525f80516020614af48339815191526020526126dd600160405f2001546136df565b6137a6565b346105ca5760203660031901126105ca576004356126fe613135565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fec57508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca5760206109a26004356127ef8161067f565b602435906130a2565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128d68161067f565b6128de610830565b6001600160401b0391906044358381116105ca576129009036906004016110e2565b909260409384516129108161086e565b6060815260606020820152606086820152928061296f575b61072f86612960878761295a6129418984845191612b20565b92856129516020850151836133fc565b93015190613326565b91613f73565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129a08761086e565b84358181116105ca57826129b59187016108f4565b875260208501358181116105ca57826129cf9187016108f4565b6020880152858501359081116105ca5761072f966129f861295a936129419361296098016108f4565b87820152939450612928565b346105ca5760403660031901126105ca57600435612a218161067f565b602435612a2c613135565b6001600160a01b0382161561075a578015612a9857612a5b612a4c613eac565b612a54613e38565b90836143b6565b335f908152600e60205260409020909290612a7590613f20565b8311612a8657610715918391613177565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca5760206109a2602435612acc8161067f565b6004356130d7565b346105ca575f3660031901126105ca576020600f54604051908152f35b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610eed9291906134b1565b65ffffffffffff8060135460601c169081158015612b6e575b612b62575090565b905060015460a01c1690565b508181612b7a42613e06565b1610612b5a565b908160209103126105ca575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612be8575b50612bdd5760901c1690565b505060015460d01c90565b905082612bf442613e06565b16105f612bd1565b6001600160a01b03165f908152600e60205260409020612c1b90613f20565b612c23613e38565b612c2b613eac565b9060018101809111610819576001820180921161081957610eed92613cdd565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cf5576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612cdc575090565b610eed915060203d602011610dc257610db381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d3d57160490565b612d12565b60015465ffffffffffff808316929160a081901c821680851015612dba5750506013549281841690818015918215612db0575b5050612d9e57610eed9361171992612d93611ba49360125496612cfa565b9160301c1690612d26565b60405163b7d0949760e01b8152600490fd5b109050815f612d75565b909160135490808260601c1695868015918215612e23575b505015612dfe575050610eed935061171991612df4611ba49260115495612cfa565b9060d01c90612d26565b6117199350611ba49250612e18610eed9660145496612cfa565b9160901c1690612d26565b109050865f612dd2565b90612e36613135565b5f926001600160a01b03831692831561241a578115612ee0575f5b828110612ebe57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea1918491612e9c9060101c6001600160a01b0316611194565b613c06565b612eb2604051928392339684612f1b565b0390a3906108d7613164565b94612ed9600191611719612ed3898789612f06565b35613d6a565b9501612e51565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f165760051b0190565b612ef2565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610eed81610ab8565b908160209103126105ca5751610eed8161067f565b8181029291811591840414171561081957565b6012548082106130505760115480831015612fcb5750611bbc90610eed92611bb5612fbf6013549365ffffffffffff93612b13565b828460301c1690612f77565b905060145480158015613047575b156130115750610eed9165ffffffffffff613007612ffd611bbc9460015494612b13565b8360d01c90612f77565b9160a01c16612ba9565b611bbc9150610eed9261303d6130316013549365ffffffffffff93612b13565b828460901c1690612f77565b9160601c16612ba9565b50808310612fd9565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c16801591821561308d575b50506130875760105490565b600f5490565b90915061309942613e06565b16105f8061307b565b5f5460101c6001600160a01b039081169116036130c557601554610eed91613c5f565b60405163350b944160e11b8152600490fd5b906130fd90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610eed92613cdd565b5f80516020614b1483398151915260028154146131525760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b1483398151915255565b335f908152600e602052604090209392919061319242613e06565b335f908152600e602052604090206131a990613f20565b91848303928311610819576131e47febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361327399613b48565b50506131fe6131f242613e06565b610cbd876116b3613eac565b505061321861320c42613e06565b610ca8846116b3613e38565b50506132c1816132ac6132356132306107e842613e06565b612b9b565b61328b61324a825f52600660205260405f2090565b5461325d835f52600760205260405f2090565b5461326982828b613f73565b9d8e998a93612ba9565b613285855f52600660205260405f2090565b55612ba9565b61329d825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132cc838254612ba9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff8093160191821161081957565b908051156133f25780602080613341935183010191016132f5565b61334a816141e4565b9061335b825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e65782119182613391575b50506133885750610eed90613f94565b60209150015190565b90915061339f600a54612b05565b63ffffffff8316149182156133b8575b50505f80613378565b6133de9192506133d26133cd611ba492613311565b6141e4565b5165ffffffffffff1690565b115f806133af565b50505060209150015190565b50610eed90613f94565b908051156134a75780602080613417935183010191016132f5565b6134208161426e565b90613431825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261345e575b50506133885750610eed9061405b565b90915061346c600c54612b05565b63ffffffff831614918215613485575b50505f8061344e565b61349f9192506133d261349a611ba492613311565b61426e565b115f8061347c565b50610eed9061405b565b9180511561357357806020806134cc935183010191016132f5565b916134d783826142ee565b926134e8845165ffffffffffff1690565b9065ffffffffffff8085169216828114613567578211918261351e575b505061351557610eed925061411b565b50506020015190565b90915061352b8354612b05565b63ffffffff831614918215613544575b50505f80613505565b61355f9192506133d2613559611ba492613311565b856142ee565b115f8061353b565b50505050506020015190565b50610eed9161411b565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fec5750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135d0565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135d0565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135d0565b5f8181525f80516020614af483398151915260209081526040808320338452909152902060ff906135d0565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d79260405261435c565b600b54811015612f1657600b5f525f80516020614ad483398151915201905f90565b600d54811015612f1657600d5f525f80516020614ab483398151915201905f90565b8054821015612f16575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d55811015612f1657600d5f525f80516020614ab48339815191520155565b600b54600160401b811015610889576001810180600b55811015612f1657600b5f525f80516020614ad48339815191520155565b90815491600160401b83101561088957826139749160016108d7950181556138d4565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a37575b506139a46143ef565b509290918154926139b3613e38565b9481613a22575b50156139ff57505f1982018281116108195781541115612f16575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a13926001600160d01b031691506145eb565b5050613a1e836138e9565b9190565b65ffffffffffff83811691161490505f6139ba565b600160401b8110156108895760018101808455811015612f16575f908382525f80516020614ab483398151915201555f61399b565b919091600b9081548015613b13575b50613a84614444565b50929091815492613a93613eac565b9481613afe575b5015613adf57505f1982018281116108195781541115612f16575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613af3926001600160d01b031691506146bb565b5050613a1e8361391d565b65ffffffffffff83811691161490505f613a9a565b600160401b8110156108895760018101808455811015612f16575f908382525f80516020614ad483398151915201555f613a7b565b90929192600182019081548015613bd6575b5084613b6584614499565b50949092845493613b7583613f20565b9681613bc1575b5015613b9e575050505f198101908111610819576139748591613a1e936138d4565b613a1e949293613bba926001600160d01b03909116919061475a565b5050613951565b65ffffffffffff83811691161490505f613b7c565b600160401b81101561088957806001613bf292018455836138d4565b8154905f199060031b1b191690555f613b5a565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d79260405261435c565b8115612d3d570490565b90808202905f1981840990828083109203918083039214613cd057633b9aca009082821115613cbe577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d5d5784831115613d505790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144d2565b505090610eed9250613c55565b90613d776107e842613e06565b8210156130505760ff613da7613d95845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613df457613db733836130d7565b918215613de257613dd5906132ac33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e19571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e7357505f5b6001600160d01b03811615612cf557600d54811015612f1657600d5f525f80516020614ab4833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e43565b600a5480613ee757505f5b6001600160d01b03811615612cf557600b54811015612f1657600b5f525f80516020614ad4833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613eb7565b805480613f5557505f5b6001600160d01b03811615613f4f576001613f4592016138d4565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c613f2a565b919060018101809111610819576001820180921161081957610eed92613cdd565b600a54905f829160058411614002575b613fae935061493f565b80613fd157505f5b6001600160d01b03811615612cf557613f45610eed91613890565b613ff6613fe0613ffd92612b05565b600a5f525f80516020614a948339815191520190565b5460301c90565b613fb6565b919261400d81614814565b810390811161081957613fae93600a5f5265ffffffffffff80835f80516020614a94833981519152015416908516105f14614049575091613fa4565b92915061405590612b9b565b90613fa4565b600c54905f8291600584116140c2575b61407593506149a8565b8061409857505f5b6001600160d01b03811615612cf557613f45610eed916138b2565b613ff66140a76140bd92612b05565b600c5f525f80516020614a748339815191520190565b61407d565b91926140cd81614814565b81039081116108195761407593600c5f5265ffffffffffff80835f80516020614a74833981519152015416908516105f1461410957509161406b565b92915061411590612b9b565b9061406b565b908154905f82916005841161417e575b614136935084614a11565b8061415e57505f905b6001600160d01b03821615613f4f57610eed916001613f4592016138d4565b613ff661416d61417892612b05565b835f5260205f200190565b9061413f565b919261418981614814565b81039081116108195761413693855f5265ffffffffffff808360205f20015416908516105f146141ba57509161412b565b9291506141c690612b9b565b9061412b565b604051906141d98261088e565b5f6020838281520152565b6141ec6141cc565b506141f56141cc565b50600a54811015612f1657600a5f526020604051916142138361088e565b5f80516020614a9483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1657600b5f525f80516020614ad48339815191520154604051916142648361088e565b8252602082015290565b6142766141cc565b5061427f6141cc565b50600c54811015612f1657600c5f5260206040519161429d8361088e565b5f80516020614a7483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1657600d5f525f80516020614ab48339815191520154604051916142648361088e565b906020600161431261433e936143026141cc565b5061430b6141cc565b50856138d4565b5093604051946143218661088e565b549465ffffffffffff86169586825260301c9384910152016138d4565b9054906040519261434e8461088e565b835260031b1c602082015290565b905f602091828151910182855af115612b90575f513d6143ad57506001600160a01b0381163b155b61438b5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614384565b9190600181018091116108195760018201809211610819576143d9828285613cdd565b928215612d3d5709151581018091116108195790565b600c548061440057505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061445557505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144aa5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c55821015612f1657600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a7483398151915290910155565b600a5490600160401b821015610889576001820180600a55821015612f1657600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a9483398151915290910155565b8054600160401b811015610889576145ad916001820181556138d4565b6145d857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614692576140a761460391612b05565b9081549165ffffffffffff90818416918316808311614680578692036146485761464192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061467b906146676146596108ca565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144e2565b614641565b604051632520601d60e01b8152600490fd5b506146b6906146a26146596108ca565b6001600160d01b03841660208201526144e2565b5f9190565b600a54919291801561473657613fe06146d391612b05565b9081549165ffffffffffff90818416918316808311614680578692036147115761464192509065ffffffffffff82549181199060301b169116179055565b505061467b906147226146596108ca565b6001600160d01b0385166020820152614539565b506146b6906147466146596108ca565b6001600160d01b0384166020820152614539565b805492939280156147ef5761477161477c91612b05565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614680578793036147bb575061464192509065ffffffffffff82549181199060301b169116179055565b91505061467b916147db6147cd6108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614590565b50906146b6916148006147cd6108ca565b6001600160d01b0385166020830152614590565b6001811115610eed57600181600160801b81101561492d575b6148d56148cb6148c16148b76148ad6148a36148e197600488600160401b6148dc9a1015614920575b640100000000811015614913575b62010000811015614906575b6101008110156148fa575b60108110156148ee575b10156148e6575b60030260011c61489c818b613c55565b0160011c90565b61489c818a613c55565b61489c8189613c55565b61489c8188613c55565b61489c8187613c55565b61489c8186613c55565b8093613c55565b821190565b900390565b60011b61488c565b811c9160021b91614885565b60081c91811b9161487b565b60101c9160081b91614870565b60201c9160101b91614864565b60401c9160201b91614856565b50600160401b9050608082901c61482d565b905b82811061494d57505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614a94833981519152015416908616105f14614995575050915b90614941565b909392508101809111610819579061498f565b905b8281106149b657505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614a74833981519152015416908616105f146149fe575050915b906149aa565b90939250810180911161081957906149f8565b91905b838210614a215750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614a60575050925b9190614a14565b9094935081018091116108195791614a5956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220e4da1debe5a1823789c4113089b10a5eb377f00a9e885211d58fe2fa14a2103064736f6c63430008190033","sourceMap":"1252:21098:101:-: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;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21098:101;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:29;;-1:-1:-1;3551:87:23;;;1252:21098:101;-1:-1:-1;1252:21098:101;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;3653:32:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;757:38:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;612:37:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;2084:35:102;1252:21098:101;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;3361:103:28;;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;10976:21;10972:75;;11085:10;1252:21098;;;;6254:15;1252:21098;;;;;6254:33;;;:::i;:24::-;:33;:::i;:::-;11061:35;;11057:88;;1057:70:89;5835:21:101;;:::i;:::-;5479:22;;:::i;:::-;1057:70:89;;;:::i;:::-;11252:20:101;;;11248:82;;11355:43;;;;:::i;:::-;3426:1:28;;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;;;11248:82;1252:21098;;-1:-1:-1;;;;;;11295:24:101;;1252:21098;;11295:24;11057:88;1252:21098;;-1:-1:-1;;;11119:15:101;;1252:21098;;11119:15;10972:75;1252:21098;;-1:-1:-1;;;11020:16:101;;1252:21098;;11020:16;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;4919:24:23;1252:21098:101;-1:-1:-1;1252:21098:101;4919:24:23;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;4538:25;819:34:67;837:15;819:34;:::i;:::-;4538:25:101;:::i;:::-;4887:10;;4883:65;;-1:-1:-1;;1252:21098:101;;;;;;;4964:21;1252:21098;4964:21;;:::i;:::-;1252:21098;;;;;;;;;;:::i;4883:65::-;1252:21098;;-1:-1:-1;;;4920:17:101;;1252:21098;;4920:17;1252:21098;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;;-1:-1:-1;;1252:21098:101;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;6038:59;1252:21098;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;6038:15;1252:21098;;;;;6038:59;:::i;:::-;1252:21098;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;5350:25:23;1252:21098:101;;;;;;;:::i;:::-;;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;3202:4:23;4919:24;1252:21098:101;-1:-1:-1;1252:21098:101;4919:24:23;1252:21098:101;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21098:101;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1329:40:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;966:10:27;-1:-1:-1;;;;;1252:21098:101;;6441:34:23;6437:102;;6549:37;1252:21098:101;;;6549:37:23;:::i;6437:102::-;1252:21098:101;;-1:-1:-1;;;6498:30:23;;1252:21098:101;;6498:30:23;1252:21098:101;;;;;;-1:-1:-1;;1252:21098:101;;;;;6413:22;1252:21098;;;;6413:46;;;1252:21098;;;;;;;;;;;6413:46;-1:-1:-1;6439:20:101;1252:21098;;;;;6413:46;;1252:21098;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21098:101;;;;;;;;;;;15984:26;15980:76;;-1:-1:-1;;1252:21098:101;;;;;-1:-1:-1;1252:21098:101;;;;;;16107:27;;1252:21098;;16107:27;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;15980:76;1252:21098;;-1:-1:-1;;;16033:12:101;;1252:21098;;16033:12;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;8925:24;;8921:81;;-1:-1:-1;1252:21098:101;;;;9016:55;;;1252:21098;9012:118;;1252:21098;;-1:-1:-1;;;9164:43:101;;;9201:4;9164:43;;;1252:21098;;;;;;;;;;;;;;;;;;;;;;;;;9164:43;;;;;;;;;;-1:-1:-1;9164:43:101;;;1252:21098;;9280:6;1252:21098;;;9201:4;;9253:10;;9280:6;;:::i;:::-;-1:-1:-1;1252:21098:101;;;9315:43;;;9201:4;9315:43;;;1252:21098;;;;;;;;;;9315:43;1252:21098;;;;;;9315:43;1252:21098;;;;;9315:43;;;;;;;:59;:43;-1:-1:-1;9315:43:101;;;1252:21098;9315:59;;;:::i;:::-;9389:20;;;9385:79;;1252:21098;;;;;9478:64;;1252:21098;9474:123;;5835:21;;1252:21098;5835:21;9953:93;5835:21;;:::i;:::-;5479:22;9877:66;5479:22;;:::i;:::-;9800:67;390:70:89;;;;;:::i;:::-;837:15:67;9836:30:101;837:15:67;819:34;837:15;819:34;:::i;:::-;9836:30:101;;:::i;:::-;9800:67;;:::i;:::-;837:15:67;;9914:28:101;837:15:67;819:34;837:15;819:34;:::i;9914:28:101:-;9877:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21098:101;;;;;;6254:15;1252:21098;;;;;837:15:67;10004:41:101;837:15:67;6254:33:101;:24;819:34:67;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;;;6254:15;1252:21098;;;;;;;6254:33;10004:41;:::i;:::-;9953:93;;:::i;:::-;-1:-1:-1;;1252:21098:101;;;;;;;;;;;9253:10;;10062:62;;1252:21098;;10062:62;3426:1:28;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;;;;9474:123;1252:21098;;-1:-1:-1;;;9565:21:101;;;9478:64;5835:21;9496:31;5835:21;;;:::i;9496:31::-;1252:21098;;-1:-1:-1;9478:64:101;;9385:79;-1:-1:-1;1252:21098:101;;-1:-1:-1;;;9432:21:101;;;9315:43;;;;;;-1:-1:-1;9315:43:101;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9164:::-;9280:6;9164:43;;;;;;;;;;;;;;;:::i;:::-;;;;;9012:118;-1:-1:-1;1252:21098:101;;-1:-1:-1;;;9094:25:101;;;9016:55;-1:-1:-1;9060:10:101;1252:21098;;;;9037:22;1252:21098;;;;;;;;9036:35;9016:55;;8921:81;1252:21098;;-1:-1:-1;;;8972:19:101;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;4126:39:102;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;2255:34:102;1252:21098:101;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5305:48;1252:21098;;;:::i;:::-;5305:48;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;;1329:40:102;;1252:21098:101;;4468:23:23;4464:108;;-1:-1:-1;19495:16:101;1252:21098;-1:-1:-1;;;;;1252:21098:101;;;;;;19495:37;;19491:87;;-1:-1:-1;;;;;;1252:21098:101;;;19495:16;1252:21098;;;;;;19639:38;;1252:21098;;19639:38;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;4464:108:23;1252:21098:101;;;;4514:47:23;;;;;;966:10:27;1252:21098:101;4514:47:23;;1252:21098:101;;;;;4514:47:23;1252:21098:101;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;16812:24;16808:74;;-1:-1:-1;;1252:21098:101;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;16931:25;;1252:21098;;16931:25;3426:1:28;;:::i;1252:21098:101:-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;-1:-1:-1;1252:21098:101;2718:59:102;1252:21098:101;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;:::i;:::-;3361:103:28;;;;;:::i;:::-;12652:19:101;;;:::i;:::-;12644:27;;12640:82;;12745:22;;;;:::i;:::-;-1:-1:-1;1252:21098:101;;;;12843:19;;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;-1:-1:-1;;;;;1252:21098:101;;;12843:19;1252:21098;;;-1:-1:-1;;;12843:44:101;;;12881:4;12843:44;;;1252:21098;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;12881:4;1252:21098;;;;;;;;12843:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12843:44:101;;;1252:21098;;;12950:5;1252:21098;12971:57;1252:21098;;-1:-1:-1;1252:21098:101;;;;12950:5;;;:::i;:::-;1252:21098;-1:-1:-1;;;12971:57:101;;1252:21098;;;;;;;12992:10;;12971:57;;;:::i;:::-;;;;;;;;;1564:45:102;12971:57:101;-1:-1:-1;12971:57:101;;;1252:21098;12971:73;;12967:128;;1252:21098;;13109:44;;;12881:4;13109:44;;;1252:21098;;;;;;;;;13109:44;1252:21098;;;;;;13109:44;;;;;;;;;;:60;:44;-1:-1:-1;13109:44:101;;;:60;;;:::i;:::-;:67;13105:126;;-1:-1:-1;13245:16:101;1252:21098;-1:-1:-1;;;;;1252:21098:101;;;;13241:116;;1252:21098;3426:1:28;;;:::i;:::-;1252:21098:101;13374:4;1252:21098;;;;;13241:116;13342:3;;;:::i;:::-;13241:116;;;;;13105:126;1252:21098;;-1:-1:-1;;;13199:21:101;;;12967:128;1252:21098;;-1:-1:-1;;;13067:17:101;;1252:21098;;13067:17;12971:57;;;;;;;;;;;;;;:::i;:::-;;;;12843:44;-1:-1:-1;12843:44:101;;;;;;;12971:57;12843:44;;;12950:5;12843:44;;;;-1:-1:-1;12843:44:101;;;;;;:::i;:::-;;;;;;;;;;;;;12640:82;-1:-1:-1;1252:21098:101;;-1:-1:-1;;;12694:17:101;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1041:36:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;4693:26;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;4693:26;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;1989:39:102;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1564:45:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;1575:42;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;2423:32:102;1252:21098:101;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;13573:7:101;1252:21098;13559:21;;-1:-1:-1;;;;;1252:21098:101;;;13559:21;:10;:21;13555:71;;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;13707;;;;:::i;:::-;13747:17;;;;:53;;;1252:21098;13746:87;;;;1252:21098;13742:146;;1252:21098;5835:21;15752:48;5835:21;;;:::i;:::-;13982:17;13970:30;13982:17;;;:::i;:::-;1252:21098;;13970:11;1252:21098;;;;;;;13970:30;1252:21098;;14014:29;;;;;14084:30;;;;;:::i;:::-;3066:5:62;;;3463;;;1252:21098:101;3060:42:62;;14194:17:101;;;14190:384;;14010:1615;;;;;;;15639:17;15635:102;;14010:1615;1252:21098;;;;;;;;;;;;;;;;;;;;;;;15752:48;3426:1:28;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;15635:102;-1:-1:-1;1252:21098:101;15712:13;;1252:21098;;15672:18;;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;;15672:18;13998:1;1252:21098;-1:-1:-1;;;;;1252:21098:101;15712:13;;:::i;:::-;15635:102;;14190:384;14487:29;14255:50;14404:65;14255:50;14440:28;14356:29;14255:50;14499:16;14255:50;14519:40;14255:50;;;:::i;:::-;14356:29;;;:::i;:::-;837:15:67;819:34;837:15;819:34;:::i;:::-;14440:28:101;;:::i;14519:40::-;14499:16;;:::i;14487:29::-;1252:21098;14190:384;;;;;;;14010:1615;14627:26;;;;1252:21098;;13970:11;1252:21098;;;;;;;14627:26;1252:21098;14692:27;:45;:27;;;;;:::i;:45::-;3463:5:62;3066;;;3463;;;1252:21098:101;3060:42:62;;14817:17:101;;14813:802;;14010:1615;;;;;;;;14813:802;15538:26;14878:50;;14979:53;14878:50;15079:54;14878:50;15079:29;14878:50;15567:33;14878:50;;;;:::i;:::-;14979:53;;;;;;:::i;:::-;15079:29;;;;:::i;:::-;:54;:::i;:::-;15156:33;;;;15152:194;;14813:802;15364:65;837:15:67;15400:28:101;15480:40;837:15:67;;;819:34;837:15;819:34;:::i;15480:40:101:-;15447:30;15459:17;;;:::i;15447:30::-;1252:21098;15567:33;:::i;:::-;15538:26;1252:21098;;13970:11;1252:21098;;;;;;;15538:26;1252:21098;14813:802;;;;;;;15152:194;15239:33;15213:59;15364:65;15239:33;;;15480:40;15239:33;;;:::i;:::-;15213:59;;:::i;:::-;15294:33;;-1:-1:-1;15294:33:101;;-1:-1:-1;15152:194:101;;13742:146;1252:21098;;-1:-1:-1;;;13856:21:101;;1252:21098;;13856:21;13746:87;13805:28;;;;13746:87;;13747:53;13783:17;;;;:::i;:::-;13768:32;;13747:53;;13555:71;1252:21098;;-1:-1:-1;;;13603:12:101;;1252:21098;;13603:12;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;5140:1;1252:21098;;;;;;;5112:30;1252:21098;5112:30;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;4027:43:102;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;4538:25;819:34:67;837:15;819:34;:::i;1252:21098:101:-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21098:101;2594:68:102;1252:21098:101;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11942:14;1252:21098;;11942:14;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3932:39:102;1252:21098:101;;;;;;;;;;;;;;;5663:47;1252:21098;;;:::i;:::-;5663:47;;:::i;1252:21098::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;19824:22:101;1252:21098;;;;;19820:89;;1252:21098;;-1:-1:-1;;;19924:49:101;;-1:-1:-1;;;;;1252:21098:101;;;19924:49;;;1252:21098;;;;;;;;;;;;;;;19924:49;19934:17;;;1252:21098;19924:49;;;;;;;-1:-1:-1;19924:49:101;;;1252:21098;19923:50;;19919:102;;1252:21098;;-1:-1:-1;;;20035:34:101;;1252:21098;;;;;20035:34;1252:21098;20035:34;1252:21098;;20035:34;;;;;;;-1:-1:-1;20035:34:101;;;1252:21098;20081:4;;;1252:21098;;20035:51;20031:107;;-1:-1:-1;19824:22:101;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;;;-1:-1:-1;;;;;;1252:21098:101;;;;;;;-1:-1:-1;;;1252:21098:101;;;20226:24;-1:-1:-1;;20226:24:101;3426:1:28;;:::i;20031:107:101:-;1252:21098;;-1:-1:-1;;;20109:18:101;;;20035:34;;;;;;;-1:-1:-1;20035:34:101;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;19919:102;-1:-1:-1;1252:21098:101;;-1:-1:-1;;;19996:14:101;;;19924:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;19820:89;1252:21098;;-1:-1:-1;;;19869:29:101;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;:::i;:::-;;;3361:103:28;;:::i;:::-;3202:4:23;;:::i;:::-;17534:1:101;17503:32;;17499:106;;1252:21098;;;;17619:29;1252:21098;;;;;;;;;;17619:34;;;:87;;;;1252:21098;17615:573;;;1252:21098;18202:21;1252:21098;;;;;;;;;18202:38;;;18198:101;;18326:39;:126;;;1252:21098;18309:198;;18655:138;18699:94;18700:81;18889:62;837:15:67;18517:76:101;18541:52;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;18558:35;1252:21098;18541:52;;:::i;:::-;18517:76;1252:21098;;18517:76;17619:29;1252:21098;;-1:-1:-1;;;;1252:21098:101;;;;;-1:-1:-1;;;1252:21098:101;;;;4693:26;4538:25;819:34:67;837:15;819:34;:::i;4693:26:101:-;1252:21098;18722:59;18558:35;1252:21098;18722:59;1252:21098;18202:21;1252:21098;;;;;;;;;;18722:59;;;:::i;:::-;1252:21098;;18700:81;:::i;:::-;18699:94;:::i;:::-;17619:29;1252:21098;;-1:-1:-1;;;;1252:21098:101;;;;;;-1:-1:-1;;;1252:21098:101;;;;;;;;18655:138;18803:70;;;1252:21098;;18803:70;1252:21098;;;;;;;;;;;;;;;;;18889:62;3426:1:28;;:::i;18326:126:101:-;1252:21098;;18385:35;1252:21098;18385:67;18326:126;;18198:101;1252:21098;;-1:-1:-1;;;18263:25:101;;1252:21098;;18263:25;17615:573;17722:41;17746:17;1252:21098;17722:41;1252:21098;;17722:41;17777:49;1252:21098;17805:21;1252:21098;;;;;;;17619:29;1252:21098;;;;;;;;;;17619:29;1252:21098;;17777:49;17805:21;1252:21098;17840:57;;1252:21098;;;;;;;;17619:29;1252:21098;;;17619:29;1252:21098;;17840:57;17911:41;17931:21;1252:21098;17746:17;1252:21098;;17911:41;17619:29;1252:21098;17966:49;;1252:21098;;;;17805:21;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;;;;;-1:-1:-1;;;;;;1252:21098:101;;;;;;;;17966:49;17619:29;1252:21098;18029:57;;1252:21098;;;;17805:21;1252:21098;;-1:-1:-1;;;;1252:21098:101;;;;;;-1:-1:-1;;;1252:21098:101;;;;;;;;18029:57;18100:77;18138:39;1252:21098;18100:77;1252:21098;;18100:77;17615:573;;17619:87;837:15:67;;17657:49:101;819:34:67;837:15;819:34;:::i;17657:49:101:-;-1:-1:-1;17657:49:101;17619:87;;;17499:106;1252:21098;;-1:-1:-1;;;17558:36:101;;1252:21098;;17558:36;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;1666:40;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;5835:21;;:::i;:::-;1252:21098;;;;6639:11;1252:21098;;;;;;;;;;;;;6680:1;1252:21098;;;;;;;;;6639:11;1252:21098;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3833:43:102;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3901:31:23;1252:21098:101;;;;;:::i;:::-;;;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;3901:31:23;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21098:101;6254:15;1252:21098;;;6254:33;1252:21098;-1:-1:-1;1252:21098:101;6254:33;:::i;1252:21098::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21098:101;;;;-1:-1:-1;1252:21098:101;477:31:80;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:80;;;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;477:31:80;;;1252:21098:101;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;477:31:80;1252:21098:101;477:31:80;;;;;;;:::i;:::-;518:79;;;1252:21098:101;518:79:80;;1252:21098:101;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;900:35:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;16349:21;;16345:75;;-1:-1:-1;1252:21098:101;;;16434:22;1252:21098;;;;;;;;;;;;;16434:41;16430:91;;-1:-1:-1;;;;;1252:21098:101;;;;;9037:22;1252:21098;;;;;16587:44;;;;16531:40;;:31;1252:21098;;;;;;;;;;;;;;16531:40;1252:21098;;;;;;;;;;;;;;;16587:44;;;;3426:1:28;;:::i;16345:75:101:-;1252:21098;;-1:-1:-1;;;16393:16:101;;1252:21098;;16393:16;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;2953:94:102;1252:21098:101;;;;;:::i;:::-;;;-1:-1:-1;1252:21098:101;2953:94:102;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;2953:94:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3103:92:102;1252:21098:101;;;;;:::i;:::-;;;-1:-1:-1;1252:21098:101;3103:92:102;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;4396:31:102;1252:21098:101;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:28;;:::i;:::-;20393:20:101;1252:21098;;;;;20389:85;;-1:-1:-1;;;;;1252:21098:101;;;;;;20484:312;;1252:21098;20393:20;1252:21098;;-1:-1:-1;;;;1252:21098:101;-1:-1:-1;;;1252:21098:101;;;20806:27;20849:20;-1:-1:-1;20849:20:101;;3426:1:28;;:::i;20484:312:101:-;1252:21098;;-1:-1:-1;;;20531:45:101;;-1:-1:-1;;;;;1252:21098:101;;20531:45;;;1252:21098;;;20531:45;;1252:21098;;;;;;20531:45;20541:15;;;1252:21098;20531:45;;;;;;;-1:-1:-1;20531:45:101;;;20484:312;20530:46;;20526:104;;1252:21098;;-1:-1:-1;;;20648:30:101;;;1252:21098;20648:30;1252:21098;20648:30;;;;;;;;-1:-1:-1;20648:30:101;;;20484:312;20690:4;;;1252:21098;;20648:47;20644:109;;-1:-1:-1;20393:20:101;1252:21098;;-1:-1:-1;;;;;;1252:21098:101;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;20484:312;;;;;;20644:109;1252:21098;;-1:-1:-1;;;20722:16:101;;;20648:30;;;;;;;-1:-1:-1;20648:30:101;;;;;;:::i;:::-;;;;;;20526:104;1252:21098;;-1:-1:-1;;;20603:12:101;;1252:21098;;20603:12;20531:45;;;;;;;;;;;;;;:::i;:::-;;;;20389:85;1252:21098;;-1:-1:-1;;;20436:27:101;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;3361:103:28;;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;11563:23;;11559:79;;11724:6;1252:21098;11657:13;;;;:::i;:::-;1252:21098;;;-1:-1:-1;1252:21098:101;;;;11724:6;:::i;:::-;1252:21098;;;;;;;;;;;;11753:10;;11747:43;;1252:21098;11747:43;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;;;;;;;11559:79;1252:21098;;-1:-1:-1;;;11609:18:101;;1252:21098;;11609:18;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;-1:-1:-1;1252:21098:101;2833:64:102;1252:21098:101;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;2345:22:102;1252:21098:101;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1183:36:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;3543:54:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;5835:21;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3361:103:28;;:::i;:::-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;;900:35:102;;1252:21098:101;;4468:23:23;4464:108;;1252:21098:101;;;;17134:21;17130:71;;1252:21098;;17247:22;1252:21098;;;;;;;;17247:22;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;5479:22;;:::i;1252:21098::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;8043:24;;;:::i;:::-;8070:29;;;;;:::i;:::-;1252:21098;;;;;;;8124:1;1252:21098;;;;;;;8102:33;;;:::i;:::-;1252:21098;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;2175:24:102;1252:21098:101;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;3741:36:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;5767:26:23;1252:21098:101;;;;;;;:::i;:::-;;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;3202:4:23;4919:24;1252:21098:101;-1:-1:-1;1252:21098:101;4919:24:23;1252:21098:101;3202:4:23;:::i;:::-;5767:26;:::i;1252:21098:101:-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;3361:103:28;;:::i;:::-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;;1183:36:102;;1252:21098:101;;4468:23:23;4464:108;;1252:21098:101;;19138:12;1252:21098;19138:29;19134:79;;1252:21098;;19266:30;1252:21098;19138:12;1252:21098;;;;;;19266:30;1949:1:28;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;466:39:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;4221:36:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;4313:27:102;1252:21098:101;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;1466:3:102;1252:21098:101;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;:::i;:::-;6861:48;;1252:21098;;;;;;;:::i;:::-;;;;;;;;;;;;;;6923:16;;6919:111;;1252:21098;;7122:39;1057:70:89;7122:39:101;;5305:48;7085:77;7122:39;;;;7085:77;;:::i;:::-;7201:36;;5663:47;1252:21098;7201:36;;;5663:47;;:::i;:::-;7278:37;;;5305:48;;:::i;:::-;1057:70:89;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;6919:111;6978:41;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5305:48;1252:21098;7085:77;1252:21098;1057:70:89;1252:21098:101;;;:::i;:::-;;;;;6919:111;;;;;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;:::i;:::-;;;3361:103:28;;:::i;:::-;-1:-1:-1;;;;;1252:21098:101;;10341:21;10337:75;;10426:11;;10422:73;;845:69:89;5479:22:101;;:::i;:::-;5835:21;;:::i;:::-;845:69:89;;;:::i;:::-;10631:10:101;1252:21098;;;;6254:15;1252:21098;;;;;10631:10;;;6254:33;;;:::i;:::-;10601:41;;10597:96;;10718:40;;;;;:::i;10597:96::-;1252:21098;;-1:-1:-1;;;10665:17:101;;1252:21098;;10665:17;10422:73;1252:21098;;-1:-1:-1;;;10460:24:101;;1252:21098;;10460:24;1252:21098;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21098:101;;;;;3437:50:102;1252:21098:101;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5911:193::-;-1:-1:-1;;;;;1252:21098:101;-1:-1:-1;1252:21098:101;;;6038:15;1252:21098;;;;;6038:59;;5911:193;;6038:59;:::i;2573:269::-;1252:21098;;2645:29;1252:21098;;;;2645:34;;;:86;;;;2573:269;2641:149;;2799:36;2573:269;:::o;2641:149::-;1252:21098;;2754:25;1252:21098;;;;2747:32;:::o;2645:86::-;837:15:67;;;819:34;837:15;819:34;:::i;:::-;1252:21098:101;2683:48;2645:86;;1252:21098;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13998:1;1252:21098;;;;;;;:::o;:::-;;;;;;;;;;:::o;2268:257::-;2336:29;1252:21098;;;;;;;;2336:34;;:86;;;;;2268:257;2332:145;;;1252:21098;;;2268:257;:::o;2332:145::-;1252:21098;;2445:21;1252:21098;;;2438:28;:::o;2336:86::-;837:15:67;;;819:34;837:15;819:34;:::i;:::-;1252:21098:101;2374:48;2336:86;;;7381:191;-1:-1:-1;;;;;1252:21098:101;-1:-1:-1;1252:21098:101;;;6254:15;1252:21098;;;;;6254:33;;;:::i;:::-;5835:21;;:::i;:::-;5479:22;;:::i;:::-;1252:21098;1884:1:89;1252:21098:101;;;;;;;1884:1:89;1252:21098:101;;;;;;;9478:25:62;;;:::i;1252:21098:101:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;:::o;8203:218::-;8316:10;1252:21098;;;-1:-1:-1;;;;;1252:21098:101;;;;;8343:20;;1252:21098;;8366:44;1252:21098;;;;;;;;;;;8366:44;;8404:4;8366:44;;;1252:21098;8366:44;;;;;;;8316:10;8366:44;;;8343:71;8203:218;:::o;8366:44::-;;;;;;;;;;;;;;:::i;8343:71::-;;8316:10;8203:218;:::o;1252:21098::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2890:760::-;2995:25;1252:21098;;;;;;;;;;;;;2983:37;;;;;;1252:21098;;3040:29;1252:21098;;;;;3040:34;;;;:79;;;;;2979:665;3036:143;;;;3199:95;1252:21098;3199:95;1252:21098;3224:41;3223:71;1252:21098;3199:21;1252:21098;3224:41;;:::i;:::-;1252:21098;;;;3223:71;;:::i;3036:143::-;1252:21098;;-1:-1:-1;;;3146:18:101;;;;;3040:79;3078:41;;-1:-1:-1;3040:79:101;;;;2979:665;1252:21098;;3315:29;1252:21098;;;;;;;3315:34;;;;:79;;;;;2979:665;-1:-1:-1;;3311:333:101;;;1252:21098;;3417:83;1252:21098;;3417:83;1252:21098;3438:37;3437:63;1252:21098;3417:17;1252:21098;3438:37;;:::i;:::-;1252:21098;;;3437:63;;:::i;3311:333::-;3538:95;1252:21098;;3562:71;1252:21098;;3563:41;3538:95;1252:21098;3538:21;1252:21098;3563:41;;:::i;:::-;1252:21098;;;;3562:71;;:::i;3315:79::-;3353:41;;-1:-1:-1;3315:79:101;;;;3361:103:28;;;;:::i;:::-;1252:21098:101;;-1:-1:-1;;;;;1252:21098:101;;;11972:23;;11968:79;;12101:11;;12097:70;;1252:21098;12193:10;;;;;;-1:-1:-1;1252:21098:101;;12338:49;;1252:21098;;;;12315:6;;1252:21098;;12272:18;;1252:21098;;-1:-1:-1;;;;;1252:21098:101;;;12272:18;12315:6;:::i;:::-;12338:49;1252:21098;;12349:10;;;;12338:49;;;:::i;:::-;;;;3426:1:28;;;:::i;12205:3:101:-;12241:9;12224:27;1252:21098;12241:9;12234:17;12241:9;;;;;:::i;:::-;1252:21098;12234:17;:::i;12224:27::-;12205:3;1252:21098;12182:9;;12097:70;1252:21098;;-1:-1:-1;;;12135:21:101;;;;;1252:21098;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3698:721::-;3798:21;1252:21098;3790:29;;;3786:81;;3889:17;1252:21098;3881:25;;;;;;1252:21098;3946:91;1252:21098;3945:104;1252:21098;3978:59;3979:29;3946;1252:21098;;;3979:29;;:::i;:::-;1252:21098;;;;;3978:59;;:::i;3877:536::-;1252:21098;;4070:21;1252:21098;4070:26;;:59;;;;3877:536;4066:347;;;1252:21098;4152:92;1252:21098;;4181:51;4182:25;4153:79;1252:21098;4153:25;1252:21098;4182:25;;:::i;:::-;1252:21098;;;4181:51;;:::i;:::-;1252:21098;;;;4153:79;:::i;4066:347::-;4299:91;1252:21098;;4298:104;1252:21098;4331:59;4332:29;4299;1252:21098;;;4332:29;;:::i;:::-;1252:21098;;;;;4331:59;;:::i;:::-;1252:21098;;;;4299:91;:::i;4070:59::-;4100:29;;;;4070:59;;3786:81;1252:21098;;-1:-1:-1;;;3842:14:101;;;;;1918:302;1252:21098;;2003:29;1252:21098;;;;2003:34;;:86;;;;;1918:302;1999:159;;;;2174:39;1252:21098;1918:302;:::o;1999:159::-;2112:35;1252:21098;2105:42;:::o;2003:86::-;837:15:67;;;819:34;837:15;819:34;:::i;:::-;1252:21098:101;2041:48;2003:86;;;;8482:228;8583:10;1252:21098;;;-1:-1:-1;;;;;1252:21098:101;;;;;8574:19;8570:75;;8674:12;1252:21098;8661:42;;;:::i;8570:75::-;1252:21098;;-1:-1:-1;;;8616:18:101;;;;;7620:227;;7760:34;7620:227;1252:21098;-1:-1:-1;1252:21098:101;7760:18;1252:21098;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;;;;;;;7760:34;1252:21098;;-1:-1:-1;1252:21098:101;7796:11;1252:21098;;;-1:-1:-1;1252:21098:101;;7816:16;1252:21098;;;-1:-1:-1;1252:21098:101;;;1884:1:89;1252:21098:101;;;;;;;1884:1:89;1252:21098:101;;;;;;;9478:25:62;;;:::i;3470:384:28:-;-1:-1:-1;;;;;;;;;;;1991:1:28;1252:21098:101;;3670:20:28;3666:88;;1991:1;1252:21098:101;;3470:384:28:o;3666:88::-;1252:21098:101;;-1:-1:-1;;;3713:30:28;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21098:101;3860:283:28:o;20882:960:101:-;21061:10;1252:21098;;;;6254:15;1252:21098;;;;;;20882:960;;;819:34:67;837:15;819:34;:::i;:::-;21061:10:101;1252:21098;;;;6254:15;1252:21098;;;;;6254:33;;;:::i;:::-;1252:21098;;;;;;;;;21045:93;21761:74;21045:93;;;21586:30;21045:93;;:::i;:::-;837:15:67;;21148:67:101;819:34:67;837:15;819:34;:::i;:::-;21185:29:101;5479:22;;;:::i;21148:67::-;837:15:67;;21225:68:101;819:34:67;837:15;819:34;:::i;:::-;21261:31:101;5835:21;;;:::i;21225:68::-;837:15:67;;21695:34:101;837:15:67;21695:25:101;21320:18;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;21320:18;:::i;:::-;21652:33;21371:18;;1252:21098;;13970:11;1252:21098;;;;;;;21371:18;1252:21098;21428:23;;1252:21098;;21428:16;1252:21098;;;;;;;21428:23;1252:21098;390:70:89;;;;;:::i;:::-;21586:30:101;;;;;;:::i;:::-;21565:18;;1252:21098;;13970:11;1252:21098;;;;;;;21565:18;1252:21098;21652:33;:::i;:::-;21626:23;;1252:21098;;21428:16;1252:21098;;;;;;;21626:23;1252:21098;;;21695:18;1252:21098;;;;;;;21695:25;1252:21098;;;;;;;;;;;;;;;;21695:34;:50;1252:21098;;;21695:50;:::i;:::-;1252:21098;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;21061:10;;1252:21098;;21761:74;20882:960::o;1252:21098::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:88:-;;1252:21098:101;;7686:17:88;7682:83;;1252:21098:101;7789:27:88;1252:21098:101;7789:27:88;1252:21098:101;;7789:27:88;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;7888:22:88;;;7884:77;;7975:21;-1:-1:-1;7975:84:88;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;1252:21098:101;8075:24:88;:::o;7975:84::-;1252:21098:101;;;8009:16:88;5305:13:101;1252:21098;8009:16:88;:::i;:::-;1252:21098:101;;;8001:24:88;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;1252:21098:101;;;;;8029:29:88;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21098:101;7926:24:88;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21098:101;;7686:17:88;7682:83;;1252:21098:101;7789:27:88;1252:21098:101;7789:27:88;1252:21098:101;;7789:27:88;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;7888:22:88;;;7884:77;;7975:21;-1:-1:-1;7975:84:88;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21098:101;;;8009:16:88;5663:12:101;1252:21098;8009:16:88;:::i;:::-;1252:21098:101;;;8001:24:88;: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:21098:101;;7686:17:88;7682:83;;1252:21098:101;7789:27:88;1252:21098:101;7789:27:88;1252:21098:101;;7789:27:88;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21098:101;;;;;;;;;;;;;;;;7888:22:88;;;7884:77;;7975:21;-1:-1:-1;7975:84:88;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;1252:21098:101;8075:24:88;:::o;7975:84::-;1252:21098:101;;;8009:16:88;1252:21098:101;;8009:16:88;:::i;:::-;1252:21098:101;;;8001:24:88;: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:21098:101;7926:24:88;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;466:39:102;;1252:21098:101;;3901:31:23;1252:21098:101;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;757:38:102;;1252:21098:101;;3901:31:23;1252:21098:101;4148:103:23;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;1041:36:102;;1252:21098:101;;3901:31:23;1252:21098:101;4148:103:23;966:10:27;-1:-1:-1;1252:21098:101;;;;;;;;;612:37:102;;1252:21098:101;;3901:31:23;1252:21098:101;4148:103:23;-1:-1:-1;1252:21098:101;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;966:10:27;1252:21098:101;;;;;;;;;3901:31:23;1252:21098:101;7270:387:23;-1:-1:-1;1252:21098:101;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;-1:-1:-1;;1252:21098:101;7509:4:23;1252:21098:101;;;966:10:27;;-1:-1:-1;;;;;1252:21098:101;;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:21098:101;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;966:10:27;;-1:-1:-1;;;;;1252:21098:101;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21098:101;8209:11:23;:::o;1670:188:49:-;1252:21098:101;;-1:-1:-1;;;1797:53:49;;;;-1:-1:-1;;;;;1252:21098:101;;;1797:53:49;;;1252:21098:101;;;;;;;;;;;;;;;;;1797:53:49;;;1252:21098:101;;;;;;;-1:-1:-1;;;;;1252:21098:101;;;;;1797:53:49;1252:21098:101;;;1797:53:49;:::i;1252:21098:101:-;7178:12:88;1252:21098:101;;;;;;7178:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;-1:-1:-1;1252:21098:101;:::o;:::-;7178:12:88;1252:21098:101;;;;;;7178:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;-1:-1:-1;1252:21098:101;:::o;:::-;;;;;;;;-1:-1:-1;1252:21098:101;;-1:-1:-1;1252:21098:101;;;-1:-1:-1;1252:21098:101;:::o;:::-;6360:12:88;1252:21098:101;-1:-1:-1;;;1252:21098:101;;;;;;;;;6360:12:88;1252:21098:101;;;;;;6360:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;:::o;:::-;6360:12:88;1252:21098:101;-1:-1:-1;;;1252:21098:101;;;;;;;;;6360:12:88;1252:21098:101;;;;;;6360:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;:::o;:::-;;;;;-1:-1:-1;;;1252:21098:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:88;;;;6360:12;1252:21098:101;;;6360:24:88;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21098:101;;;;;;6578:12:88;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:88;;;-1:-1:-1;;;1252:21098:101;;;;;;;;;-1:-1:-1;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;6798:25:88;1252:21098:101;6246:584:88:o;6600:188::-;8310:38:65;;-1:-1:-1;;;;;1252:21098:101;;-1:-1:-1;8310:38:65;:::i;:::-;6753:24:88;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21098:101;;;;;;6614:14:88;;-1:-1:-1;6604:24:88;;;6356:75;-1:-1:-1;;;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;6356:75:88;;;6246:584;;;;6360:12;1252:21098:101;;;6360:24:88;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21098:101;;;;;;6578:12:88;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:88;;;-1:-1:-1;;;1252:21098:101;;;;;;;;;-1:-1:-1;1252:21098:101;;;-1:-1:-1;1252:21098:101;;;;;;6798:25:88;1252:21098:101;6246:584:88:o;6600:188::-;8310:38:65;;-1:-1:-1;;;;;1252:21098:101;;-1:-1:-1;8310:38:65;:::i;:::-;6753:24:88;;;;;:::i;6604:::-;1252:21098:101;;;;;;6614:14:88;;-1:-1:-1;6604:24:88;;;6356:75;-1:-1:-1;;;1252:21098:101;;;;;;;;;;;;;;;;-1:-1:-1;1252:21098:101;;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;6356:75:88;;;6246:584;;;;;6360:12;;;1252:21098:101;;;6360:24:88;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21098:101;;;;;;6578:12:88;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:88;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;6644:21:88;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21098:101;;8310:38:65;;-1:-1:-1;;;;;1252:21098:101;;;;;8310:38:65;:::i;:::-;6753:24:88;;;:::i;6604:::-;1252:21098:101;;;;;;6614:14:88;;-1:-1:-1;6604:24:88;;;6356:75;-1:-1:-1;;;1252:21098:101;;;;;;6360:12:88;1252:21098:101;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:88;;;1271:160:49;1252:21098:101;;-1:-1:-1;;;1380:43:49;;;;-1:-1:-1;;;;;1252:21098:101;;;1380:43:49;;;1252:21098:101;;;;;;;;;1380:43:49;;;1252:21098:101;;;;-1:-1:-1;;;;;1252:21098:101;;;;;;;;1380:43:49;1252:21098:101;;;1380:43:49;:::i;1252:21098:101:-;;;;;;;:::o;4996:4226:62:-;;1252:21098:101;;;;-1:-1:-1;;4996:4226:62;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:102;6270:20:62;;;;;6266:143;;1252:21098:101;6695:300:62;;;;;;;;1252:21098:101;;6695:300:62;;7259:375;;7700:21;1252:21098:101;4996:4226:62;:::o;6266:143::-;1829:135:53;;;3060:42:62;1829:135:53;;;;;5792:368:62;1252:21098:101;;1466:3:102;1252:21098:101;;;6119:26:62;:::o;4996:4226::-;;1252:21098:101;;;;-1:-1:-1;;1252:21098:101;4996:4226:62;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:53;-1:-1:-1;940:4:53;7214:31:62;;7259:375;;;8094:1;1252:21098:101;;8075:1:62;1252:21098:101;8074:21:62;1252:21098:101;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;;;;940:4:53;;1252:21098:101;7259:375:62;;;;-1:-1:-1;7259:375:62;;;6695:300;;;;;;1252:21098:101;6695:300:62;;7259:375;7700:21;1252:21098:101;4996:4226:62;:::o;6266:143::-;6330:16;;3066:5;1252:21098:101;940:4:53;3060:42:62;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;21848:460:101:-;;4538:25;819:34:67;837:15;819:34;:::i;4538:25:101:-;21941:23;;;21937:75;;1252:21098;22026:39;:27;;1252:21098;;22026:20;1252:21098;;;;;;;22026:27;22054:10;1252:21098;;;;;;;;;;;;;;22026:39;1252:21098;;22022:93;;22134:32;22054:10;22134:32;;:::i;:::-;22181:11;;;22177:68;;22255:39;22054:10;22255:27;22054:10;22255:27;1252:21098;;22026:20;1252:21098;;;;;;;22255:39;1252:21098;;-1:-1:-1;;1252:21098:101;22297:4;1252:21098;;;21848:460::o;22177:68::-;1252:21098;;-1:-1:-1;;;22215:19:101;;;;;22022:93;1252:21098;;-1:-1:-1;;;22088:16:101;;;;;14296:213:63;1252:21098:101;14374:24:63;;;;14370:103;;1252:21098:101;14296:213:63;:::o;14370:103::-;1252:21098:101;;;;14421:41:63;;;;;;14452:2;14421:41;;;1252:21098:101;;;;;14421:41:63;10580:184:88;5835:12:101;1252:21098;10446:8:65;;;:63;-1:-1:-1;10446:63:65;-1:-1:-1;;;;;1252:21098:101;;10726:7:88;1252:21098:101;;10736:12:88;1252:21098:101;;;;;;10736:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;10580:184:88;:::o;10446:63:65:-;1252:21098:101;;;;;;;;5835:12;-1:-1:-1;14439:109:65;;;1252:21098:101;;;10446:63:65;;10580:184:88;5479:13:101;1252:21098;10446:8:65;;;:63;-1:-1:-1;10446:63:65;-1:-1:-1;;;;;1252:21098:101;;10726:7:88;1252:21098:101;;10736:12:88;1252:21098:101;;;;;;10736:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;10580:184:88;:::o;10446:63:65:-;1252:21098:101;;;;;;;;5479:13;-1:-1:-1;14439:109:65;;;1252:21098:101;;;10446:63:65;;10580:184:88;1252:21098:101;;10446:8:65;;;:63;-1:-1:-1;10446:63:65;-1:-1:-1;;;;;1252:21098:101;;10726:7:88;1252:21098:101;;10736:12:88;:17;:12;;:17;:::i;:::-;1252:21098:101;;;;;;10580:184:88;:::o;10726:31::-;;;-1:-1:-1;10580:184:88;:::o;10446:63:65:-;1252:21098:101;;;;;;;;;;14439:109:65;-1:-1:-1;14439:109:65;;-1:-1:-1;14439:109:65;;;1252:21098:101;;;10446:63:65;;1662:280:89;;;1884:1;1252:21098:101;;;;;;;1884:1:89;1252:21098:101;;;;;;;9478:25:62;;;:::i;6999:207:88:-;5305:13:101;1252:21098;9737:15:65;-1:-1:-1;9762:18:65;9795:7;9801:1;9795:7;;9791:234;;6999:207:88;10049:53:65;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:65;-1:-1:-1;;;;;1252:21098:101;;7168:7:88;1252:21098:101;;7178:17:88;1252:21098:101;7178:17:88;;:::i;10120:63:65:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5305:13:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;14289:265;;10135:41;1252:21098:101;;;;;10135:48:65;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21098:101;;;;;;;10049:53:65;14439:109;5305:13:101;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;1252:21098:101;;;;;9870:48:65;9866:149;1252:21098:101;;;9938:10:65;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:88;5663:12:101;1252:21098;9737:15:65;-1:-1:-1;9762:18:65;9795:7;9801:1;9795:7;;9791:234;;6999:207:88;10049:53:65;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:65;-1:-1:-1;;;;;1252:21098:101;;7168:7:88;1252:21098:101;;7178:17:88;1252:21098:101;7178:17:88;;:::i;10120:63:65:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5663:12:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21098:101;;;;;;;10049:53:65;14439:109;5663:12:101;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;1252:21098:101;;;;;9870:48:65;9866:149;1252:21098:101;;;9938:10:65;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:88;;1252:21098:101;;9737:15:65;-1:-1:-1;9762:18:65;9795:7;9801:1;9795:7;;9791:234;;6999:207:88;10049:53:65;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:65;;-1:-1:-1;;;;;1252:21098:101;;7168:7:88;1252:21098:101;;;7178:12:88;;:17;:12;;:17;:::i;10120:63:65:-;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:21098:101;;;;;;;10049:53:65;14439:109;;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;;-1:-1:-1;14439:109:65;;1252:21098:101;;;;;9870:48:65;9866:149;1252:21098:101;;;9938:10:65;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21098:101;;;;;;;:::i;:::-;-1:-1:-1;1252:21098:101;;;;;;;:::o;11486:272:88:-;1252:21098:101;;:::i;:::-;;;;:::i;:::-;;5305:13;1252:21098;;;;;;5305:13;-1:-1:-1;1252:21098:101;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;;;;;;;;;;11718:12:88;1252:21098:101;;;;;;11718:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;:::i;:::-;;;;11672:79:88;;1252:21098:101;11486:272:88;:::o;:::-;1252:21098:101;;:::i;:::-;;;;:::i;:::-;;5663:12;1252:21098;;;;;;5663:12;-1:-1:-1;1252:21098:101;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;;;;;;;;;;11718:12:88;1252:21098:101;;;;;;11718:12:88;-1:-1:-1;1252:21098:101;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;;;;;:::i;11486:272:88:-;;1252:21098:101;11718:12:88;11452:22:65;11718:31:88;11486:272;1252:21098:101;;:::i;:::-;;;;:::i;:::-;;11452:22:65;;:::i;:::-;1252:21098:101;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:88;:31;:::i;:::-;1252:21098:101;;;;;;;;;:::i;:::-;;;;;;;11672:79:88;;1252:21098:101;11486:272:88;:::o;7738:720:49:-;;-1:-1:-1;7875:421:49;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:49;;8310:15;;-1:-1:-1;;;;;;1252:21098:101;;8328:26:49;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21098:101;;-1:-1:-1;;;8401:40:49;;-1:-1:-1;;;;;1252:21098:101;;;8401:40:49;;;1252:21098:101;;;8401:40:49;8310:68;8377:1;8362:16;;8310:68;;1258:280:89;;;1252:21098:101;;;;;;;;;;;;;;;;9478:25:62;;;;;:::i;:::-;9552;;;;;;:29;;1252:21098:101;;;;;;;1258:280:89;:::o;10695:389:65:-;5835:12:101;1252:21098;10871:8:65;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21098:101;;;;;;;;5835:12;10833:17:65;14439:109;;;1252:21098:101;11014:1:65;;1252:21098:101;;;;;;;11030:37:65:o;10695:389::-;5479:13:101;1252:21098;10871:8:65;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21098:101;;;;;;;;5479:13;10833:17:65;14439:109;;;1252:21098:101;11014:1:65;;1252:21098:101;;;;;;;11030:37:65:o;10695:389::-;1252:21098:101;;10871:8:65;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21098:101;;;;;;;;;;10833:17:65;14439:109;;10833:17;14439:109;;;1252:21098:101;11014:1:65;1252:21098:101;;;;;;;11030:37:65;:::o;1776:194:53:-;1829:135;;;;;;;;1252:21098:101;5835:12;1252:21098;;-1:-1:-1;;;1252:21098:101;;;;;;;;;5835:12;1252:21098;;;;;;5835:12;-1:-1:-1;1252:21098:101;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;:::o;:::-;5479:13;1252:21098;;-1:-1:-1;;;1252:21098:101;;;;;;;;;5479:13;1252:21098;;;;;;5479:13;-1:-1:-1;1252:21098:101;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21098:101;;;;:::o;:::-;;;-1:-1:-1;;;1252:21098:101;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21098:101;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:65;5835:12:101;1252:21098;11657:922:65;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21098:101;;;;;;;;;;;;12103:13:65;;;12099:89;;12251:14;;;;;12285:19;;;1252:21098:101;;;;;;;;;;;;;;;;;12285:19:65;1252:21098:101;;12423:25:65;;:::o;12247:163::-;1252:21098:101;;12343:52:65;1252:21098:101;12353:41:65;1252:21098:101;;:::i;:::-;;;;;;;;12353:41:65;-1:-1:-1;;;;;1252:21098:101;;12353:41:65;;;1252:21098:101;12343:52:65;:::i;:::-;12247:163;;12099:89;1252:21098:101;;-1:-1:-1;;;12143:30:65;;;;;11860:713;1252:21098:101;12479:52:65;1252:21098:101;12489:41:65;1252:21098:101;;:::i;12489:41:65:-;-1:-1:-1;;;;;1252:21098:101;;12489:41:65;;;1252:21098:101;12343:52:65;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5479:13:101;1252:21098;11657:922:65;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21098:101;;;;;;;;;;;;12103:13:65;;;12099:89;;12251:14;;;;;12285:19;;;1252:21098:101;;;;;;;;;;;;;;;;;12247:163:65;1252:21098:101;;12343:52:65;1252:21098:101;12353:41:65;1252:21098:101;;:::i;12353:41:65:-;-1:-1:-1;;;;;1252:21098:101;;12353:41:65;;;1252:21098:101;12343:52:65;:::i;11860:713::-;1252:21098:101;12479:52:65;1252:21098:101;12489:41:65;1252:21098:101;;:::i;12489:41:65:-;-1:-1:-1;;;;;1252:21098:101;;12489:41:65;;;1252:21098:101;12343:52:65;:::i;11657:922::-;1252:21098:101;;11657:922:65;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21098:101;;;;;;;;;;;;12103:13:65;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21098:101;;;;;;;;;;;;;;;;;12247:163:65;1252:21098:101;;;12343:52:65;1252:21098:101;12353:41:65;1252:21098:101;;:::i;:::-;;;;;;;;12353:41:65;-1:-1:-1;;;;;1252:21098:101;;12353:41:65;;;1252:21098:101;12343:52:65;:::i;11860:713::-;1252:21098:101;;12479:52:65;1252:21098:101;12489:41:65;1252:21098:101;;:::i;12489:41:65:-;-1:-1:-1;;;;;1252:21098:101;;12489:41:65;;;1252:21098:101;12343:52:65;:::i;18080:5181:62:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:62;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:62;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:21098:101;18246:1:62;1252:21098:101;22284:6:62;;;;:::i;:::-;1252:21098:101;;;;;22278:18:62;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:21098:101;23216:28:62;940:4:53;;18080:5181:62;:::o;19887:61::-;18246:1;1252:21098:101;19887:61:62;;19787:87;1252:21098:101;;;;;19787:87:62;;;19687;1252:21098:101;;;;;19687:87:62;;;19585:89;1252:21098:101;;;;;19585:89:62;;;19482:90;1252:21098:101;;;;;19482:90:62;;;19379;1252:21098:101;;;;;19379:90:62;;;19274:92;-1:-1:-1;;;;1252:21098:101;-1:-1:-1;1252:21098:101;;;;19274:92:62;;12929:433:65;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:62;;;;;1252:21098:101;;3731:5:62;;;1252:21098:101;;;;;;;;;5305:13;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;1252:21098:101;;;;;-1:-1:-1;13189:136:65;1252:21098:101;;;13248:10:65;;13189:136;;13105:230;;;13189:136;1252:21098:101;;;;;;;;;;;13189:136:65;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:62;;;;;1252:21098:101;;3731:5:62;;;1252:21098:101;;;;;;;;;5663:12;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;-1:-1:-1;;;;;;;;;;;14439:109:65;1252:21098:101;;;;;-1:-1:-1;13189:136:65;1252:21098:101;;;13248:10:65;;13189:136;;13105:230;;;13189:136;1252:21098:101;;;;;;;;;;;13189:136:65;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:62;;;;;;1252:21098:101;;3731:5:62;;;1252:21098:101;;;;;;;;;14439:109:65;-1:-1:-1;14439:109:65;1252:21098:101;14439:109:65;;;-1:-1:-1;14439:109:65;;1252:21098:101;;;;;-1:-1:-1;13189:136:65;1252:21098:101;;;13248:10:65;;13189:136;;13105:230;;;;13189:136;1252:21098:101;;;;;;;;;;;13189:136:65;;","linkReferences":{},"immutableReferences":{"68765":[{"start":5208,"length":32},{"start":6474,"length":32}],"68768":[{"start":7533,"length":32},{"start":8821,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelay()":"c642b050","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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","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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\":\"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\":\"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\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[{\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"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\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"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\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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.\"},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"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.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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.\"},\"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\":\"0xd1813132496e4134e734dd6f85ed58531e850565574d1c5dd24a6849839785db\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://104d9cef5f587f7090781c176709163d97c89a0f4a45633d196a10f2a1d30284\",\"dweb:/ipfs/QmVfcKdLvTVtWADrc3f3bNy9aMpxqir8tPZe3fae5B6WfA\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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":"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":"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":"nonpayable","type":"function","name":"_Vault_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[{"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","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":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","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":"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"}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"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."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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."},"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":"0xd1813132496e4134e734dd6f85ed58531e850565574d1c5dd24a6849839785db","urls":["bzz-raw://104d9cef5f587f7090781c176709163d97c89a0f4a45633d196a10f2a1d30284","dweb:/ipfs/QmVfcKdLvTVtWADrc3f3bNy9aMpxqir8tPZe3fae5B6WfA"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":101} \ No newline at end of file +{"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":"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":"_Vault_init","inputs":[],"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":"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":"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614c1638819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614b6990816100ad823960805181818161143001526118f7015260a051818181611d1a015261225f0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780631415519b1461056f5780631b66c9e11461056a5780631e9a695014610565578063248a9ca3146105605780632749f9c41461055b57806327810b6e14610556578063281f5752146105515780632d73c69c1461054c5780632f2ff15d146105475780632fa27fae1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a57806350861adc1461051557806350f220681461051057806352741a401461050b5780635346e34f1461050657806359f769a9146105015780635a36aa74146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e3578063653b04cd146104de5780636da3e06d146104d95780636e0f2455146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806376671808146104c0578063794b15b7146104bb5780637953b33b146104b65780637c04c80a146104b1578063810da75d146104ac57806383cd9cc3146104a757806383f46c2c146104a257806387df07881461049d5780638b0e9f3f1461049857806391d148541461049357806398ccba4a1461048e5780639b4bae3e146104895780639d66201b146104845780639f86fd851461047f5780639f9962dd1461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bba6ff4a14610439578063bc46f72214610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c1bc6f5114610420578063c31e8dd71461041b578063c4db46fc14610416578063c642b05014610411578063cc52aee71461040c578063ce9b793014610407578063d547741f14610402578063d626811b146103fd578063d8dfeb45146103f8578063d9d98ce4146103f3578063db388715146103ee578063dc0b1d71146103e9578063e945da7f146103e4578063ecc98f05146103df578063ecf70858146103da578063efb559d6146103d5578063f3fef3a3146103d05763f5e7ee0f146103cb575f80fd5b612ac7565b612a21565b6128d6565b6128b9565b61289b565b61287e565b61286c565b612832565b612807565b6127dc565b61271c565b6126d0565b6126a8565b612680565b612666565b612649565b6125db565b6125b3565b612599565b6124d9565b6124bf565b612485565b612468565b612440565b612416565b612355565b6121ac565b61218e565b612166565b612120565b6120d3565b611fee565b611fb4565b611f9a565b611f76565b611f4e565b611e81565b611e47565b611e2a565b611e0d565b611daf565b611d49565b611d05565b611a3d565b611892565b611879565b611813565b6117f5565b6117b5565b611797565b611765565b6114a9565b611484565b61145f565b61141b565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611090565b611069565b610fe2565b610ee1565b610ec8565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109d8565b61098a565b61091a565b6107ac565b610784565b610767565b61072e565b610653565b610608565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca5760043561067081610642565b6024359061067c613135565b6001600160a01b0381161561071d57335f908152600e602052604090206106a790613f20565b613f20565b821161070b576106c76106b8613e38565b6106c0613eac565b9084613f73565b9182156106f657826106d892613177565b906106e1613164565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614af48339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107cd6107c842613e06565b612d42565b80156107fe575f1981019081116107f9576107e9602091612f8a565b65ffffffffffff60405191168152f35b612af1565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761086957604052565b61083a565b604081019081106001600160401b0382111761086957604052565b90601f801991011681019081106001600160401b0382111761086957604052565b604051906108b78261086e565b565b6001600160401b03811161086957601f01601f191660200190565b81601f820112156105ca578035906108eb826108b9565b926108f96040519485610889565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca5760043561093781610642565b61093f610810565b90604435906001600160401b0382116105ca576020926109666109829336906004016108d4565b6001600160a01b039092165f908152600e8552604090206134b1565b604051908152f35b346105ca5760403660031901126105ca576109d66024356004356109ad82610642565b805f525f80516020614af48339815191526020526109d1600160405f2001546136df565b61370b565b005b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f81610642565b336001600160a01b03821603610a6b576109d6906004356137a6565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae7613135565b610aef61357d565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b1483398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca5760206107e9612b41565b346105ca576040806003193601126105ca576004803591610b9783610642565b610b9f613135565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613838565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b13565b938415610d8d5760081c60ff1680610d78575b610d6a5750906106f291610d16610c7a613e38565b95610cc3610c86613eac565b610cae610c948a838b613f73565b99610ca88a610ca242613e06565b92612ba9565b9061398c565b5050610cbd89610ca242613e06565b90613a6c565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106a2610cf042613e06565b6001600160a01b039095165f908152600e6020526040902090565b612ba9565b91613b48565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613164565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e38565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db38183610889565b810190612b81565b5f80610c4b565b503d610da9565b612b90565b610c13919350610dea90853d8711610dc257610db38183610889565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca5760206107e9612bb6565b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610ec5916004016108d4565b90565b346105ca576020610982610edb36610e87565b90613326565b346105ca5760203660031901126105ca57600435610efe81610642565b610f06613135565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fc457506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b1483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca57600435610fff81610ab8565b611007613135565b61100f6135da565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109d6613164565b346105ca5760203660031901126105ca57602061098260043561108b81610642565b612bfc565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d81610642565b60243561113981610642565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b611165959195613135565b61116e84612c95565b831161134a5761117e83856130a2565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613c06565b516323e30c8b60e01b8152998a988997889633908801612c4b565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612b13565b036112da57506016546001600160a01b03169081166112c9575b836112bf613164565b5160018152602090f35b6112d292613c06565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db38183610889565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db38183610889565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca57602061098260043561137c81610642565b612c95565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206107e96113dc6107c842613e06565b612f8a565b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c5610810565b6114cd613135565b6003546114e2906001600160a01b0316611194565b3303611753576114f46107c842613e06565b906114fe81612d42565b9082151580611742575b8015611739575b611727576106f2937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611541613e38565b9461155c61154e82612b9b565b5f52600660205260405f2090565b549082810361164157506115708187612ba9565b8381188185100281189687806115fa575b50505050505b836115c6575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b6613164565b6040519081529081906020820190565b5f546115f59085906115e39060101c6001600160a01b0316611194565b6001546001600160a01b031690613c06565b61158d565b61163693610c4b83610ca861162061161961154e986116309888613cdd565b8096612b13565b9461162a42613e06565b92612b13565b92612b9b565b555f80808087611581565b9150611655825f52600660205260405f2090565b549061166581610d0b848a612ba9565b908482188286100282189788611680575b5050505050611587565b6116f593836116a8936116b58c6116b061169e6116e6998884613cdd565b9788958584613cdd565b948592612b13565b612b13565b93848410611700575b610c4b90610ca86116d495969761162a42613e06565b6116e061154e87612b9b565b55612b13565b915f52600660205260405f2090565b555f80808080611676565b9161171c610c4b91611716866116d49798612b13565b90612ba9565b8594509290506116be565b604051635e18d2a560e01b8152600490fd5b5082821161150f565b5061174c83612b05565b8210611508565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117816107c842613e06565b600181018091116107f9576107e9602091612f8a565b346105ca575f3660031901126105ca5760206109826107c842613e06565b346105ca5760203660031901126105ca576004356117d281610642565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109826107c8610825565b346105ca5760403660031901126105ca5760043561183081610642565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca576106f29260246115b6930190612e2d565b346105ca57602061098261188c36610e87565b906133fc565b346105ca576020806003193601126105ca5760048035906118b282610642565b6118ba613135565b60025460a01c60ff16611a2e576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a01575b50156119f15760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f936119c2575b5050309116036119b35750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109d6613164565b60405163b9f0f17160e01b8152fd5b6119e2929350803d106119ea575b6119da8183610889565b810190612f62565b905f80611954565b503d6119d0565b506040516324e5af8d60e21b8152fd5b611a219150823d8411611a27575b611a198183610889565b810190612f4d565b5f611927565b503d611a0f565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611a56610825565b602435611a61613135565b611a69613631565b60038110611cf35765ffffffffffff9182611a8f60135465ffffffffffff9060601c1690565b168015159081611cdd575b50611bdf575b60015460d01c838083169116818111611bcd571480611bc2575b610b4b57611b97611b6e611b697f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b09611b04611afb6107c842613e06565b600f5490612ba9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b3b6113dc6107c842613e06565b90611b62600f54611b5c611b5160015460d01c90565b65ffffffffffff1690565b90612f77565b9116612ba9565b613e06565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611ba082601055565b6040805165ffffffffffff9290921682526020820192909252a16109d6613164565b5081600f5414611aba565b6040516359dcfd5560e11b8152600490fd5b611bea601154601255565b611c24611bf960015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611c509060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611c5b601454601155565b601354611c929060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611ccd9060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611cd8601054600f55565b611aa0565b9050611ceb611b5142613e06565b10155f611a9a565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611d656107c842613e06565b611d6d613e38565b90805f52600660205260405f205482018092116107f957600181018091116107f9575f52600660205260405f205481018091116107f957604051908152602090f35b346105ca5760403660031901126105ca57602060ff611e01602435611dd381610642565b6004355f525f80516020614af4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca5760203660031901126105ca57600435611e6481610642565b60018060a01b03165f52600e602052602061098260405f20613f20565b346105ca576040806003193601126105ca57600435611e9f81610642565b6024356001600160401b0381116105ca575f80611f3d93611ec660809436906004016110e2565b908188519283928337810184815203915af43d15611f455760203d611eea816108b9565b90611ef787519283610889565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f80199101168101036060810184520182610889565b805190602001fd5b60206060611f00565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca5760043561200b81610642565b60243561201781610ab8565b61201f613135565b612027613688565b6001600160a01b0382169182156120c1575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120b6916120a4908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109d6613164565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121176024356120f581610642565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e0160243561214481610642565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca5760206107e9600435612f8a565b346105ca576020806003193601126105ca5760048035906121cc82610642565b6121d4613135565b60035460a01c60ff16612346576001600160a01b03828116939084612234575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109d6613164565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91612329575b50156123185760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936122f9575b5050309116036122ea5750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806121f4565b604051633f3e089160e21b8152fd5b612310929350803d106119ea576119da8183610889565b905f806122b7565b60405163dabc4ad960e01b81528390fd5b6123409150833d8511611a2757611a198183610889565b5f61228f565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561237281610642565b6024359061237e613135565b6001600160a01b0391818316908115612404576123af6106f2946123a183613d6a565b9485915f5460101c16613c06565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b14833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020600f54604051908152f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020610982613e38565b346105ca5760203660031901126105ca576004356124f5613135565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fc457508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca576020610982613eac565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca5760203660031901126105ca576004356125f881610642565b6126046107c842613e06565b61260d82612bfc565b9161261881836130d7565b83018093116107f957600182018092116107f957612635916130d7565b81018091116107f957602090604051908152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca576020610982613062565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca5760403660031901126105ca576109d66024356004356126f382610642565b805f525f80516020614af4833981519152602052612717600160405f2001546136df565b6137a6565b346105ca5760203660031901126105ca57600435612738613135565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fc457508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca57602061098260043561282981610642565b602435906130a2565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128f381610642565b6128fb610810565b6001600160401b0391906044358381116105ca5761291d9036906004016110e2565b9092604093845161292d8161084e565b6060815260606020820152606086820152928061298c575b6106f28661297d878761297761295e8984845191612b20565b928561296e6020850151836133fc565b93015190613326565b91613f73565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129bd8761084e565b84358181116105ca57826129d29187016108d4565b875260208501358181116105ca57826129ec9187016108d4565b6020880152858501359081116105ca576106f296612a156129779361295e9361297d98016108d4565b87820152939450612945565b346105ca5760403660031901126105ca57600435612a3e81610642565b602435612a49613135565b6001600160a01b0382161561071d578015612ab557612a78612a69613eac565b612a71613e38565b90836143b6565b335f908152600e60205260409020909290612a9290613f20565b8311612aa3576106d8918391613177565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca576020610982602435612ae981610642565b6004356130d7565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116107f957565b919082039182116107f957565b6001600160a01b03165f908152600e60205260409020610ec59291906134b1565b65ffffffffffff8060135460601c169081158015612b6e575b612b62575090565b905060015460a01c1690565b508181612b7a42613e06565b1610612b5a565b908160209103126105ca575190565b6040513d5f823e3d90fd5b90600182018092116107f957565b919082018092116107f957565b60135465ffffffffffff90818160601c168015908115612be8575b50612bdd5760901c1690565b505060015460d01c90565b905082612bf442613e06565b16105f612bd1565b6001600160a01b03165f908152600e60205260409020612c1b90613f20565b612c23613e38565b612c2b613eac565b90600181018091116107f957600182018092116107f957610ec592613cdd565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cf5576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612cdc575090565b610ec5915060203d602011610dc257610db38183610889565b505f90565b65ffffffffffff91821690821603919082116107f957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d3d57160490565b612d12565b60015465ffffffffffff808316929160a081901c821680851015612dba5750506013549281841690818015918215612db0575b5050612d9e57610ec59361171692612d93611b519360125496612cfa565b9160301c1690612d26565b60405163b7d0949760e01b8152600490fd5b109050815f612d75565b909160135490808260601c1695868015918215612e23575b505015612dfe575050610ec5935061171691612df4611b519260115495612cfa565b9060d01c90612d26565b6117169350611b519250612e18610ec59660145496612cfa565b9160901c1690612d26565b109050865f612dd2565b90612e36613135565b5f926001600160a01b038316928315612404578115612ee0575f5b828110612ebe57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea1918491612e9c9060101c6001600160a01b0316611194565b613c06565b612eb2604051928392339684612f1b565b0390a3906108b7613164565b94612ed9600191611716612ed3898789612f06565b35613d6a565b9501612e51565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f165760051b0190565b612ef2565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610ec581610ab8565b908160209103126105ca5751610ec581610642565b818102929181159184041417156107f957565b6012548082106130505760115480831015612fcb5750611b6990610ec592611b62612fbf6013549365ffffffffffff93612b13565b828460301c1690612f77565b905060145480158015613047575b156130115750610ec59165ffffffffffff613007612ffd611b699460015494612b13565b8360d01c90612f77565b9160a01c16612ba9565b611b699150610ec59261303d6130316013549365ffffffffffff93612b13565b828460901c1690612f77565b9160601c16612ba9565b50808310612fd9565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c16801591821561308d575b50506130875760105490565b600f5490565b90915061309942613e06565b16105f8061307b565b5f5460101c6001600160a01b039081169116036130c557601554610ec591613c5f565b60405163350b944160e11b8152600490fd5b906130fd90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107f957600182018092116107f957610ec592613cdd565b5f80516020614b1483398151915260028154146131525760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b1483398151915255565b335f908152600e602052604090209392919061319242613e06565b335f908152600e602052604090206131a990613f20565b918483039283116107f9576131e47febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361327399613b48565b50506131fe6131f242613e06565b610cbd876116b0613eac565b505061321861320c42613e06565b610ca8846116b0613e38565b50506132c1816132ac6132356132306107c842613e06565b612b9b565b61328b61324a825f52600660205260405f2090565b5461325d835f52600760205260405f2090565b5461326982828b613f73565b9d8e998a93612ba9565b613285855f52600660205260405f2090565b55612ba9565b61329d825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132cc838254612ba9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff809316019182116107f957565b908051156133f25780602080613341935183010191016132f5565b61334a816141e4565b9061335b825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e65782119182613391575b50506133885750610ec590613f94565b60209150015190565b90915061339f600a54612b05565b63ffffffff8316149182156133b8575b50505f80613378565b6133de9192506133d26133cd611b5192613311565b6141e4565b5165ffffffffffff1690565b115f806133af565b50505060209150015190565b50610ec590613f94565b908051156134a75780602080613417935183010191016132f5565b6134208161426e565b90613431825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261345e575b50506133885750610ec59061405b565b90915061346c600c54612b05565b63ffffffff831614918215613485575b50505f8061344e565b61349f9192506133d261349a611b5192613311565b61426e565b115f8061347c565b50610ec59061405b565b9180511561357357806020806134cc935183010191016132f5565b916134d783826142ee565b926134e8845165ffffffffffff1690565b9065ffffffffffff8085169216828114613567578211918261351e575b505061351557610ec5925061411b565b50506020015190565b90915061352b8354612b05565b63ffffffff831614918215613544575b50505f80613505565b61355f9192506133d2613559611b5192613311565b856142ee565b115f8061353b565b50505050506020015190565b50610ec59161411b565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fc45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135d0565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135d0565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135d0565b5f8181525f80516020614af483398151915260209081526040808320338452909152902060ff906135d0565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610869576108b79260405261435c565b600b54811015612f1657600b5f525f80516020614ad483398151915201905f90565b600d54811015612f1657600d5f525f80516020614ab483398151915201905f90565b8054821015612f16575f5260205f2001905f90565b600d54600160401b811015610869576001810180600d55811015612f1657600d5f525f80516020614ab48339815191520155565b600b54600160401b811015610869576001810180600b55811015612f1657600b5f525f80516020614ad48339815191520155565b90815491600160401b83101561086957826139749160016108b7950181556138d4565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a37575b506139a46143ef565b509290918154926139b3613e38565b9481613a22575b50156139ff57505f1982018281116107f95781541115612f16575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a13926001600160d01b031691506145eb565b5050613a1e836138e9565b9190565b65ffffffffffff83811691161490505f6139ba565b600160401b8110156108695760018101808455811015612f16575f908382525f80516020614ab483398151915201555f61399b565b919091600b9081548015613b13575b50613a84614444565b50929091815492613a93613eac565b9481613afe575b5015613adf57505f1982018281116107f95781541115612f16575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613af3926001600160d01b031691506146bb565b5050613a1e8361391d565b65ffffffffffff83811691161490505f613a9a565b600160401b8110156108695760018101808455811015612f16575f908382525f80516020614ad483398151915201555f613a7b565b90929192600182019081548015613bd6575b5084613b6584614499565b50949092845493613b7583613f20565b9681613bc1575b5015613b9e575050505f1981019081116107f9576139748591613a1e936138d4565b613a1e949293613bba926001600160d01b03909116919061475a565b5050613951565b65ffffffffffff83811691161490505f613b7c565b600160401b81101561086957806001613bf292018455836138d4565b8154905f199060031b1b191690555f613b5a565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610869576108b79260405261435c565b8115612d3d570490565b90808202905f1981840990828083109203918083039214613cd057633b9aca009082821115613cbe577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d5d5784831115613d505790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144d2565b505090610ec59250613c55565b90613d776107c842613e06565b8210156130505760ff613da7613d95845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613df457613db733836130d7565b918215613de257613dd5906132ac33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e19571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e7357505f5b6001600160d01b03811615612cf557600d54811015612f1657600d5f525f80516020614ab4833981519152015490565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e43565b600a5480613ee757505f5b6001600160d01b03811615612cf557600b54811015612f1657600b5f525f80516020614ad4833981519152015490565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613eb7565b805480613f5557505f5b6001600160d01b03811615613f4f576001613f4592016138d4565b90549060031b1c90565b50505f90565b5f199080828101116107f957825f5260205f2001015460301c613f2a565b9190600181018091116107f957600182018092116107f957610ec592613cdd565b600a54905f829160058411614002575b613fae935061493f565b80613fd157505f5b6001600160d01b03811615612cf557613f45610ec591613890565b613ff6613fe0613ffd92612b05565b600a5f525f80516020614a948339815191520190565b5460301c90565b613fb6565b919261400d81614814565b81039081116107f957613fae93600a5f5265ffffffffffff80835f80516020614a94833981519152015416908516105f14614049575091613fa4565b92915061405590612b9b565b90613fa4565b600c54905f8291600584116140c2575b61407593506149a8565b8061409857505f5b6001600160d01b03811615612cf557613f45610ec5916138b2565b613ff66140a76140bd92612b05565b600c5f525f80516020614a748339815191520190565b61407d565b91926140cd81614814565b81039081116107f95761407593600c5f5265ffffffffffff80835f80516020614a74833981519152015416908516105f1461410957509161406b565b92915061411590612b9b565b9061406b565b908154905f82916005841161417e575b614136935084614a11565b8061415e57505f905b6001600160d01b03821615613f4f57610ec5916001613f4592016138d4565b613ff661416d61417892612b05565b835f5260205f200190565b9061413f565b919261418981614814565b81039081116107f95761413693855f5265ffffffffffff808360205f20015416908516105f146141ba57509161412b565b9291506141c690612b9b565b9061412b565b604051906141d98261086e565b5f6020838281520152565b6141ec6141cc565b506141f56141cc565b50600a54811015612f1657600a5f526020604051916142138361086e565b5f80516020614a9483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1657600b5f525f80516020614ad48339815191520154604051916142648361086e565b8252602082015290565b6142766141cc565b5061427f6141cc565b50600c54811015612f1657600c5f5260206040519161429d8361086e565b5f80516020614a7483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1657600d5f525f80516020614ab48339815191520154604051916142648361086e565b906020600161431261433e936143026141cc565b5061430b6141cc565b50856138d4565b5093604051946143218661086e565b549465ffffffffffff86169586825260301c9384910152016138d4565b9054906040519261434e8461086e565b835260031b1c602082015290565b905f602091828151910182855af115612b90575f513d6143ad57506001600160a01b0381163b155b61438b5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614384565b9190600181018091116107f957600182018092116107f9576143d9828285613cdd565b928215612d3d5709151581018091116107f95790565b600c548061440057505f905f905f90565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061445557505f905f905f90565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144aa5750505f905f905f90565b5f199181838101116107f9575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610869576001820180600c55821015612f1657600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a7483398151915290910155565b600a5490600160401b821015610869576001820180600a55821015612f1657600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a9483398151915290910155565b8054600160401b811015610869576145ad916001820181556138d4565b6145d857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614692576140a761460391612b05565b9081549165ffffffffffff90818416918316808311614680578692036146485761464192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061467b906146676146596108aa565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144e2565b614641565b604051632520601d60e01b8152600490fd5b506146b6906146a26146596108aa565b6001600160d01b03841660208201526144e2565b5f9190565b600a54919291801561473657613fe06146d391612b05565b9081549165ffffffffffff90818416918316808311614680578692036147115761464192509065ffffffffffff82549181199060301b169116179055565b505061467b906147226146596108aa565b6001600160d01b0385166020820152614539565b506146b6906147466146596108aa565b6001600160d01b0384166020820152614539565b805492939280156147ef5761477161477c91612b05565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614680578793036147bb575061464192509065ffffffffffff82549181199060301b169116179055565b91505061467b916147db6147cd6108aa565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614590565b50906146b6916148006147cd6108aa565b6001600160d01b0385166020830152614590565b6001811115610ec557600181600160801b81101561492d575b6148d56148cb6148c16148b76148ad6148a36148e197600488600160401b6148dc9a1015614920575b640100000000811015614913575b62010000811015614906575b6101008110156148fa575b60108110156148ee575b10156148e6575b60030260011c61489c818b613c55565b0160011c90565b61489c818a613c55565b61489c8189613c55565b61489c8188613c55565b61489c8187613c55565b61489c8186613c55565b8093613c55565b821190565b900390565b60011b61488c565b811c9160021b91614885565b60081c91811b9161487b565b60101c9160081b91614870565b60201c9160101b91614864565b60401c9160201b91614856565b50600160401b9050608082901c61482d565b905b82811061494d57505090565b9091808216906001818418811c83018093116107f957600a5f5265ffffffffffff80845f80516020614a94833981519152015416908616105f14614995575050915b90614941565b9093925081018091116107f9579061498f565b905b8281106149b657505090565b9091808216906001818418811c83018093116107f957600c5f5265ffffffffffff80845f80516020614a74833981519152015416908616105f146149fe575050915b906149aa565b9093925081018091116107f957906149f8565b91905b838210614a215750505090565b909192808316906001818518811c83018093116107f957855f5265ffffffffffff808460205f20015416908516105f14614a60575050925b9190614a14565b9094935081018091116107f95791614a5956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220b628c0b9f3e70db8b5b588fa46bb1007ca4ba9fc10005163b61cc591385fe60a64736f6c63430008190033","sourceMap":"1252:20708:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:20708;;;;;;;;1785:36;1252:20708;;;;;;;;;;1831:32;1252:20708;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;-1:-1:-1;1252:20708:107;;;;;-1:-1:-1;1252:20708:107;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780631415519b1461056f5780631b66c9e11461056a5780631e9a695014610565578063248a9ca3146105605780632749f9c41461055b57806327810b6e14610556578063281f5752146105515780632d73c69c1461054c5780632f2ff15d146105475780632fa27fae1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a57806350861adc1461051557806350f220681461051057806352741a401461050b5780635346e34f1461050657806359f769a9146105015780635a36aa74146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e3578063653b04cd146104de5780636da3e06d146104d95780636e0f2455146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806376671808146104c0578063794b15b7146104bb5780637953b33b146104b65780637c04c80a146104b1578063810da75d146104ac57806383cd9cc3146104a757806383f46c2c146104a257806387df07881461049d5780638b0e9f3f1461049857806391d148541461049357806398ccba4a1461048e5780639b4bae3e146104895780639d66201b146104845780639f86fd851461047f5780639f9962dd1461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bba6ff4a14610439578063bc46f72214610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c1bc6f5114610420578063c31e8dd71461041b578063c4db46fc14610416578063c642b05014610411578063cc52aee71461040c578063ce9b793014610407578063d547741f14610402578063d626811b146103fd578063d8dfeb45146103f8578063d9d98ce4146103f3578063db388715146103ee578063dc0b1d71146103e9578063e945da7f146103e4578063ecc98f05146103df578063ecf70858146103da578063efb559d6146103d5578063f3fef3a3146103d05763f5e7ee0f146103cb575f80fd5b612ac7565b612a21565b6128d6565b6128b9565b61289b565b61287e565b61286c565b612832565b612807565b6127dc565b61271c565b6126d0565b6126a8565b612680565b612666565b612649565b6125db565b6125b3565b612599565b6124d9565b6124bf565b612485565b612468565b612440565b612416565b612355565b6121ac565b61218e565b612166565b612120565b6120d3565b611fee565b611fb4565b611f9a565b611f76565b611f4e565b611e81565b611e47565b611e2a565b611e0d565b611daf565b611d49565b611d05565b611a3d565b611892565b611879565b611813565b6117f5565b6117b5565b611797565b611765565b6114a9565b611484565b61145f565b61141b565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611090565b611069565b610fe2565b610ee1565b610ec8565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109d8565b61098a565b61091a565b6107ac565b610784565b610767565b61072e565b610653565b610608565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca5760043561067081610642565b6024359061067c613135565b6001600160a01b0381161561071d57335f908152600e602052604090206106a790613f20565b613f20565b821161070b576106c76106b8613e38565b6106c0613eac565b9084613f73565b9182156106f657826106d892613177565b906106e1613164565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614af48339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107cd6107c842613e06565b612d42565b80156107fe575f1981019081116107f9576107e9602091612f8a565b65ffffffffffff60405191168152f35b612af1565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761086957604052565b61083a565b604081019081106001600160401b0382111761086957604052565b90601f801991011681019081106001600160401b0382111761086957604052565b604051906108b78261086e565b565b6001600160401b03811161086957601f01601f191660200190565b81601f820112156105ca578035906108eb826108b9565b926108f96040519485610889565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca5760043561093781610642565b61093f610810565b90604435906001600160401b0382116105ca576020926109666109829336906004016108d4565b6001600160a01b039092165f908152600e8552604090206134b1565b604051908152f35b346105ca5760403660031901126105ca576109d66024356004356109ad82610642565b805f525f80516020614af48339815191526020526109d1600160405f2001546136df565b61370b565b005b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f81610642565b336001600160a01b03821603610a6b576109d6906004356137a6565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae7613135565b610aef61357d565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b1483398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca5760206107e9612b41565b346105ca576040806003193601126105ca576004803591610b9783610642565b610b9f613135565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613838565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b13565b938415610d8d5760081c60ff1680610d78575b610d6a5750906106f291610d16610c7a613e38565b95610cc3610c86613eac565b610cae610c948a838b613f73565b99610ca88a610ca242613e06565b92612ba9565b9061398c565b5050610cbd89610ca242613e06565b90613a6c565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106a2610cf042613e06565b6001600160a01b039095165f908152600e6020526040902090565b612ba9565b91613b48565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613164565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e38565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db38183610889565b810190612b81565b5f80610c4b565b503d610da9565b612b90565b610c13919350610dea90853d8711610dc257610db38183610889565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca5760206107e9612bb6565b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610ec5916004016108d4565b90565b346105ca576020610982610edb36610e87565b90613326565b346105ca5760203660031901126105ca57600435610efe81610642565b610f06613135565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fc457506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b1483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca57600435610fff81610ab8565b611007613135565b61100f6135da565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109d6613164565b346105ca5760203660031901126105ca57602061098260043561108b81610642565b612bfc565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d81610642565b60243561113981610642565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b611165959195613135565b61116e84612c95565b831161134a5761117e83856130a2565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613c06565b516323e30c8b60e01b8152998a988997889633908801612c4b565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612b13565b036112da57506016546001600160a01b03169081166112c9575b836112bf613164565b5160018152602090f35b6112d292613c06565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db38183610889565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db38183610889565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca57602061098260043561137c81610642565b612c95565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206107e96113dc6107c842613e06565b612f8a565b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c5610810565b6114cd613135565b6003546114e2906001600160a01b0316611194565b3303611753576114f46107c842613e06565b906114fe81612d42565b9082151580611742575b8015611739575b611727576106f2937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611541613e38565b9461155c61154e82612b9b565b5f52600660205260405f2090565b549082810361164157506115708187612ba9565b8381188185100281189687806115fa575b50505050505b836115c6575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b6613164565b6040519081529081906020820190565b5f546115f59085906115e39060101c6001600160a01b0316611194565b6001546001600160a01b031690613c06565b61158d565b61163693610c4b83610ca861162061161961154e986116309888613cdd565b8096612b13565b9461162a42613e06565b92612b13565b92612b9b565b555f80808087611581565b9150611655825f52600660205260405f2090565b549061166581610d0b848a612ba9565b908482188286100282189788611680575b5050505050611587565b6116f593836116a8936116b58c6116b061169e6116e6998884613cdd565b9788958584613cdd565b948592612b13565b612b13565b93848410611700575b610c4b90610ca86116d495969761162a42613e06565b6116e061154e87612b9b565b55612b13565b915f52600660205260405f2090565b555f80808080611676565b9161171c610c4b91611716866116d49798612b13565b90612ba9565b8594509290506116be565b604051635e18d2a560e01b8152600490fd5b5082821161150f565b5061174c83612b05565b8210611508565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117816107c842613e06565b600181018091116107f9576107e9602091612f8a565b346105ca575f3660031901126105ca5760206109826107c842613e06565b346105ca5760203660031901126105ca576004356117d281610642565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109826107c8610825565b346105ca5760403660031901126105ca5760043561183081610642565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca576106f29260246115b6930190612e2d565b346105ca57602061098261188c36610e87565b906133fc565b346105ca576020806003193601126105ca5760048035906118b282610642565b6118ba613135565b60025460a01c60ff16611a2e576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a01575b50156119f15760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f936119c2575b5050309116036119b35750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109d6613164565b60405163b9f0f17160e01b8152fd5b6119e2929350803d106119ea575b6119da8183610889565b810190612f62565b905f80611954565b503d6119d0565b506040516324e5af8d60e21b8152fd5b611a219150823d8411611a27575b611a198183610889565b810190612f4d565b5f611927565b503d611a0f565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611a56610825565b602435611a61613135565b611a69613631565b60038110611cf35765ffffffffffff9182611a8f60135465ffffffffffff9060601c1690565b168015159081611cdd575b50611bdf575b60015460d01c838083169116818111611bcd571480611bc2575b610b4b57611b97611b6e611b697f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b09611b04611afb6107c842613e06565b600f5490612ba9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b3b6113dc6107c842613e06565b90611b62600f54611b5c611b5160015460d01c90565b65ffffffffffff1690565b90612f77565b9116612ba9565b613e06565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611ba082601055565b6040805165ffffffffffff9290921682526020820192909252a16109d6613164565b5081600f5414611aba565b6040516359dcfd5560e11b8152600490fd5b611bea601154601255565b611c24611bf960015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611c509060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611c5b601454601155565b601354611c929060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611ccd9060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611cd8601054600f55565b611aa0565b9050611ceb611b5142613e06565b10155f611a9a565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611d656107c842613e06565b611d6d613e38565b90805f52600660205260405f205482018092116107f957600181018091116107f9575f52600660205260405f205481018091116107f957604051908152602090f35b346105ca5760403660031901126105ca57602060ff611e01602435611dd381610642565b6004355f525f80516020614af4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca5760203660031901126105ca57600435611e6481610642565b60018060a01b03165f52600e602052602061098260405f20613f20565b346105ca576040806003193601126105ca57600435611e9f81610642565b6024356001600160401b0381116105ca575f80611f3d93611ec660809436906004016110e2565b908188519283928337810184815203915af43d15611f455760203d611eea816108b9565b90611ef787519283610889565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f80199101168101036060810184520182610889565b805190602001fd5b60206060611f00565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca5760043561200b81610642565b60243561201781610ab8565b61201f613135565b612027613688565b6001600160a01b0382169182156120c1575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120b6916120a4908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109d6613164565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121176024356120f581610642565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e0160243561214481610642565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca5760206107e9600435612f8a565b346105ca576020806003193601126105ca5760048035906121cc82610642565b6121d4613135565b60035460a01c60ff16612346576001600160a01b03828116939084612234575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109d6613164565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91612329575b50156123185760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936122f9575b5050309116036122ea5750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806121f4565b604051633f3e089160e21b8152fd5b612310929350803d106119ea576119da8183610889565b905f806122b7565b60405163dabc4ad960e01b81528390fd5b6123409150833d8511611a2757611a198183610889565b5f61228f565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561237281610642565b6024359061237e613135565b6001600160a01b0391818316908115612404576123af6106f2946123a183613d6a565b9485915f5460101c16613c06565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b14833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020600f54604051908152f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020610982613e38565b346105ca5760203660031901126105ca576004356124f5613135565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fc457508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca576020610982613eac565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca5760203660031901126105ca576004356125f881610642565b6126046107c842613e06565b61260d82612bfc565b9161261881836130d7565b83018093116107f957600182018092116107f957612635916130d7565b81018091116107f957602090604051908152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca576020610982613062565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca5760403660031901126105ca576109d66024356004356126f382610642565b805f525f80516020614af4833981519152602052612717600160405f2001546136df565b6137a6565b346105ca5760203660031901126105ca57600435612738613135565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fc457508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca57602061098260043561282981610642565b602435906130a2565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128f381610642565b6128fb610810565b6001600160401b0391906044358381116105ca5761291d9036906004016110e2565b9092604093845161292d8161084e565b6060815260606020820152606086820152928061298c575b6106f28661297d878761297761295e8984845191612b20565b928561296e6020850151836133fc565b93015190613326565b91613f73565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129bd8761084e565b84358181116105ca57826129d29187016108d4565b875260208501358181116105ca57826129ec9187016108d4565b6020880152858501359081116105ca576106f296612a156129779361295e9361297d98016108d4565b87820152939450612945565b346105ca5760403660031901126105ca57600435612a3e81610642565b602435612a49613135565b6001600160a01b0382161561071d578015612ab557612a78612a69613eac565b612a71613e38565b90836143b6565b335f908152600e60205260409020909290612a9290613f20565b8311612aa3576106d8918391613177565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca576020610982602435612ae981610642565b6004356130d7565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116107f957565b919082039182116107f957565b6001600160a01b03165f908152600e60205260409020610ec59291906134b1565b65ffffffffffff8060135460601c169081158015612b6e575b612b62575090565b905060015460a01c1690565b508181612b7a42613e06565b1610612b5a565b908160209103126105ca575190565b6040513d5f823e3d90fd5b90600182018092116107f957565b919082018092116107f957565b60135465ffffffffffff90818160601c168015908115612be8575b50612bdd5760901c1690565b505060015460d01c90565b905082612bf442613e06565b16105f612bd1565b6001600160a01b03165f908152600e60205260409020612c1b90613f20565b612c23613e38565b612c2b613eac565b90600181018091116107f957600182018092116107f957610ec592613cdd565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cf5576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612cdc575090565b610ec5915060203d602011610dc257610db38183610889565b505f90565b65ffffffffffff91821690821603919082116107f957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d3d57160490565b612d12565b60015465ffffffffffff808316929160a081901c821680851015612dba5750506013549281841690818015918215612db0575b5050612d9e57610ec59361171692612d93611b519360125496612cfa565b9160301c1690612d26565b60405163b7d0949760e01b8152600490fd5b109050815f612d75565b909160135490808260601c1695868015918215612e23575b505015612dfe575050610ec5935061171691612df4611b519260115495612cfa565b9060d01c90612d26565b6117169350611b519250612e18610ec59660145496612cfa565b9160901c1690612d26565b109050865f612dd2565b90612e36613135565b5f926001600160a01b038316928315612404578115612ee0575f5b828110612ebe57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea1918491612e9c9060101c6001600160a01b0316611194565b613c06565b612eb2604051928392339684612f1b565b0390a3906108b7613164565b94612ed9600191611716612ed3898789612f06565b35613d6a565b9501612e51565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f165760051b0190565b612ef2565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610ec581610ab8565b908160209103126105ca5751610ec581610642565b818102929181159184041417156107f957565b6012548082106130505760115480831015612fcb5750611b6990610ec592611b62612fbf6013549365ffffffffffff93612b13565b828460301c1690612f77565b905060145480158015613047575b156130115750610ec59165ffffffffffff613007612ffd611b699460015494612b13565b8360d01c90612f77565b9160a01c16612ba9565b611b699150610ec59261303d6130316013549365ffffffffffff93612b13565b828460901c1690612f77565b9160601c16612ba9565b50808310612fd9565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c16801591821561308d575b50506130875760105490565b600f5490565b90915061309942613e06565b16105f8061307b565b5f5460101c6001600160a01b039081169116036130c557601554610ec591613c5f565b60405163350b944160e11b8152600490fd5b906130fd90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107f957600182018092116107f957610ec592613cdd565b5f80516020614b1483398151915260028154146131525760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b1483398151915255565b335f908152600e602052604090209392919061319242613e06565b335f908152600e602052604090206131a990613f20565b918483039283116107f9576131e47febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361327399613b48565b50506131fe6131f242613e06565b610cbd876116b0613eac565b505061321861320c42613e06565b610ca8846116b0613e38565b50506132c1816132ac6132356132306107c842613e06565b612b9b565b61328b61324a825f52600660205260405f2090565b5461325d835f52600760205260405f2090565b5461326982828b613f73565b9d8e998a93612ba9565b613285855f52600660205260405f2090565b55612ba9565b61329d825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132cc838254612ba9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff809316019182116107f957565b908051156133f25780602080613341935183010191016132f5565b61334a816141e4565b9061335b825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e65782119182613391575b50506133885750610ec590613f94565b60209150015190565b90915061339f600a54612b05565b63ffffffff8316149182156133b8575b50505f80613378565b6133de9192506133d26133cd611b5192613311565b6141e4565b5165ffffffffffff1690565b115f806133af565b50505060209150015190565b50610ec590613f94565b908051156134a75780602080613417935183010191016132f5565b6134208161426e565b90613431825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261345e575b50506133885750610ec59061405b565b90915061346c600c54612b05565b63ffffffff831614918215613485575b50505f8061344e565b61349f9192506133d261349a611b5192613311565b61426e565b115f8061347c565b50610ec59061405b565b9180511561357357806020806134cc935183010191016132f5565b916134d783826142ee565b926134e8845165ffffffffffff1690565b9065ffffffffffff8085169216828114613567578211918261351e575b505061351557610ec5925061411b565b50506020015190565b90915061352b8354612b05565b63ffffffff831614918215613544575b50505f80613505565b61355f9192506133d2613559611b5192613311565b856142ee565b115f8061353b565b50505050506020015190565b50610ec59161411b565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fc45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135d0565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135d0565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135d0565b5f8181525f80516020614af483398151915260209081526040808320338452909152902060ff906135d0565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610869576108b79260405261435c565b600b54811015612f1657600b5f525f80516020614ad483398151915201905f90565b600d54811015612f1657600d5f525f80516020614ab483398151915201905f90565b8054821015612f16575f5260205f2001905f90565b600d54600160401b811015610869576001810180600d55811015612f1657600d5f525f80516020614ab48339815191520155565b600b54600160401b811015610869576001810180600b55811015612f1657600b5f525f80516020614ad48339815191520155565b90815491600160401b83101561086957826139749160016108b7950181556138d4565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a37575b506139a46143ef565b509290918154926139b3613e38565b9481613a22575b50156139ff57505f1982018281116107f95781541115612f16575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a13926001600160d01b031691506145eb565b5050613a1e836138e9565b9190565b65ffffffffffff83811691161490505f6139ba565b600160401b8110156108695760018101808455811015612f16575f908382525f80516020614ab483398151915201555f61399b565b919091600b9081548015613b13575b50613a84614444565b50929091815492613a93613eac565b9481613afe575b5015613adf57505f1982018281116107f95781541115612f16575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613af3926001600160d01b031691506146bb565b5050613a1e8361391d565b65ffffffffffff83811691161490505f613a9a565b600160401b8110156108695760018101808455811015612f16575f908382525f80516020614ad483398151915201555f613a7b565b90929192600182019081548015613bd6575b5084613b6584614499565b50949092845493613b7583613f20565b9681613bc1575b5015613b9e575050505f1981019081116107f9576139748591613a1e936138d4565b613a1e949293613bba926001600160d01b03909116919061475a565b5050613951565b65ffffffffffff83811691161490505f613b7c565b600160401b81101561086957806001613bf292018455836138d4565b8154905f199060031b1b191690555f613b5a565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610869576108b79260405261435c565b8115612d3d570490565b90808202905f1981840990828083109203918083039214613cd057633b9aca009082821115613cbe577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d5d5784831115613d505790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144d2565b505090610ec59250613c55565b90613d776107c842613e06565b8210156130505760ff613da7613d95845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613df457613db733836130d7565b918215613de257613dd5906132ac33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e19571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e7357505f5b6001600160d01b03811615612cf557600d54811015612f1657600d5f525f80516020614ab4833981519152015490565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e43565b600a5480613ee757505f5b6001600160d01b03811615612cf557600b54811015612f1657600b5f525f80516020614ad4833981519152015490565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613eb7565b805480613f5557505f5b6001600160d01b03811615613f4f576001613f4592016138d4565b90549060031b1c90565b50505f90565b5f199080828101116107f957825f5260205f2001015460301c613f2a565b9190600181018091116107f957600182018092116107f957610ec592613cdd565b600a54905f829160058411614002575b613fae935061493f565b80613fd157505f5b6001600160d01b03811615612cf557613f45610ec591613890565b613ff6613fe0613ffd92612b05565b600a5f525f80516020614a948339815191520190565b5460301c90565b613fb6565b919261400d81614814565b81039081116107f957613fae93600a5f5265ffffffffffff80835f80516020614a94833981519152015416908516105f14614049575091613fa4565b92915061405590612b9b565b90613fa4565b600c54905f8291600584116140c2575b61407593506149a8565b8061409857505f5b6001600160d01b03811615612cf557613f45610ec5916138b2565b613ff66140a76140bd92612b05565b600c5f525f80516020614a748339815191520190565b61407d565b91926140cd81614814565b81039081116107f95761407593600c5f5265ffffffffffff80835f80516020614a74833981519152015416908516105f1461410957509161406b565b92915061411590612b9b565b9061406b565b908154905f82916005841161417e575b614136935084614a11565b8061415e57505f905b6001600160d01b03821615613f4f57610ec5916001613f4592016138d4565b613ff661416d61417892612b05565b835f5260205f200190565b9061413f565b919261418981614814565b81039081116107f95761413693855f5265ffffffffffff808360205f20015416908516105f146141ba57509161412b565b9291506141c690612b9b565b9061412b565b604051906141d98261086e565b5f6020838281520152565b6141ec6141cc565b506141f56141cc565b50600a54811015612f1657600a5f526020604051916142138361086e565b5f80516020614a9483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1657600b5f525f80516020614ad48339815191520154604051916142648361086e565b8252602082015290565b6142766141cc565b5061427f6141cc565b50600c54811015612f1657600c5f5260206040519161429d8361086e565b5f80516020614a7483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1657600d5f525f80516020614ab48339815191520154604051916142648361086e565b906020600161431261433e936143026141cc565b5061430b6141cc565b50856138d4565b5093604051946143218661086e565b549465ffffffffffff86169586825260301c9384910152016138d4565b9054906040519261434e8461086e565b835260031b1c602082015290565b905f602091828151910182855af115612b90575f513d6143ad57506001600160a01b0381163b155b61438b5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614384565b9190600181018091116107f957600182018092116107f9576143d9828285613cdd565b928215612d3d5709151581018091116107f95790565b600c548061440057505f905f905f90565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061445557505f905f905f90565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144aa5750505f905f905f90565b5f199181838101116107f9575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610869576001820180600c55821015612f1657600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a7483398151915290910155565b600a5490600160401b821015610869576001820180600a55821015612f1657600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a9483398151915290910155565b8054600160401b811015610869576145ad916001820181556138d4565b6145d857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614692576140a761460391612b05565b9081549165ffffffffffff90818416918316808311614680578692036146485761464192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061467b906146676146596108aa565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144e2565b614641565b604051632520601d60e01b8152600490fd5b506146b6906146a26146596108aa565b6001600160d01b03841660208201526144e2565b5f9190565b600a54919291801561473657613fe06146d391612b05565b9081549165ffffffffffff90818416918316808311614680578692036147115761464192509065ffffffffffff82549181199060301b169116179055565b505061467b906147226146596108aa565b6001600160d01b0385166020820152614539565b506146b6906147466146596108aa565b6001600160d01b0384166020820152614539565b805492939280156147ef5761477161477c91612b05565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614680578793036147bb575061464192509065ffffffffffff82549181199060301b169116179055565b91505061467b916147db6147cd6108aa565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614590565b50906146b6916148006147cd6108aa565b6001600160d01b0385166020830152614590565b6001811115610ec557600181600160801b81101561492d575b6148d56148cb6148c16148b76148ad6148a36148e197600488600160401b6148dc9a1015614920575b640100000000811015614913575b62010000811015614906575b6101008110156148fa575b60108110156148ee575b10156148e6575b60030260011c61489c818b613c55565b0160011c90565b61489c818a613c55565b61489c8189613c55565b61489c8188613c55565b61489c8187613c55565b61489c8186613c55565b8093613c55565b821190565b900390565b60011b61488c565b811c9160021b91614885565b60081c91811b9161487b565b60101c9160081b91614870565b60201c9160101b91614864565b60401c9160201b91614856565b50600160401b9050608082901c61482d565b905b82811061494d57505090565b9091808216906001818418811c83018093116107f957600a5f5265ffffffffffff80845f80516020614a94833981519152015416908616105f14614995575050915b90614941565b9093925081018091116107f9579061498f565b905b8281106149b657505090565b9091808216906001818418811c83018093116107f957600c5f5265ffffffffffff80845f80516020614a74833981519152015416908616105f146149fe575050915b906149aa565b9093925081018091116107f957906149f8565b91905b838210614a215750505090565b909192808316906001818518811c83018093116107f957855f5265ffffffffffff808460205f20015416908516105f14614a60575050925b9190614a14565b9094935081018091116107f95791614a5956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220b628c0b9f3e70db8b5b588fa46bb1007ca4ba9fc10005163b61cc591385fe60a64736f6c63430008190033","sourceMap":"1252:20708: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;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:20708:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:20708:107;-1:-1:-1;1252:20708:107;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;757:38:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;612:37:108;1252:20708:107;;;;-1:-1:-1;;;;;1252:20708:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;10769:21;10765:75;;10878:10;1252:20708;;;;6047:15;1252:20708;;;;;6047:33;;;:::i;:24::-;:33;:::i;:::-;10854:35;;10850:88;;1057:70:95;5628:21:107;;:::i;:::-;5272:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11045:20:107;;;11041:82;;11148:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;;;;;;11041:82;1252:20708;;-1:-1:-1;;;;;;11088:24:107;;1252:20708;;11088:24;10850:88;1252:20708;;-1:-1:-1;;;10912:15:107;;1252:20708;;10912:15;10765:75;1252:20708;;-1:-1:-1;;;10813:16:107;;1252:20708;;10813:16;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;4919:24:23;1252:20708:107;-1:-1:-1;1252:20708:107;4919:24:23;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;4177:34:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;4331:25;819:34:73;837:15;819:34;:::i;:::-;4331:25:107;:::i;:::-;4680:10;;4676:65;;-1:-1:-1;;1252:20708:107;;;;;;;4757:21;1252:20708;4757:21;;:::i;:::-;1252:20708;;;;;;;;;;:::i;4676:65::-;1252:20708;;-1:-1:-1;;;4713:17:107;;1252:20708;;4713:17;1252:20708;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;;-1:-1:-1;;1252:20708:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;5831:59;1252:20708;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;5831:15;1252:20708;;;;;5831:59;:::i;:::-;1252:20708;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;5350:25:23;1252:20708:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;3202:4:23;4919:24;1252:20708:107;-1:-1:-1;1252:20708:107;4919:24:23;1252:20708:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:20708:107;;;;;;;-1:-1:-1;;1252:20708:107;;;;;2077:28:108;1252:20708:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1329:40:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:20708:107;;6441:34:23;6437:102;;6549:37;1252:20708:107;;;6549:37:23;:::i;6437:102::-;1252:20708:107;;-1:-1:-1;;;6498:30:23;;1252:20708:107;;6498:30:23;1252:20708:107;;;;;;-1:-1:-1;;1252:20708:107;;;;;6206:22;1252:20708;;;;6206:46;;;1252:20708;;;;;;;;;;;6206:46;-1:-1:-1;6232:20:107;1252:20708;;;;;6206:46;;1252:20708;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:20708:107;;;;;;;;;;;15777:26;15773:76;;-1:-1:-1;;1252:20708:107;;;;;-1:-1:-1;1252:20708:107;;;;;;15900:27;;1252:20708;;15900:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;15773:76;1252:20708;;-1:-1:-1;;;15826:12:107;;1252:20708;;15826:12;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;8718:24;;8714:81;;-1:-1:-1;1252:20708:107;;;;8809:55;;;1252:20708;8805:118;;1252:20708;;-1:-1:-1;;;8957:43:107;;;8994:4;8957:43;;;1252:20708;;;;;;;;;;;;;;;;;;;;;;;;;8957:43;;;;;;;;;;-1:-1:-1;8957:43:107;;;1252:20708;;9073:6;1252:20708;;;8994:4;;9046:10;;9073:6;;:::i;:::-;-1:-1:-1;1252:20708:107;;;9108:43;;;8994:4;9108:43;;;1252:20708;;;;;;;;;;9108:43;1252:20708;;;;;;9108:43;1252:20708;;;;;9108:43;;;;;;;:59;:43;-1:-1:-1;9108:43:107;;;1252:20708;9108:59;;;:::i;:::-;9182:20;;;9178:79;;1252:20708;;;;;9271:64;;1252:20708;9267:123;;5628:21;;1252:20708;5628:21;9746:93;5628:21;;:::i;:::-;5272:22;9670:66;5272:22;;:::i;:::-;9593:67;390:70:95;;;;;:::i;:::-;837:15:73;9629:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9629:30:107;;:::i;:::-;9593:67;;:::i;:::-;837:15:73;;9707:28:107;837:15:73;819:34;837:15;819:34;:::i;9707:28:107:-;9670:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:20708:107;;;;;;6047:15;1252:20708;;;;;837:15:73;9797:41:107;837:15:73;6047:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;;;6047:15;1252:20708;;;;;;;6047:33;9797:41;:::i;:::-;9746:93;;:::i;:::-;-1:-1:-1;;1252:20708:107;;;;;;;;;;;9046:10;;9855:62;;1252:20708;;9855:62;3426:1:30;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;;;;;;;9267:123;1252:20708;;-1:-1:-1;;;9358:21:107;;;9271:64;5628:21;9289:31;5628:21;;;:::i;9289:31::-;1252:20708;;-1:-1:-1;9271:64:107;;9178:79;-1:-1:-1;1252:20708:107;;-1:-1:-1;;;9225:21:107;;;9108:43;;;;;;-1:-1:-1;9108:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;8957:::-;9073:6;8957:43;;;;;;;;;;;;;;;:::i;:::-;;;;;8805:118;-1:-1:-1;1252:20708:107;;-1:-1:-1;;;8887:25:107;;;8809:55;-1:-1:-1;8853:10:107;1252:20708;;;;8830:22;1252:20708;;;;;;;;8829:35;8809:55;;8714:81;1252:20708;;-1:-1:-1;;;8765:19:107;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;2241:34:108;1252:20708:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5098:48;1252:20708;;;:::i;:::-;5098:48;;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;;1329:40:108;;1252:20708:107;;4468:23:23;4464:108;;-1:-1:-1;19105:16:107;1252:20708;-1:-1:-1;;;;;1252:20708:107;;;;;;19105:37;;19101:87;;-1:-1:-1;;;;;;1252:20708:107;;;19105:16;1252:20708;;;;;;19249:38;;1252:20708;;19249:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;4464:108:23;1252:20708:107;;;;4514:47:23;;;;;;966:10:28;1252:20708:107;4514:47:23;;1252:20708:107;;;;;4514:47:23;1252:20708:107;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;16605:24;16601:74;;-1:-1:-1;;1252:20708:107;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;16724:25;;1252:20708;;16724:25;3426:1:30;;:::i;1252:20708:107:-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3909:32:108;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;-1:-1:-1;1252:20708:107;2704:59:108;1252:20708:107;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12445:19:107;;;:::i;:::-;12437:27;;12433:82;;12538:22;;;;:::i;:::-;-1:-1:-1;1252:20708:107;;;;12636:19;;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;-1:-1:-1;;;;;1252:20708:107;;;12636:19;1252:20708;;;-1:-1:-1;;;12636:44:107;;;12674:4;12636:44;;;1252:20708;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;12674:4;1252:20708;;;;;;;;12636:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12636:44:107;;;1252:20708;;;12743:5;1252:20708;12764:57;1252:20708;;-1:-1:-1;1252:20708:107;;;;12743:5;;;:::i;:::-;1252:20708;-1:-1:-1;;;12764:57:107;;1252:20708;;;;;;;12785:10;;12764:57;;;:::i;:::-;;;;;;;;;1564:45:108;12764:57:107;-1:-1:-1;12764:57:107;;;1252:20708;12764:73;;12760:128;;1252:20708;;12902:44;;;12674:4;12902:44;;;1252:20708;;;;;;;;;12902:44;1252:20708;;;;;;12902:44;;;;;;;;;;:60;:44;-1:-1:-1;12902:44:107;;;:60;;;:::i;:::-;:67;12898:126;;-1:-1:-1;13038:16:107;1252:20708;-1:-1:-1;;;;;1252:20708:107;;;;13034:116;;1252:20708;3426:1:30;;;:::i;:::-;1252:20708:107;13167:4;1252:20708;;;;;13034:116;13135:3;;;:::i;:::-;13034:116;;;;;12898:126;1252:20708;;-1:-1:-1;;;12992:21:107;;;12760:128;1252:20708;;-1:-1:-1;;;12860:17:107;;1252:20708;;12860:17;12764:57;;;;;;;;;;;;;;:::i;:::-;;;;12636:44;-1:-1:-1;12636:44:107;;;;;;;12764:57;12636:44;;;12743:5;12636:44;;;;-1:-1:-1;12636:44:107;;;;;;:::i;:::-;;;;;;;;;;;;;12433:82;-1:-1:-1;1252:20708:107;;-1:-1:-1;;;12487:17:107;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1041:36:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4486:26;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1564:45:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;1575:42;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3817:36:108;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;2409:32:108;1252:20708:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13366:7:107;1252:20708;13352:21;;-1:-1:-1;;;;;1252:20708:107;;;13352:21;:10;:21;13348:71;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;13500;;;;:::i;:::-;13540:17;;;;:53;;;1252:20708;13539:87;;;;1252:20708;13535:146;;1252:20708;5628:21;15545:48;5628:21;;;:::i;:::-;13775:17;13763:30;13775:17;;;:::i;:::-;1252:20708;;13763:11;1252:20708;;;;;;;13763:30;1252:20708;;13807:29;;;;;13877:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:20708:107;3060:42:68;;13987:17:107;;;13983:384;;13803:1615;;;;;;;15432:17;15428:102;;13803:1615;1252:20708;;;;;;;;;;;;;;;;;;;;;;;15545:48;3426:1:30;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;15428:102;-1:-1:-1;1252:20708:107;15505:13;;1252:20708;;15465:18;;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;;15465:18;13791:1;1252:20708;-1:-1:-1;;;;;1252:20708:107;15505:13;;:::i;:::-;15428:102;;13983:384;14280:29;14048:50;14197:65;14048:50;14233:28;14149:29;14048:50;14292:16;14048:50;14312:40;14048:50;;;:::i;:::-;14149:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14233:28:107;;:::i;14312:40::-;14292:16;;:::i;14280:29::-;1252:20708;13983:384;;;;;;;13803:1615;14420:26;;;;1252:20708;;13763:11;1252:20708;;;;;;;14420:26;1252:20708;14485:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:20708:107;3060:42:68;;14610:17:107;;14606:802;;13803:1615;;;;;;;;14606:802;15331:26;14671:50;;14772:53;14671:50;14872:54;14671:50;14872:29;14671:50;15360:33;14671:50;;;;:::i;:::-;14772:53;;;;;;:::i;:::-;14872:29;;;;:::i;:::-;:54;:::i;:::-;14949:33;;;;14945:194;;14606:802;15157:65;837:15:73;15193:28:107;15273:40;837:15:73;;;819:34;837:15;819:34;:::i;15273:40:107:-;15240:30;15252:17;;;:::i;15240:30::-;1252:20708;15360:33;:::i;:::-;15331:26;1252:20708;;13763:11;1252:20708;;;;;;;15331:26;1252:20708;14606:802;;;;;;;14945:194;15032:33;15006:59;15157:65;15032:33;;;15273:40;15032:33;;;:::i;:::-;15006:59;;:::i;:::-;15087:33;;-1:-1:-1;15087:33:107;;-1:-1:-1;14945:194:107;;13535:146;1252:20708;;-1:-1:-1;;;13649:21:107;;1252:20708;;13649:21;13539:87;13598:28;;;;13539:87;;13540:53;13576:17;;;;:::i;:::-;13561:32;;13540:53;;13348:71;1252:20708;;-1:-1:-1;;;13396:12:107;;1252:20708;;13396:12;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4933:1;1252:20708;;;;;;;4905:30;1252:20708;4905:30;;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;4331:25;819:34:73;837:15;819:34;:::i;1252:20708:107:-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:20708:107;2580:68:108;1252:20708:107;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11735:14;1252:20708;;11735:14;;:::i;1252:20708::-;;;;;5456:47;1252:20708;;;:::i;:::-;5456:47;;:::i;1252:20708::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;19434:22:107;1252:20708;;;;;19430:89;;1252:20708;;-1:-1:-1;;;19534:49:107;;-1:-1:-1;;;;;1252:20708:107;;;19534:49;;;1252:20708;;;;;;;;;;;;;;;19534:49;19544:17;;;1252:20708;19534:49;;;;;;;-1:-1:-1;19534:49:107;;;1252:20708;19533:50;;19529:102;;1252:20708;;-1:-1:-1;;;19645:34:107;;1252:20708;;;;;19645:34;1252:20708;19645:34;1252:20708;;19645:34;;;;;;;-1:-1:-1;19645:34:107;;;1252:20708;19691:4;;;1252:20708;;19645:51;19641:107;;-1:-1:-1;19434:22:107;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;;;-1:-1:-1;;;;;;1252:20708:107;;;;;;;-1:-1:-1;;;1252:20708:107;;;19836:24;-1:-1:-1;;19836:24:107;3426:1:30;;:::i;19641:107:107:-;1252:20708;;-1:-1:-1;;;19719:18:107;;;19645:34;;;;;;;-1:-1:-1;19645:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;19529:102;-1:-1:-1;1252:20708:107;;-1:-1:-1;;;19606:14:107;;;19534:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;19430:89;1252:20708;;-1:-1:-1;;;19479:29:107;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;17327:1:107;17296:32;;17292:106;;1252:20708;;;;17412:22;1252:20708;;;;;;;;;;17412:27;;;:73;;;;1252:20708;17408:505;;;1252:20708;17927:14;1252:20708;;;;;;;;;17927:31;;;17923:94;;18031:32;:96;;;1252:20708;18027:146;;18305:105;18330:80;18331:67;18499:62;837:15:73;18183:67:107;18205:45;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;18222:28;1252:20708;18205:45;;:::i;:::-;18183:67;1252:20708;;18183:67;17412:22;1252:20708;;-1:-1:-1;;;;1252:20708:107;;;;;-1:-1:-1;;;1252:20708:107;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4486:26:107:-;1252:20708;18353:45;18222:28;1252:20708;18353:45;1252:20708;17927:14;1252:20708;;;;;;;;;;18353:45;;;:::i;:::-;1252:20708;;18331:67;:::i;:::-;18330:80;:::i;:::-;17412:22;1252:20708;;-1:-1:-1;;;;1252:20708:107;;;;;;-1:-1:-1;;;1252:20708:107;;;;;;;;18305:105;18420:63;;;1252:20708;;18420:63;1252:20708;;;;;;;;;;;;;;;;;18499:62;3426:1:30;;:::i;18031:96:107:-;1252:20708;;18067:28;1252:20708;18067:60;18031:96;;17923:94;1252:20708;;-1:-1:-1;;;17981:25:107;;1252:20708;;17981:25;17408:505;17501:53;17531:23;1252:20708;17501:53;1252:20708;;17501:53;17568:35;1252:20708;17589:14;1252:20708;;;;;;;17412:22;1252:20708;;;;;;;;;;17412:22;1252:20708;;17568:35;17589:14;1252:20708;17617:43;;1252:20708;;;;;;;;17412:22;1252:20708;;;17412:22;1252:20708;;17617:43;17674:45;17700:19;1252:20708;17531:23;1252:20708;;17674:45;17412:22;1252:20708;17733:35;;1252:20708;;;;17589:14;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;;;;;-1:-1:-1;;;;;;1252:20708:107;;;;;;;;17733:35;17412:22;1252:20708;17782:43;;1252:20708;;;;17589:14;1252:20708;;-1:-1:-1;;;;1252:20708:107;;;;;;-1:-1:-1;;;1252:20708:107;;;;;;;;17782:43;17839:63;17870:32;1252:20708;17839:63;1252:20708;;17839:63;17408:505;;17412:73;837:15:73;;17443:42:107;819:34:73;837:15;819:34;:::i;17443:42:107:-;-1:-1:-1;17443:42:107;17412:73;;;17292:106;1252:20708;;-1:-1:-1;;;17351:36:107;;1252:20708;;17351:36;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;1666:40;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;5628:21;;:::i;:::-;1252:20708;;;;6432:11;1252:20708;;;;;;;;;;;;;6473:1;1252:20708;;;;;;;;;6432:11;1252:20708;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3901:31:23;1252:20708:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;3901:31:23;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;3719:42:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;3625:38:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:20708:107;6047:15;1252:20708;;;6047:33;1252:20708;-1:-1:-1;1252:20708:107;6047:33;:::i;1252:20708::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:20708:107;;;;-1:-1:-1;1252:20708:107;477:31:86;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;477:31:86;;;1252:20708:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;477:31:86;1252:20708:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:20708:107;518:79:86;;1252:20708:107;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;1989:32:108;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;900:35:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;16142:21;;16138:75;;-1:-1:-1;1252:20708:107;;;16227:22;1252:20708;;;;;;;;;;;;;16227:41;16223:91;;-1:-1:-1;;;;;1252:20708:107;;;;;8830:22;1252:20708;;;;;16380:44;;;;16324:40;;:31;1252:20708;;;;;;;;;;;;;;16324:40;1252:20708;;;;;;;;;;;;;;;16380:44;;;;3426:1:30;;:::i;16138:75:107:-;1252:20708;;-1:-1:-1;;;16186:16:107;;1252:20708;;16186:16;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;2939:94:108;1252:20708:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20708:107;2939:94:108;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;2939:94:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3089:92:108;1252:20708:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20708:107;3089:92:108;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;4350:31:108;1252:20708:107;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20003:20:107;1252:20708;;;;;19999:85;;-1:-1:-1;;;;;1252:20708:107;;;;;;20094:312;;1252:20708;20003:20;1252:20708;;-1:-1:-1;;;;1252:20708:107;-1:-1:-1;;;1252:20708:107;;;20416:27;20459:20;-1:-1:-1;20459:20:107;;3426:1:30;;:::i;20094:312:107:-;1252:20708;;-1:-1:-1;;;20141:45:107;;-1:-1:-1;;;;;1252:20708:107;;20141:45;;;1252:20708;;;20141:45;;1252:20708;;;;;;20141:45;20151:15;;;1252:20708;20141:45;;;;;;;-1:-1:-1;20141:45:107;;;20094:312;20140:46;;20136:104;;1252:20708;;-1:-1:-1;;;20258:30:107;;;1252:20708;20258:30;1252:20708;20258:30;;;;;;;;-1:-1:-1;20258:30:107;;;20094:312;20300:4;;;1252:20708;;20258:47;20254:109;;-1:-1:-1;20003:20:107;1252:20708;;-1:-1:-1;;;;;;1252:20708:107;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;20094:312;;;;;;20254:109;1252:20708;;-1:-1:-1;;;20332:16:107;;;20258:30;;;;;;;-1:-1:-1;20258:30:107;;;;;;:::i;:::-;;;;;;20136:104;1252:20708;;-1:-1:-1;;;20213:12:107;;1252:20708;;20213:12;20141:45;;;;;;;;;;;;;;:::i;:::-;;;;19999:85;1252:20708;;-1:-1:-1;;;20046:27:107;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;11356:23;;11352:79;;11517:6;1252:20708;11450:13;;;;:::i;:::-;1252:20708;;;-1:-1:-1;1252:20708:107;;;;11517:6;:::i;:::-;1252:20708;;;;;;;;;;;;11546:10;;11540:43;;1252:20708;11540:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;;;;;;;11352:79;1252:20708;;-1:-1:-1;;;11402:18:107;;1252:20708;;11402:18;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;-1:-1:-1;1252:20708:107;2819:64:108;1252:20708:107;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;2331:22:108;1252:20708:107;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;3423:43:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1183:36:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;5628:21;;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;;900:35:108;;1252:20708:107;;4468:23:23;4464:108;;1252:20708:107;;;;16927:21;16923:71;;1252:20708;;17040:22;1252:20708;;;;;;;;17040:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;5272:22;;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;4089:32:108;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;7836:24;;;:::i;:::-;7863:29;;;;;:::i;:::-;1252:20708;;;;;;;7917:1;1252:20708;;;;;;;7895:33;;;:::i;:::-;1252:20708;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;3522:47:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3997:36:108;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;2161:24:108;1252:20708:107;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;5767:26:23;1252:20708:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;3202:4:23;4919:24;1252:20708:107;-1:-1:-1;1252:20708:107;4919:24:23;1252:20708:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:20708:107:-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;;1183:36:108;;1252:20708:107;;4468:23:23;4464:108;;1252:20708:107;;18748:12;1252:20708;18748:29;18744:79;;1252:20708;;18876:30;1252:20708;18748:12;1252:20708;;;;;;18876:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;466:39:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;4267:27:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1466:3:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;:::i;:::-;6654:48;;1252:20708;;;;;;;:::i;:::-;;;;;;;;;;;;;;6716:16;;6712:111;;1252:20708;;6915:39;1057:70:95;6915:39:107;;5098:48;6878:77;6915:39;;;;6878:77;;:::i;:::-;6994:36;;5456:47;1252:20708;6994:36;;;5456:47;;:::i;:::-;7071:37;;;5098:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;6712:111;6771:41;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5098:48;1252:20708;6878:77;1252:20708;1057:70:95;1252:20708:107;;;:::i;:::-;;;;;6712:111;;;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;10134:21;10130:75;;10219:11;;10215:73;;845:69:95;5272:22:107;;:::i;:::-;5628:21;;:::i;:::-;845:69:95;;;:::i;:::-;10424:10:107;1252:20708;;;;6047:15;1252:20708;;;;;10424:10;;;6047:33;;;:::i;:::-;10394:41;;10390:96;;10511:40;;;;;:::i;10390:96::-;1252:20708;;-1:-1:-1;;;10458:17:107;;1252:20708;;10458:17;10215:73;1252:20708;;-1:-1:-1;;;10253:24:107;;1252:20708;;10253:24;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5704:193::-;-1:-1:-1;;;;;1252:20708:107;-1:-1:-1;1252:20708:107;;;5831:15;1252:20708;;;;;5831:59;;5704:193;;5831:59;:::i;2517:241::-;1252:20708;;2589:22;1252:20708;;;;2589:27;;;:72;;;;2517:241;2585:128;;2722:29;2517:241;:::o;2585:128::-;1252:20708;;2684:18;1252:20708;;;;2677:25;:::o;2589:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20708:107;2620:41;2589:72;;1252:20708;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13791:1;1252:20708;;;;;;;:::o;:::-;;;;;;;;;;:::o;2240:229::-;2308:22;1252:20708;;;;;;;;2308:27;;:72;;;;;2240:229;2304:124;;;1252:20708;;;2240:229;:::o;2304:124::-;1252:20708;;2403:14;1252:20708;;;2396:21;:::o;2308:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20708:107;2339:41;2308:72;;;7174:191;-1:-1:-1;;;;;1252:20708:107;-1:-1:-1;1252:20708:107;;;6047:15;1252:20708;;;;;6047:33;;;:::i;:::-;5628:21;;:::i;:::-;5272:22;;:::i;:::-;1252:20708;1884:1:95;1252:20708:107;;;;;;;1884:1:95;1252:20708:107;;;;;;;9478:25:68;;;:::i;1252:20708:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;:::o;7996:218::-;8109:10;1252:20708;;;-1:-1:-1;;;;;1252:20708:107;;;;;8136:20;;1252:20708;;8159:44;1252:20708;;;;;;;;;;;8159:44;;8197:4;8159:44;;;1252:20708;8159:44;;;;;;;8109:10;8159:44;;;8136:71;7996:218;:::o;8159:44::-;;;;;;;;;;;;;;:::i;8136:71::-;;8109:10;7996:218;:::o;1252:20708::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2806:693::-;2911:18;1252:20708;;;;;;;;;;;;;2899:30;;;;;;1252:20708;;2949:22;1252:20708;;;;;2949:27;;;;:65;;;;;2895:598;2945:129;;;;3094:87;1252:20708;3094:87;1252:20708;3125:34;3124:57;1252:20708;3094:27;1252:20708;3125:34;;:::i;:::-;1252:20708;;;;3124:57;;:::i;2945:129::-;1252:20708;;-1:-1:-1;;;3041:18:107;;;;;2949:65;2980:34;;-1:-1:-1;2949:65:107;;;;2895:598;1252:20708;;3202:22;1252:20708;;;;;;;3202:27;;;;:65;;;;;2895:598;-1:-1:-1;;3198:295:107;;;1252:20708;;3290:75;1252:20708;;3290:75;1252:20708;3317:30;3316:49;1252:20708;3290:23;1252:20708;3317:30;;:::i;:::-;1252:20708;;;3316:49;;:::i;3198:295::-;3403:79;1252:20708;;3425:57;1252:20708;;3426:34;3403:79;1252:20708;3403:19;1252:20708;3426:34;;:::i;:::-;1252:20708;;;;3425:57;;:::i;3202:65::-;3233:34;;-1:-1:-1;3202:65:107;;;;3361:103:30;;;;:::i;:::-;1252:20708:107;;-1:-1:-1;;;;;1252:20708:107;;;11765:23;;11761:79;;11894:11;;11890:70;;1252:20708;11986:10;;;;;;-1:-1:-1;1252:20708:107;;12131:49;;1252:20708;;;;12108:6;;1252:20708;;12065:18;;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;;12065:18;12108:6;:::i;:::-;12131:49;1252:20708;;12142:10;;;;12131:49;;;:::i;:::-;;;;3426:1:30;;;:::i;11998:3:107:-;12034:9;12017:27;1252:20708;12034:9;12027:17;12034:9;;;;;:::i;:::-;1252:20708;12027:17;:::i;12017:27::-;11998:3;1252:20708;11975:9;;11890:70;1252:20708;;-1:-1:-1;;;11928:21:107;;;;;1252:20708;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3547:665::-;3647:27;1252:20708;3639:35;;;3635:87;;3744:23;1252:20708;3736:31;;;;;;1252:20708;3791:83;1252:20708;3790:96;1252:20708;3816:58;3817:35;3791:22;1252:20708;;;3817:35;;:::i;:::-;1252:20708;;;;;3816:58;;:::i;3732:474::-;1252:20708;;3907:19;1252:20708;3907:24;;:55;;;;3732:474;3903:303;;;1252:20708;3985:84;1252:20708;;4007:50;4008:31;3986:71;1252:20708;3986:18;1252:20708;4008:31;;:::i;:::-;1252:20708;;;4007:50;;:::i;:::-;1252:20708;;;;3986:71;:::i;3903:303::-;4108:75;1252:20708;;4107:88;1252:20708;4133:50;4134:27;4108:22;1252:20708;;;4134:27;;:::i;:::-;1252:20708;;;;;4133:50;;:::i;:::-;1252:20708;;;;4108:75;:::i;3907:55::-;3935:27;;;;3907:55;;3635:87;1252:20708;;-1:-1:-1;;;3697:14:107;;;;;1918:274;1252:20708;;2003:22;1252:20708;;;;2003:27;;:72;;;;;1918:274;1999:138;;;;2153:32;1252:20708;1918:274;:::o;1999:138::-;2098:28;1252:20708;2091:35;:::o;2003:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20708:107;2034:41;2003:72;;;;8275:228;8376:10;1252:20708;;;-1:-1:-1;;;;;1252:20708:107;;;;;8367:19;8363:75;;8467:12;1252:20708;8454:42;;;:::i;8363:75::-;1252:20708;;-1:-1:-1;;;8409:18:107;;;;;7413:227;;7553:34;7413:227;1252:20708;-1:-1:-1;1252:20708:107;7553:18;1252:20708;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;7553:34;1252:20708;;-1:-1:-1;1252:20708:107;7589:11;1252:20708;;;-1:-1:-1;1252:20708:107;;7609:16;1252:20708;;;-1:-1:-1;1252:20708:107;;;1884:1:95;1252:20708:107;;;;;;;1884:1:95;1252:20708:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:20708:107;;3670:20:30;3666:88;;1991:1;1252:20708:107;;3470:384:30:o;3666:88::-;1252:20708:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:20708:107;3860:283:30:o;20492:960:107:-;20671:10;1252:20708;;;;6047:15;1252:20708;;;;;;20492:960;;;819:34:73;837:15;819:34;:::i;:::-;20671:10:107;1252:20708;;;;6047:15;1252:20708;;;;;6047:33;;;:::i;:::-;1252:20708;;;;;;;;;20655:93;21371:74;20655:93;;;21196:30;20655:93;;:::i;:::-;837:15:73;;20758:67:107;819:34:73;837:15;819:34;:::i;:::-;20795:29:107;5272:22;;;:::i;20758:67::-;837:15:73;;20835:68:107;819:34:73;837:15;819:34;:::i;:::-;20871:31:107;5628:21;;;:::i;20835:68::-;837:15:73;;21305:34:107;837:15:73;21305:25:107;20930:18;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;20930:18;:::i;:::-;21262:33;20981:18;;1252:20708;;13763:11;1252:20708;;;;;;;20981:18;1252:20708;21038:23;;1252:20708;;21038:16;1252:20708;;;;;;;21038:23;1252:20708;390:70:95;;;;;:::i;:::-;21196:30:107;;;;;;:::i;:::-;21175:18;;1252:20708;;13763:11;1252:20708;;;;;;;21175:18;1252:20708;21262:33;:::i;:::-;21236:23;;1252:20708;;21038:16;1252:20708;;;;;;;21236:23;1252:20708;;;21305:18;1252:20708;;;;;;;21305:25;1252:20708;;;;;;;;;;;;;;;;21305:34;:50;1252:20708;;;21305:50;:::i;:::-;1252:20708;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;20671:10;;1252:20708;;21371:74;20492:960::o;1252:20708::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:20708:107;;7686:17:94;7682:83;;1252:20708:107;7789:27:94;1252:20708:107;7789:27:94;1252:20708:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:20708: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:20708:107;8075:24:94;:::o;7975:84::-;1252:20708:107;;;8009:16:94;5098:13:107;1252:20708;8009:16:94;:::i;:::-;1252:20708: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:20708:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:20708:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:20708:107;;7686:17:94;7682:83;;1252:20708:107;7789:27:94;1252:20708:107;7789:27:94;1252:20708:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:20708:107;;;8009:16:94;5456:12:107;1252:20708;8009:16:94;:::i;:::-;1252:20708: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:20708:107;;7686:17:94;7682:83;;1252:20708:107;7789:27:94;1252:20708:107;7789:27:94;1252:20708:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:20708: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:20708:107;8075:24:94;:::o;7975:84::-;1252:20708:107;;;8009:16:94;1252:20708:107;;8009:16:94;:::i;:::-;1252:20708: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:20708:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;466:39:108;;1252:20708:107;;3901:31:23;1252:20708:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;757:38:108;;1252:20708:107;;3901:31:23;1252:20708:107;4148:103:23;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;1041:36:108;;1252:20708:107;;3901:31:23;1252:20708:107;4148:103:23;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;612:37:108;;1252:20708:107;;3901:31:23;1252:20708:107;4148:103:23;-1:-1:-1;1252:20708:107;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;966:10:28;1252:20708:107;;;;;;;;;3901:31:23;1252:20708:107;7270:387:23;-1:-1:-1;1252:20708:107;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;-1:-1:-1;;1252:20708:107;7509:4:23;1252:20708:107;;;966:10:28;;-1:-1:-1;;;;;1252:20708: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:20708:107;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;966:10:28;;-1:-1:-1;;;;;1252:20708:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:20708:107;8209:11:23;:::o;1670:188:55:-;1252:20708:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:20708:107;;;1797:53:55;;;1252:20708:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:20708:107;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;1797:53:55;1252:20708:107;;;1797:53:55;:::i;1252:20708:107:-;7178:12:94;1252:20708:107;;;;;;7178:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;-1:-1:-1;1252:20708:107;:::o;:::-;7178:12:94;1252:20708:107;;;;;;7178:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;-1:-1:-1;1252:20708:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:20708:107;;-1:-1:-1;1252:20708:107;;;-1:-1:-1;1252:20708:107;:::o;:::-;6360:12:94;1252:20708:107;-1:-1:-1;;;1252:20708:107;;;;;;;;;6360:12:94;1252:20708:107;;;;;;6360:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;:::o;:::-;6360:12:94;1252:20708:107;-1:-1:-1;;;1252:20708:107;;;;;;;;;6360:12:94;1252:20708:107;;;;;;6360:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:20708:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:20708:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:20708:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:20708:107;;;;;;;;;-1:-1:-1;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;6798:25:94;1252:20708:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:20708:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:20708:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;6356:75:94;;;6246:584;;;;6360:12;1252:20708:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:20708:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:20708:107;;;;;;;;;-1:-1:-1;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;6798:25:94;1252:20708:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:20708:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:20708:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:20708:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:20708:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:20708:107;;8310:38:71;;-1:-1:-1;;;;;1252:20708:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:20708:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20708:107;;;;;;6360:12:94;1252:20708:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:20708:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:20708:107;;;1380:43:55;;;1252:20708:107;;;;;;;;;1380:43:55;;;1252:20708:107;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;1380:43:55;1252:20708:107;;;1380:43:55;:::i;1252:20708:107:-;;;;;;;:::o;4996:4226:68:-;;1252:20708:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:108;6270:20:68;;;;;6266:143;;1252:20708:107;6695:300:68;;;;;;;;1252:20708:107;;6695:300:68;;7259:375;;7700:21;1252:20708:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1252:20708:107;;1466:3:108;1252:20708:107;;;6119:26:68;:::o;4996:4226::-;;1252:20708:107;;;;-1:-1:-1;;1252:20708: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:20708:107;;8075:1:68;1252:20708:107;8074:21:68;1252:20708:107;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:20708:107;6695:300:68;;7259:375;7700:21;1252:20708:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:20708:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;21458:460:107:-;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;21551:23;;;21547:75;;1252:20708;21636:39;:27;;1252:20708;;21636:20;1252:20708;;;;;;;21636:27;21664:10;1252:20708;;;;;;;;;;;;;;21636:39;1252:20708;;21632:93;;21744:32;21664:10;21744:32;;:::i;:::-;21791:11;;;21787:68;;21865:39;21664:10;21865:27;21664:10;21865:27;1252:20708;;21636:20;1252:20708;;;;;;;21865:39;1252:20708;;-1:-1:-1;;1252:20708:107;21907:4;1252:20708;;;21458:460::o;21787:68::-;1252:20708;;-1:-1:-1;;;21825:19:107;;;;;21632:93;1252:20708;;-1:-1:-1;;;21698:16:107;;;;;14296:213:69;1252:20708:107;14374:24:69;;;;14370:103;;1252:20708:107;14296:213:69;:::o;14370:103::-;1252:20708:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:20708:107;;;;;14421:41:69;10580:184:94;5628:12:107;1252:20708;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20708:107;;10726:7:94;1252:20708:107;;10736:12:94;1252:20708:107;;;;;;10736:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;10580:184:94;:::o;10446:63:71:-;1252:20708:107;;;;;;;;5628:12;-1:-1:-1;14439:109:71;;;1252:20708:107;;;10446:63:71;;10580:184:94;5272:13:107;1252:20708;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20708:107;;10726:7:94;1252:20708:107;;10736:12:94;1252:20708:107;;;;;;10736:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;10580:184:94;:::o;10446:63:71:-;1252:20708:107;;;;;;;;5272:13;-1:-1:-1;14439:109:71;;;1252:20708:107;;;10446:63:71;;10580:184:94;1252:20708:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20708:107;;10726:7:94;1252:20708:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:20708:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:20708:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:20708:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:20708:107;;;;;;;1884:1:95;1252:20708:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5098:13:107;1252:20708;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:20708:107;;7168:7:94;1252:20708:107;;7178:17:94;1252:20708: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:20708:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:20708:107;;;;;;;10049:53:71;14439:109;5098:13:107;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20708:107;;;;;9870:48:71;9866:149;1252:20708:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5456:12:107;1252:20708;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:20708:107;;7168:7:94;1252:20708:107;;7178:17:94;1252:20708: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:20708:107;;;;;;;10049:53:71;14439:109;5456:12:107;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20708:107;;;;;9870:48:71;9866:149;1252:20708:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:20708: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:20708:107;;7168:7:94;1252:20708: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:20708:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:20708:107;;;;;9870:48:71;9866:149;1252:20708:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:20708:107;;;;;;;:::i;:::-;-1:-1:-1;1252:20708:107;;;;;;;:::o;11486:272:94:-;1252:20708:107;;:::i;:::-;;;;:::i;:::-;;5098:13;1252:20708;;;;;;5098:13;-1:-1:-1;1252:20708:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;;;;;;;;;;11718:12:94;1252:20708:107;;;;;;11718:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:20708:107;11486:272:94;:::o;:::-;1252:20708:107;;:::i;:::-;;;;:::i;:::-;;5456:12;1252:20708;;;;;;5456:12;-1:-1:-1;1252:20708:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;;;;;;;;;;11718:12:94;1252:20708:107;;;;;;11718:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;:::i;11486:272:94:-;;1252:20708:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:20708:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:20708:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:20708: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:20708:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:20708:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:20708:107;;;8401:40:55;;;1252:20708:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:20708:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:20708:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5628:12:107;1252:20708;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20708:107;;;;;;;;5628:12;10833:17:71;14439:109;;;1252:20708:107;11014:1:71;;1252:20708:107;;;;;;;11030:37:71:o;10695:389::-;5272:13:107;1252:20708;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20708:107;;;;;;;;5272:13;10833:17:71;14439:109;;;1252:20708:107;11014:1:71;;1252:20708:107;;;;;;;11030:37:71:o;10695:389::-;1252:20708:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20708:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:20708:107;11014:1:71;1252:20708:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:20708:107;5628:12;1252:20708;;-1:-1:-1;;;1252:20708:107;;;;;;;;;5628:12;1252:20708;;;;;;5628:12;-1:-1:-1;1252:20708:107;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;:::o;:::-;5272:13;1252:20708;;-1:-1:-1;;;1252:20708:107;;;;;;;;;5272:13;1252:20708;;;;;;5272:13;-1:-1:-1;1252:20708:107;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:20708:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5628:12:107;1252:20708;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:20708:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:20708:107;;;;;;;;;;;;;;;;;12285:19:71;1252:20708:107;;12423:25:71;;:::o;12247:163::-;1252:20708:107;;12343:52:71;1252:20708:107;12353:41:71;1252:20708:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:20708:107;;12353:41:71;;;1252:20708:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:20708:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:20708:107;12479:52:71;1252:20708:107;12489:41:71;1252:20708:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20708:107;;12489:41:71;;;1252:20708:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5272:13:107;1252:20708;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:20708:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:20708:107;;;;;;;;;;;;;;;;;12247:163:71;1252:20708:107;;12343:52:71;1252:20708:107;12353:41:71;1252:20708:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:20708:107;;12353:41:71;;;1252:20708:107;12343:52:71;:::i;11860:713::-;1252:20708:107;12479:52:71;1252:20708:107;12489:41:71;1252:20708:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20708:107;;12489:41:71;;;1252:20708:107;12343:52:71;:::i;11657:922::-;1252:20708:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:20708:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:20708:107;;;;;;;;;;;;;;;;;12247:163:71;1252:20708:107;;;12343:52:71;1252:20708:107;12353:41:71;1252:20708:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:20708:107;;12353:41:71;;;1252:20708:107;12343:52:71;:::i;11860:713::-;1252:20708:107;;12479:52:71;1252:20708:107;12489:41:71;1252:20708:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20708:107;;12489:41:71;;;1252:20708: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:20708:107;18246:1:68;1252:20708:107;22284:6:68;;;;:::i;:::-;1252:20708: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:20708:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:20708:107;19887:61:68;;19787:87;1252:20708:107;;;;;19787:87:68;;;19687;1252:20708:107;;;;;19687:87:68;;;19585:89;1252:20708:107;;;;;19585:89:68;;;19482:90;1252:20708:107;;;;;19482:90:68;;;19379;1252:20708:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:20708:107;-1:-1:-1;1252:20708:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:20708:107;;3731:5:68;;;1252:20708:107;;;;;;;;;5098:13;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20708:107;;;;;-1:-1:-1;13189:136:71;1252:20708:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:20708:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:20708:107;;3731:5:68;;;1252:20708:107;;;;;;;;;5456:12;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20708:107;;;;;-1:-1:-1;13189:136:71;1252:20708:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:20708:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:20708:107;;3731:5:68;;;1252:20708:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:20708:107;;;;;-1:-1:-1;13189:136:71;1252:20708:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:20708:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"69978":[{"start":5168,"length":32},{"start":6391,"length":32}],"69981":[{"start":7450,"length":32},{"start":8799,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","_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","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","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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\":\"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\":\"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\":\"_Vault_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\":\"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\":[{\"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\":\"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\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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.\"},\"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.\"},\"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.\"},\"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.\"},\"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\":\"0xe5c0c6312561f10b2a225d81dcf400ec0e66e5b3f70f790d745aa99cf7d18e08\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e9d7430dff0c612aaea0f6a12a966e530171bf951185b899744826106a23fe15\",\"dweb:/ipfs/QmVnH26Wph2BD9hed15nCzuuZHcTRUAoe8jEDPSL9xppCw\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a\",\"dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68\",\"dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb\"]}},\"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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":"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":"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":"nonpayable","type":"function","name":"_Vault_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":"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":[{"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":"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"}},"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."},"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."},"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."},"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":"0xe5c0c6312561f10b2a225d81dcf400ec0e66e5b3f70f790d745aa99cf7d18e08","urls":["bzz-raw://e9d7430dff0c612aaea0f6a12a966e530171bf951185b899744826106a23fe15","dweb:/ipfs/QmVnH26Wph2BD9hed15nCzuuZHcTRUAoe8jEDPSL9xppCw"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f","urls":["bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a","dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea","urls":["bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68","dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb"],"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 a03fa1f..ee9b8e4 100644 --- a/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json +++ b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json @@ -1 +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":"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":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"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":"0x60a034606d57601f611cd238819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611c4c908161008682396080518181816106e901526116300152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122012a4e2a37e60c6683775ed518ce48dc1b95049aa0e2abc2a974e570f10f18ee064736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;1324:40;;978:3799;;;;;;;;1324:40;978:3799;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;978:3799:110","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780630fcaeb1b146103215780631415519b1461031c57806318160ddd146103175780631b66c9e1146103125780631e89bd8a1461030d5780631e9a69501461030857806323b872dd1461030357806327810b6e146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea578063502b4d60146102e557806350861adc146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d157806364601402146102cc578063653b04cd146102c75780636ec1e3f8146102c257806370a08231146102bd57806375d6c765146102b8578063794b15b7146102b35780637e84ec81146102ae5780638d30d7a7146102a957806395d89b41146102a45780639f86fd851461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bc46f72214610272578063bc4f8c051461026d578063ce9b793014610268578063d2356eb514610263578063d8dfeb451461025e578063db38871514610259578063dd62ed3e14610254578063ddd0f28a1461024f578063e945da7f1461024a578063ecc98f0514610245578063ecf7085814610240578063f3fef3a31461023b5763fcdc5b6003611626576112a7565b611222565b611205565b6111e7565b6111ca565b6111ad565b61117e565b611144565b611119565b6110fc565b6110d4565b6110b7565b61107d565b611055565b61102b565b610ffa565b610fd2565b610f84565b610f3b565b610f01565b610edd565b610e5a565b610da8565b610d83565b610d5b565b610d1e565b610cbe565b610c87565b610c62565b610c28565b610c00565b610bc6565b610a46565b6109ee565b6109c9565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107f7565b610749565b610683565b610663565b610629565b61059d565b610563565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610ce6565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f366003190112610458576020601154604051908152f35b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105eb57505f5b6001600160d01b038116156105e2576105d2602091611402565b90549060031b1c5b604051908152f35b5060205f6105da565b805f1981011161062457600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105b8565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458576040366003190112610458575f6106e761071c61070d6106a661045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761076261045c565b61076a610472565b6044359061077b336104c985610ce6565b54926001840161079c575b61079093506114d0565b60405160018152602090f35b8284106107d1576001600160a01b0381161561052e573315610516578261079094036107cb336104c984610ce6565b55610786565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526109489061070d906106e781606481016106d9565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca861045c565b165f52600e60205260206105da60405f20611460565b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d3f61045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610dd6826112c4565b8085529160209160019182811690811561042b5750600114610e02576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e47575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610e2a565b3461045857604036600319011261045857610e7361045c565b60243567ffffffffffffffff8111610458575f91610e9683923690600401610a18565b90816040519283928337810184815203915af4610ed5610eb46113d3565b916106d9604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f7b610f59610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fc6610fa4610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761102061101661045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f7b61119c61045c565b6104c96111a7610472565b91610ce6565b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b346104585760403660031901126104585761127b61070d6106d96106e761124761045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b34610458575f366003190112610458576020600f54604051908152f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161062457825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062457565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106245761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610624575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122012a4e2a37e60c6683775ed518ce48dc1b95049aa0e2abc2a974e570f10f18ee064736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;2603:64:50;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;978:3799: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;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;978:3799:110;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;978:3799:110;;;;;;;;;;;;;;;;11334:29:27;978:3799:110;;;;;;11415:31:27;978:3799:110;966:10:28;11415:31:27;;978:3799:110;;;10117:4:27;978:3799:110;;;11235:90:27;978:3799:110;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;978:3799:110;;;11283:31:27;11137:89;978:3799:110;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;978:3799:110;;;11183:32:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;3653:32:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;757:38:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;1732:13;978:3799;10446:8:71;;;:63;978:3799:110;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:17:94;978:3799:110;10736:17:94;;:::i;:::-;978:3799:110;;;;;;10726:31:94;978:3799:110;;;;;;10726:31:94;;978:3799:110;;10726:31:94;;10446:63:71;978:3799:110;;;;;;;;1732:13;978:3799;14439:109:71;;;978:3799:110;;;10446:63:71;;978:3799:110;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;612:37:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2084:35:108;978:3799:110;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;3016:48:110;2951:156;2975:90;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;3016:48;;;-1:-1:-1;;;;;978:3799:110;;;;3016:48;;;978:3799;;;;;;;;;;;;;;;;3016:48;;978:3799;;3016:48;;;;;;:::i;:::-;2975:19;:90;:::i;:::-;978:3799;;;;2951:156;;;;;;:::i;:::-;978:3799;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;3132:10;3123:40;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;978:3799:110;;11910:37:27;;;11906:310;;978:3799:110;6198:5:27;;;;:::i;:::-;978:3799:110;;4867:13:27;978:3799:110;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3799:110;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;978:3799:110;6198:5:27;978:3799:110;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;978:3799:110;11906:310:27;;11963:130;978:3799:110;;-1:-1:-1;;;12018:60:27;;966:10:28;978:3799:110;12018:60:27;;978:3799:110;;;;;;;;;;;;;;;12018:60:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;1535:37:110;;978:3799;1535:37;;978:3799;;;;;;;;-1:-1:-1;;;;;978:3799:110;1535:37;;;;;;978:3799;1535:37;978:3799;1535:37;;;978:3799;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3799;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1329:40:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2236:52;;;-1:-1:-1;;;;;978:3799:110;;;2236:52;;;978:3799;;;;;;;;;2171:160;;2195:94;;2236:52;978:3799;;;;2236:52;978:3799;2171:160;978:3799;;;;;;;-1:-1:-1;;;;;978:3799:110;;-1:-1:-1;;;;;;;;;;;;;2347:46:110;978:3799;;2347:46;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;4126:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2255:34:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2718:59:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1041:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;1989:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1564:45:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2423:32:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;1941:15;978:3799;;;1941:33;978:3799;-1:-1:-1;978:3799:110;1941:33;:::i;978:3799::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;4027:43:108;978:3799:110;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;4867:13:27;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;2594:68:108;978:3799:110;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3932:39:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3833:43:108;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;978:3799:110;;;;;;;;;;477:31:86;;978:3799:110;;;;;;;;;;;:::i;477:31:86:-;518:79;;;978:3799:110;518:79:86;;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;900:35:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2953:94:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;2953:94:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;2953:94:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3103:92:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;3103:92:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;3103:92:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4396:31:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4616:5:27;978:3799:110;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;978:3799:110;;;4639:4:27;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2833:64:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2345:22:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1183:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3543:54:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2175:24:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3741:36:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;466:39:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;4867:29:27;978:3799:110;;:::i;:::-;4867:20:27;978:3799:110;;:::i;:::-;4867:20:27;;:::i;978:3799:110:-;;;;;;-1:-1:-1;;978:3799:110;;;;;4221:36:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;4313:27:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1466:3:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2560:158;2584:92;2625:50;;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2625:50;;;-1:-1:-1;;;;;978:3799:110;;;;2625:50;;;978:3799;;;;;;;;;;;;;;;;;2560:158;978:3799;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;2743:10;2734:46;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3437:50:108;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3799:110;;;;:::o;:::-;;;:::o;:::-;10736:12:94;978:3799:110;;;;;;10736:12:94;-1:-1:-1;978:3799:110;;;;-1:-1:-1;978:3799:110;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;-1:-1:-1;978:3799:110;;;-1:-1:-1;978:3799:110;:::o;10580:184:94:-;978:3799:110;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:12:94;:17;:12;;:17;:::i;:::-;978:3799:110;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;978:3799:110;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;978:3799: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:3799:110;;;;;6688:18:27;;6684:86;;978:3799:110;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3599:19;;;;3595:115;;4451:25;3830:21;:65;-1:-1:-1;;;;;;;;;;;3830:21:110;;;4346:65;3830:21;978:3799;;;;;;;;1941:15;978:3799;;;;;;;3830:21;837:15:73;;819:34;837:15;819:34;:::i;:::-;978:3799:110;;3830:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;837:15:73;;1941:33:110;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3799:110;;;;;;;1941:15;978:3799;;;;;;;1941:33;978:3799;4346:65;;:::i;:::-;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;4451:25;;;;6605:300:27:o;3595:115:110:-;978:3799;;-1:-1:-1;;;3645:50:110;;-1:-1:-1;;;;;978:3799:110;;;;3645:50;;;978:3799;;;;;;;;;;;;;;;;12018:60:27;6779:86;978:3799:110;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;978:3799:110;;;6822:32:27;6684:86;978:3799:110;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;978:3799:110;;;6729:30:27;2323:83:50;1019:819;;;;;;;4615:19:110;;1019:819:50;;;;;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;:::o;4421:582:56:-;;4593:8;;-1:-1:-1;978:3799:110;;5674:21:56;:17;;5799:158;;;;;;5670:354;978:3799:110;;-1:-1:-1;;;5994:19:56;;;;;4589:408;978:3799:110;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3799:110;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;978:3799:110;;;4917:24:56;;;978:3799:110;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;7084:141:26;978:3799:110;8837:64:26;978:3799:110;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;978:3799:110;;-1:-1:-1;;;7191:17:26;;;;;978:3799:110;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:94:-;;;;;6360:12;;;978:3799:110;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3799:110;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;978:3799:110;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3799:110;;8310:38:71;;-1:-1:-1;;;;;978:3799:110;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;978:3799:110;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;978:3799:110;;;;;;6360:12:94;978:3799:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;14296:213:69;978:3799:110;14374:24:69;;;;14370:103;;978:3799:110;14296:213:69;:::o;14370:103::-;978:3799:110;;;;14421:41:69;;;;;;14452:2;14421:41;;;978:3799:110;;;;;14421:41:69;10695:389:71;978:3799:110;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3799:110;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;978:3799:110;11014:1:71;978:3799:110;;;;;;;11030:37:71;:::o;978:3799:110:-;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;978:3799:110;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3799:110;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;978:3799:110;;;;;;;;;;;;;;;;;12285:19:71;978:3799:110;;12423:25:71;;:::o;12247:163::-;978:3799:110;;;12343:52:71;978:3799:110;12353:41:71;978:3799:110;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;978:3799:110;;12353:41:71;;;978:3799:110;12343:52:71;:::i;:::-;12247:163;;12099:89;978:3799:110;;-1:-1:-1;;;12143:30:71;;;;;11860:713;978:3799:110;;12479:52:71;978:3799:110;12489:41:71;978:3799:110;;:::i;12489:41:71:-;-1:-1:-1;;;;;978:3799:110;;12489:41:71;;;978:3799:110;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72297":[{"start":1769,"length":32},{"start":5680,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(string,string)":"602bd8e7","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":[],\"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\":[],\"name\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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.\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":[],"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":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":110} \ No newline at end of file +{"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":"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":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"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":"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":"0x60a034606d57601f611cd238819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611c4c908161008682396080518181816106ac01526116300152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780631415519b1461032157806318160ddd1461031c5780631b66c9e1146103175780631e9a69501461031257806323b872dd1461030d5780632749f9c41461030857806327810b6e146103035780632fa27fae146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea57806350861adc146102e55780635a36aa74146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d1578063653b04cd146102cc5780636e0f2455146102c75780636ec1e3f8146102c257806370a08231146102bd578063794b15b7146102b857806395d89b41146102b357806398ccba4a146102ae5780639b4bae3e146102a95780639f86fd85146102a45780639f9962dd1461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bba6ff4a14610272578063bc46f7221461026d578063c1bc6f5114610268578063c4db46fc14610263578063cc52aee71461025e578063ce9b793014610259578063d8dfeb4514610254578063db3887151461024f578063dd62ed3e1461024a578063e945da7f14610245578063ecc98f0514610240578063ecf708581461023b5763f3fef3a3036116265761123f565b611222565b611204565b6111e7565b6111b8565b61117e565b611153565b61112b565b611103565b6110e6565b6110be565b611084565b611067565b61103f565b611015565b610fe4565b610fbc565b610f6e565b610f25565b610eeb565b610ec7565b610e9f565b610e1c565b610dff565b610de2565b610d30565b610cf3565b610c84565b610c5f565b610c3a565b610c00565b610bc6565b610a46565b6109ee565b6109c6565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107ff565b6107d7565b6107ba565b61070c565b610646565b61060c565b610580565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610cbb565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105ce57505f5b6001600160d01b038116156105c5576105b5602091611402565b90549060031b1c5b604051908152f35b5060205f6105bd565b805f1981011161060757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61059b565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458576040366003190112610458575f6106aa6106df6106d061066961045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761072561045c565b61072d610472565b6044359061073e336104c985610cbb565b54926001840161075f575b61075393506114d0565b60405160018152602090f35b828410610794576001600160a01b0381161561052e5733156105165782610753940361078e336104c984610cbb565b55610749565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610948906106d0906106aa816064810161069c565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca561045c565b165f52600e60205260206105bd60405f20611460565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d1461045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610d5e826112c4565b8085529160209160019182811690811561042b5750600114610d8a576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610dcf575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610db2565b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458576020601154604051908152f35b3461045857604036600319011261045857610e3561045c565b60243567ffffffffffffffff8111610458575f91610e5883923690600401610a18565b90816040519283928337810184815203915af4610e97610e766113d3565b9161069c604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f65610f43610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fb0610f8e610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761100a61100061045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020600f54604051908152f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f656111d661045c565b6104c96111e1610472565b91610cbb565b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b34610458576040366003190112610458576112986106d061069c6106aa61126461045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161060757825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161060757565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106075761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610607575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fc2a10628b0a62b91ca89085347e85b532a50a1864e64015dd5816577fa2aecc64736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;1324:40;;978:3799;;;;;;;;1324:40;978:3799;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;978:3799:110","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611626575f3560e01c806306fdde031461032b578063095ea7b3146103265780631415519b1461032157806318160ddd1461031c5780631b66c9e1146103175780631e9a69501461031257806323b872dd1461030d5780632749f9c41461030857806327810b6e146103035780632fa27fae146102fe578063313ce567146102f957806331d9736c146102f457806347e7ef24146102ef57806348d3b775146102ea57806350861adc146102e55780635a36aa74146102e05780635cc07076146102db578063602bd8e7146102d657806361819dd8146102d1578063653b04cd146102cc5780636e0f2455146102c75780636ec1e3f8146102c257806370a08231146102bd578063794b15b7146102b857806395d89b41146102b357806398ccba4a146102ae5780639b4bae3e146102a95780639f86fd85146102a45780639f9962dd1461029f578063a1b122021461029a578063a21a1df914610295578063a3b5417214610290578063a5d032231461028b578063a8b24f9a14610286578063a9059cbb14610281578063afba70ad1461027c578063b134427114610277578063bba6ff4a14610272578063bc46f7221461026d578063c1bc6f5114610268578063c4db46fc14610263578063cc52aee71461025e578063ce9b793014610259578063d8dfeb4514610254578063db3887151461024f578063dd62ed3e1461024a578063e945da7f14610245578063ecc98f0514610240578063ecf708581461023b5763f3fef3a3036116265761123f565b611222565b611204565b6111e7565b6111b8565b61117e565b611153565b61112b565b611103565b6110e6565b6110be565b611084565b611067565b61103f565b611015565b610fe4565b610fbc565b610f6e565b610f25565b610eeb565b610ec7565b610e9f565b610e1c565b610dff565b610de2565b610d30565b610cf3565b610c84565b610c5f565b610c3a565b610c00565b610bc6565b610a46565b6109ee565b6109c6565b6109a1565b610980565b6108f1565b6108b7565b61081f565b6107ff565b6107d7565b6107ba565b61070c565b610646565b61060c565b610580565b610546565b610488565b610368565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610365928181520190610330565b90565b34610458575f366003190112610458576040515f5f80516020611bb7833981519152805490610396826112c4565b8085529160209160019182811690811561042b57506001146103d3575b6103cf866103c381880382611310565b60405191829182610354565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610418575050505081016020016103c3826103cf5f6103b3565b80548686018401529382019381016103fb565b90508695506103cf969350602092506103c394915060ff191682840152151560051b82010192935f6103b3565b5f80fd5b600435906001600160a01b038216820361045857565b602435906001600160a01b038216820361045857565b34610458576040366003190112610458576104a161045c565b602435331561052e576001600160a01b038216918215610516576104de82916104c933610cbb565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610458575f3660031901126104585760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610458575f36600319011261045857600a54806105ce57505f5b6001600160d01b038116156105c5576105b5602091611402565b90549060031b1c5b604051908152f35b5060205f6105bd565b805f1981011161060757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61059b565b611662565b34610458575f3660031901126104585760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610458576040366003190112610458575f6106aa6106df6106d061066961045c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611310565b7f00000000000000000000000000000000000000000000000000000000000000006114b3565b60208082518301019101611332565b9290916040519081525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b346104585760603660031901126104585761072561045c565b61072d610472565b6044359061073e336104c985610cbb565b54926001840161075f575b61075393506114d0565b60405160018152602090f35b828410610794576001600160a01b0381161561052e5733156105165782610753940361078e336104c984610cbb565b55610749565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610458575f366003190112610458576020601454604051908152f35b34610458575f366003190112610458576001546040516001600160a01b039091168152602090f35b34610458575f36600319011261045857602060015460d01c604051908152f35b34610458575f366003190112610458575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108ac576103cf915f9161087d575b5060405160ff90911681529081906020820190565b61089f915060203d6020116108a5575b6108978183611310565b810190611348565b5f610868565b503d61088d565b6040513d5f823e3d90fd5b34610458575f3660031901126104585760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104585760403660031901126104585761090a61045c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610948906106d0906106aa816064810161069c565b60405181815290926001600160a01b0316905f905f80516020611bf783398151915290602090a3604080519182526020820192909252f35b34610458575f36600319011261045857602060ff5f54166040519015158152f35b34610458575f36600319011261045857602060ff60025460a01c166040519015158152f35b34610458575f36600319011261045857602065ffffffffffff60135460301c16604051908152f35b34610458576020366003190112610458576004355f526006602052602060405f2054604051908152f35b9181601f840112156104585782359167ffffffffffffffff8311610458576020838186019501011161045857565b346104585760403660031901126104585767ffffffffffffffff60043581811161045857610a78903690600401610a18565b6024359083821161045857610aa1610a97610aa9933690600401610a18565b949092369161139d565b92369161139d565b90610ab26116e7565b610aba6116e7565b8051928311610bc1575f80516020611bb783398151915290610ae584610ae084546112c4565b611728565b602090816001601f871114610b2e57509380610b1a92610b21965f92610b23575b50508160011b915f199060031b1c19161790565b905561181a565b005b015190505f80610b06565b5f80516020611bb78339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610ba9575050916001939187610b21989410610b91575b505050811b01905561181a565b01515f1960f88460031b161c191690555f8080610b84565b80600186978294978701518155019601940190610b6a565b6112fc565b34610458575f3660031901126104585760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610458575f3660031901126104585760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610458575f36600319011261045857602065ffffffffffff60135416604051908152f35b34610458575f36600319011261045857602060ff60035460a01c166040519015158152f35b34610458576020366003190112610458576001600160a01b03610ca561045c565b165f52600e60205260206105bd60405f20611460565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610458576020366003190112610458576001600160a01b03610d1461045c565b165f526005602052602060ff60405f2054166040519015158152f35b34610458575f366003190112610458576040515f5f80516020611bd7833981519152805490610d5e826112c4565b8085529160209160019182811690811561042b5750600114610d8a576103cf866103c381880382611310565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610dcf575050505081016020016103c3826103cf5f6103b3565b8054868601840152938201938101610db2565b34610458575f366003190112610458576020601254604051908152f35b34610458575f366003190112610458576020601154604051908152f35b3461045857604036600319011261045857610e3561045c565b60243567ffffffffffffffff8111610458575f91610e5883923690600401610a18565b90816040519283928337810184815203915af4610e97610e766113d3565b9161069c604051938492151560208401526040808401526060830190610330565b805190602001fd5b34610458575f36600319011261045857602065ffffffffffff60015460a01c16604051908152f35b34610458575f36600319011261045857602060ff5f5460081c166040519015158152f35b34610458575f3660031901126104585760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610458576040366003190112610458576020610f65610f43610472565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461045857604036600319011261045857602060ff610fb0610f8e610472565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610458575f366003190112610458576016546040516001600160a01b039091168152602090f35b346104585760403660031901126104585761100a61100061045c565b60243590336114d0565b602060405160018152f35b34610458576020366003190112610458576004355f526007602052602060405f2054604051908152f35b34610458575f366003190112610458576003546040516001600160a01b039091168152602090f35b34610458575f366003190112610458576020600f54604051908152f35b34610458575f3660031901126104585760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610458575f36600319011261045857602065ffffffffffff60135460901c16604051908152f35b34610458575f366003190112610458576020601054604051908152f35b34610458575f36600319011261045857602065ffffffffffff60135460601c16604051908152f35b34610458575f366003190112610458576002546040516001600160a01b039091168152602090f35b34610458575f366003190112610458575f5460405160109190911c6001600160a01b03168152602090f35b34610458575f3660031901126104585760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610458576040366003190112610458576020610f656111d661045c565b6104c96111e1610472565b91610cbb565b34610458575f366003190112610458576020601554604051908152f35b34610458575f366003190112610458576020604051633b9aca008152f35b34610458575f366003190112610458576020600454604051908152f35b34610458576040366003190112610458576112986106d061069c6106aa61126461045c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611bf783398151915260203392a3604080519182526020820192909252f35b90600182811c921680156112f2575b60208310146112de57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916112d3565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610bc157604052565b9190826040910312610458576020825192015190565b90816020910312610458575160ff811681036104585790565b604051906040820182811067ffffffffffffffff821117610bc157604052565b67ffffffffffffffff8111610bc157601f01601f191660200190565b9291926113a982611381565b916113b76040519384611310565b829481845281830111610458578281602093845f960137010152565b3d156113fd573d906113e482611381565b916113f26040519384611310565b82523d5f602084013e565b606090565b600b5481101561143757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611437575f5260205f2001905f90565b80548061149557505f5b6001600160d01b0381161561148f576001611485920161144b565b90549060031b1c90565b50505f90565b5f1990808281011161060757825f5260205f2001015460301c61146a565b5f8061036593602081519101845af46114ca6113d3565b91611684565b916001600160a01b038084169290831561160e5781169384156115f6576001600160a01b0381165f908152600e6020526040902061151290611460565b611460565b908382106115c4576115bf926115615f80516020611bf7833981519152959361154e6115ad9460018060a01b03165f52600e60205260405f2090565b908561155942611a13565b910391611951565b50506001600160a01b0381165f908152600e6020526040902090836115a661150d61158b42611a13565b6001600160a01b039094165f908152600e6020526040902090565b0191611951565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561165e573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161060757565b906116ab575080511561169957805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806116de575b6116bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156116b4565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561171657565b604051631afcd79f60e31b8152600490fd5b601f8111611734575050565b5f80516020611bb78339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611797575b601f0160051c01905b81811061178c575050565b5f8155600101611781565b9091508190611778565b601f81116117ad575050565b5f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c83019310611810575b601f0160051c01905b818110611805575050565b5f81556001016117fa565b90915081906117f1565b90815167ffffffffffffffff8111610bc1575f80516020611bd78339815191529061184e8161184984546112c4565b6117a1565b602080601f83116001146118835750819061187f9394955f92610b235750508160011b915f199060031b1c19161790565b9055565b90601f198316956118c15f80516020611bd78339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106118fc575050836001959697106118e4575b505050811b019055565b01515f1960f88460031b161c191690555f80806118da565b806001859682949686015181550195019301906118c5565b90815491600160401b831015610bc1578261193791600161194f9501815561144b565b90919082549060031b91821b915f19901b1916179055565b565b909291926001820190815480156119e3575b508461196e84611a45565b5094909284549361197e83611460565b96816119ce575b50156119ab575050505f1981019081116106075761193785916119a79361144b565b9190565b6119a79492936119c7926001600160d01b039091169190611ad9565b5050611914565b65ffffffffffff83811691161490505f611985565b600160401b811015610bc1578060016119ff920184558361144b565b8154905f199060031b1b191690555f611963565b65ffffffffffff90818111611a26571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611a565750505f905f905f90565b5f19918183810111610607575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610bc157611a9b9160018201815561144b565b611ac657815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611b8c57611af0611afb91611676565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611b7a57879303611b415750611b3a92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611b7591611b61611b53611361565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611a7e565b611b3a565b604051632520601d60e01b8152600490fd5b5090611bb191611b9d611b53611361565b6001600160d01b0385166020830152611a7e565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fc2a10628b0a62b91ca89085347e85b532a50a1864e64015dd5816577fa2aecc64736f6c63430008190033","sourceMap":"978:3799:110:-:0;;;;;;2603:64:50;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;978:3799: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;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;978:3799:110;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;978:3799:110;;;;;;;;;;;;;;;;11334:29:27;978:3799:110;;;;;;11415:31:27;978:3799:110;966:10:28;11415:31:27;;978:3799:110;;;10117:4:27;978:3799:110;;;11235:90:27;978:3799:110;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;978:3799:110;;;11283:31:27;11137:89;978:3799:110;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;978:3799:110;;;11183:32:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;;757:38:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;1732:13;978:3799;10446:8:71;;;:63;978:3799:110;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:17:94;978:3799:110;10736:17:94;;:::i;:::-;978:3799:110;;;;;;10726:31:94;978:3799:110;;;;;;10726:31:94;;978:3799:110;;10726:31:94;;10446:63:71;978:3799:110;;;;;;;;1732:13;978:3799;14439:109:71;;;978:3799:110;;;10446:63:71;;978:3799:110;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;612:37:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;3016:48:110;2951:156;2975:90;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;3016:48;;;-1:-1:-1;;;;;978:3799:110;;;;3016:48;;;978:3799;;;;;;;;;;;;;;;;3016:48;;978:3799;;3016:48;;;;;;:::i;:::-;2975:19;:90;:::i;:::-;978:3799;;;;2951:156;;;;;;:::i;:::-;978:3799;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;3132:10;3123:40;;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;978:3799:110;;11910:37:27;;;11906:310;;978:3799:110;6198:5:27;;;;:::i;:::-;978:3799:110;;4867:13:27;978:3799:110;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3799:110;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;978:3799:110;6198:5:27;978:3799:110;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;978:3799:110;11906:310:27;;11963:130;978:3799:110;;-1:-1:-1;;;12018:60:27;;966:10:28;978:3799:110;12018:60:27;;978:3799:110;;;;;;;;;;;;;;;12018:60:27;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;4177:34:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2077:28:108;978:3799:110;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;-1:-1:-1;;;1535:37:110;;978:3799;1535:37;;978:3799;;;;;;;;-1:-1:-1;;;;;978:3799:110;1535:37;;;;;;978:3799;1535:37;978:3799;1535:37;;;978:3799;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3799;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1329:40:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2236:52;;;-1:-1:-1;;;;;978:3799:110;;;2236:52;;;978:3799;;;;;;;;;2171:160;;2195:94;;2236:52;978:3799;;;;2236:52;978:3799;2171:160;978:3799;;;;;;;-1:-1:-1;;;;;978:3799:110;;-1:-1:-1;;;;;;;;;;;;;2347:46:110;978:3799;;2347:46;978:3799;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2241:34:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3909:32:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2704:59:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1041:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1564:45:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3817:36:108;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;2409:32:108;978:3799:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;1941:15;978:3799;;;1941:33;978:3799;-1:-1:-1;978:3799:110;1941:33;:::i;978:3799::-;-1:-1:-1;;;;;978:3799:110;;;;;4867:13:27;978:3799:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3799:110;;;;-1:-1:-1;;;;;978:3799:110;;:::i;:::-;;-1:-1:-1;978:3799:110;2580:68:108;978:3799:110;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3799:110;;;;;;;-1:-1:-1;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3719:42:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3625:38:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;978:3799:110;;;;;;;;;;477:31:86;;978:3799:110;;;;;;;;;;;:::i;477:31:86:-;518:79;;;978:3799:110;518:79:86;;978:3799:110;;;;;;-1:-1:-1;;978:3799:110;;;;;;1989:32:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;900:35:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;2939:94:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;2939:94:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;2939:94:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3089:92:108;978:3799:110;;:::i;:::-;;;-1:-1:-1;978:3799:110;3089:92:108;978:3799:110;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;;;;3089:92:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4350:31:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;4616:5:27;978:3799:110;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;978:3799:110;;;4639:4:27;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;-1:-1:-1;978:3799:110;2819:64:108;978:3799:110;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2331:22:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3423:43:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1183:36:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;4089:32:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;3522:47:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;3997:36:108;978:3799:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2161:24:108;978:3799:110;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;978:3799:110;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;466:39:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;4867:29:27;978:3799:110;;:::i;:::-;4867:20:27;978:3799:110;;:::i;:::-;4867:20:27;;:::i;978:3799:110:-;;;;;;-1:-1:-1;;978:3799:110;;;;;4267:27:108;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;1466:3:108;978:3799:110;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;2560:158;2584:92;2625:50;;978:3799;;:::i;:::-;;;-1:-1:-1;;;978:3799:110;2625:50;;;-1:-1:-1;;;;;978:3799:110;;;;2625:50;;;978:3799;;;;;;;;;;;;;;;;;2560:158;978:3799;-1:-1:-1;978:3799:110;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;2743:10;2734:46;;978:3799;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3799:110;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3799:110;;;;:::o;:::-;;;:::o;:::-;10736:12:94;978:3799:110;;;;;;10736:12:94;-1:-1:-1;978:3799:110;;;;-1:-1:-1;978:3799:110;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3799:110;;-1:-1:-1;978:3799:110;;;-1:-1:-1;978:3799:110;:::o;10580:184:94:-;978:3799:110;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;978:3799:110;;10726:7:94;978:3799:110;;10736:12:94;:17;:12;;:17;:::i;:::-;978:3799:110;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;978:3799:110;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;978:3799: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:3799:110;;;;;6688:18:27;;6684:86;;978:3799:110;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3599:19;;;;3595:115;;4451:25;3830:21;:65;-1:-1:-1;;;;;;;;;;;3830:21:110;;;4346:65;3830:21;978:3799;;;;;;;;1941:15;978:3799;;;;;;;3830:21;837:15:73;;819:34;837:15;819:34;:::i;:::-;978:3799:110;;3830:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3799:110;;;;;;1941:15;978:3799;;;;;837:15:73;;1941:33:110;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3799:110;;;;;;;1941:15;978:3799;;;;;;;1941:33;978:3799;4346:65;;:::i;:::-;-1:-1:-1;;978:3799:110;;;;;;;;;;;;;4451:25;;;;6605:300:27:o;3595:115:110:-;978:3799;;-1:-1:-1;;;3645:50:110;;-1:-1:-1;;;;;978:3799:110;;;;3645:50;;;978:3799;;;;;;;;;;;;;;;;12018:60:27;6779:86;978:3799:110;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;978:3799:110;;;6822:32:27;6684:86;978:3799:110;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;978:3799:110;;;6729:30:27;2323:83:50;1019:819;;;;;;;4615:19:110;;1019:819:50;;;;;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;:::o;4421:582:56:-;;4593:8;;-1:-1:-1;978:3799:110;;5674:21:56;:17;;5799:158;;;;;;5670:354;978:3799:110;;-1:-1:-1;;;5994:19:56;;;;;4589:408;978:3799:110;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3799:110;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;978:3799:110;;;4917:24:56;;;978:3799:110;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;7084:141:26;978:3799:110;8837:64:26;978:3799:110;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;978:3799:110;;-1:-1:-1;;;7191:17:26;;;;;978:3799:110;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3799:110;;;;;;;;;-1:-1:-1;978:3799:110;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3799:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:94:-;;;;;6360:12;;;978:3799:110;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3799:110;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;978:3799:110;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3799:110;;8310:38:71;;-1:-1:-1;;;;;978:3799:110;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;978:3799:110;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;978:3799:110;;;;;;6360:12:94;978:3799:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;14296:213:69;978:3799:110;14374:24:69;;;;14370:103;;978:3799:110;14296:213:69;:::o;14370:103::-;978:3799:110;;;;14421:41:69;;;;;;14452:2;14421:41;;;978:3799:110;;;;;14421:41:69;10695:389:71;978:3799:110;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3799:110;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;978:3799:110;11014:1:71;978:3799:110;;;;;;;11030:37:71;:::o;978:3799:110:-;;;-1:-1:-1;;;978:3799:110;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3799:110;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;978:3799:110;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3799:110;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;978:3799:110;;;;;;;;;;;;;;;;;12285:19:71;978:3799:110;;12423:25:71;;:::o;12247:163::-;978:3799:110;;;12343:52:71;978:3799:110;12353:41:71;978:3799:110;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;978:3799:110;;12353:41:71;;;978:3799:110;12343:52:71;:::i;:::-;12247:163;;12099:89;978:3799:110;;-1:-1:-1;;;12143:30:71;;;;;11860:713;978:3799:110;;12479:52:71;978:3799:110;12489:41:71;978:3799:110;;:::i;12489:41:71:-;-1:-1:-1;;;;;978:3799:110;;12489:41:71;;;978:3799:110;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72273":[{"start":1708,"length":32},{"start":5680,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(string,string)":"602bd8e7","_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","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\":\"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\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"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\":\"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.\"},\"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.\"},\"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\":\"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a\",\"dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68\",\"dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"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":"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."},"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."},"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":"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f","urls":["bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a","dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea","urls":["bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68","dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"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 7cc6c4b..48f54c1 100644 --- a/out/VaultVotes.sol/VaultVotes.json +++ b/out/VaultVotes.sol/VaultVotes.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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"0x60c03461012357612758906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a052516126089081610150823960805181818161056601526106d1015260a0518181816112b4015281816114430152611a040152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036119fa57611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206125b383398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f80516020612593833981519152602052610758600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206125b38339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd611339565b91610cde604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f80516020612593833981519152602052610f5c600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806119c2565b61138c565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610cde855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b611080611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b0482610700565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b81610700565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220e2e40c5fea7c660987134ce03a18669809d88540198d2fea9470e672e3cdaa5764736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;328:879:111;;;;;;;;;7896:76:26;;328:879:111;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;328:879:111;;;;;;;927:17:82;328:879:111;;;;;;;;;;1445:31:106;328:879:111;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;328:879:111;;;;;;;;;;;;;8087:29:26;;328:879:111;;8087:29:26;7981:146;;;;;7896:76;328:879:111;;-1:-1:-1;;;7938:23:26;;;;;328:879:111;-1:-1:-1;328:879:111;;;;;;-1:-1:-1;328:879:111;;;;;-1:-1:-1;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036119fa57611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206125b383398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f80516020612593833981519152602052610758600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206125b38339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd611339565b91610cde604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f80516020612593833981519152602052610f5c600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806119c2565b61138c565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610cde855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b611080611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b0482610700565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b81610700565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220e2e40c5fea7c660987134ce03a18669809d88540198d2fea9470e672e3cdaa5764736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;2603:64:50;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;328:879: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;:::-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;328:879:111;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;328:879:111;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;;3653:32:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;757:38:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;612:37:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;2084:35:108;328:879:111;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;4919:24:23;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;328:879:111;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;328:879:111;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;;;;6431:44:26;;;;328:879:111;6427:105:26;;-1:-1:-1;;328:879:111;;;;;;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;-1:-1:-1;;;328:879:111;;;6656:20:26;;;;328:879:111;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;6450:25:26;;;6431:44;;1655:71:82;328:879:111;;-1:-1:-1;;;1703:12:82;;328:879:111;;1703:12:82;3666:88:30;328:879:111;;-1:-1:-1;;;3713:30:30;;328:879:111;;3713:30:30;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;655:32:82;-1:-1:-1;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;:::o;:::-;;;;;;-1:-1:-1;;328:879:111;;;;5350:25:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5350:25;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;;;1329:40:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;328:879:111;;6441:34:23;6437:102;;6549:37;328:879:111;;;6549:37:23;:::i;6437:102::-;328:879:111;;-1:-1:-1;;;6498:30:23;;328:879:111;;6498:30:23;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;4126:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2255:34:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;-1:-1:-1;;;;;;;;;;;;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;328:879:111;;;;;;734:29:82;730:87;;328:879:111;;;;;6431:44:26;;;;;328:879:111;6427:105:26;;;6656:20;328:879:111;6656:20:26;328:879:111;1167:340:82;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;328:879:111;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;328:879:111;;-1:-1:-1;;;786:20:82;;328:879:111;;786:20:82;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2718:59:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1041:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;1989:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1564:45:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2423:32:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;3975:40:24;328:879:111;;3975:40:24;328:879:111;;;;;;;-1:-1:-1;;328:879:111;;;;;;4027:43:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;328:879:111;2594:68:108;328:879:111;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3932:39:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3833:43:108;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3901:31:23;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;3901:31:23;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;328:879:111;;;;;;;;;;477:31:86;;328:879:111;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;328:879:111;518:79:86;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;900:35:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;2953:94:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;2953:94:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;2953:94:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3103:92:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;3103:92:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;4396:31:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2833:64:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2345:22:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1183:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3543:54:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2175:24:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3741:36:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;5767:26:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5767:26;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;466:39:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4221:36:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4313:27:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1466:3:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1286:6:106;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;2357:1:24;328:879:111;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;3437:50:108;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;477:31:86;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;5411:34:106;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;1167:340:82:-;;328:879:111;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;328:879:111;;1376:73:82;;1167:340;328:879:111;;;;:::i;:::-;;;674:55:109;;;;;;;328:879:111;;;;;;;674:55:109;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;811:157:109;328:879:111;;688:101;328:879;;;;;;:::i;:::-;;;;;;;;782:17:109;328:879:111;:::i;:::-;863:95:109;1615:14:106;930:11:109;;943:13;;328:879:111;863:95:109;328:879:111;;863:95:109;;;;;;;;;;;;;;:::i;:::-;811:157;;:::i;:::-;;328:879:111;727:61;;;;;;;;;;;;;;:::i;:::-;688:101;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;328:879:111;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;328:879:111;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;328:879:111;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;328:879:111;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;328:879:111;;;3534:31:24;1809:204:82;;328:879:111;937:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;328:879:111;;;:::i;:::-;;;923:15;919:80;;328:879;1009:78;;328:879;;-1:-1:-1;;;1136:61:111;;;;;;;1097:101;;1136:61;328:879;1136:61;:::i;:::-;1615:14:106;1097:101:111;:::i;1009:78::-;328:879;;-1:-1:-1;;;1051:25:111;;;;;919:80;328:879;;-1:-1:-1;;;961:27:111;;;;;4148:103:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;966:10:28;328:879:111;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;328:879:111;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;328:879:111;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;328:879:111;;2854:17:106;328:879:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;;;2854:17:106;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;2854:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879: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;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;3901:31:23;328:879:111;7892:388:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;;8155:40:23;-1:-1:-1;;8155:40:23;328:879:111;8209:11:23;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;328:879:111;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;328:879:111;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;328:879:111;;-1:-1:-1;;;7191:17:26;;;;;328:879:111;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;328:879:111:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2673:4272:106;2802:37;2673:4272;2802:37;328:879:111;;;2802:37:106;;;;;;:::i;:::-;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;2854:31:106;2850:95;;2959:20;;;;;328:879:111;;;;;;;;;;;2959:25:106;2955:92;;3061:29;;;328:879:111;;3061:29:106;;328:879:111;3061:43:106;;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;3061:43:106;;3057:971;;2673:4272;4043:23;;;328:879:111;4042:24:106;328:879:111;;;;;;;;4042:24:106;;328:879:111;4042:24:106;:67;;;2673:4272;4038:132;;4200:28;;;;4185:9;2854:17;4237:3;4200:28;;328:879:111;;4196:39:106;;;;;4260:31;;;:45;:31;;:::i;:::-;328:879:111;-1:-1:-1;;;;;328:879:111;;;4260:45:106;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;4388:22:106;328:879:111;;;;;;;4388:55:106;328:879:111;;;;;4388:55:106;4384:120;;4541:28;4518:62;:55;4541:31;;328:879:111;4541:28:106;;;:31;:::i;4518:55::-;328:879:111;;-1:-1:-1;;328:879:111;4576:4:106;328:879:111;;;;4518:62:106;328:879:111;4185:9:106;;4384:120;328:879:111;;-1:-1:-1;;;4470:19:106;;;;;4256:114;328:879:111;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;;;;;;;4605:43;328:879:111;;;;;;;;;;;4605:43:106;;4601:697;;4180:411;5411:34;6015:42;328:879:111;5411:34:106;;5960:44;328:879:111;;5411:34:106;5343:468;6798:32;5411:34;5343:468;5411:34;328:879:111;5411:34:106;;328:879:111;5477:19:106;5343:468;5477:19;5343:468;5477:19;;;328:879:111;5532:23:106;5343:468;328:879:111;5532:23:106;;;328:879:111;;;;;;;;;;5601:33:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;5679:32:106;;;328:879:111;5679:32:106;;;328:879:111;;5760:36:106;;-1:-1:-1;;;;;328:879:111;5760:36:106;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;:::i;:::-;;;;2802:37:106;5343:468;;328:879:111;-1:-1:-1;;;;;328:879:111;;;5343:468:106;;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;4043:23:106;5343:468;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;5343:468:106;;;328:879:111;;5343:468:106;-1:-1:-1;;;;;328:879:111;5343:468:106;;;328:879:111;;5343:468:106;;:::i;:::-;328:879:111;;5832:30:106;;-1:-1:-1;;;;;328:879:111;2854:17:106;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;5832:30:106;2802:37;5882:13;;328:879:111;;;;-1:-1:-1;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;;;5906:44:106;819:34:73;837:15;819:34;:::i;:::-;4576:4:106;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;;-1:-1:-1;;;328:879:111;;;;;;;;5906:44:106;328:879:111;;;;;;4576:4:106;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;;;;;328:879:111;;;;;;;;5960:44:106;328:879:111;;;;;;;;;2854:17:106;328:879:111;;;;;;;2854:17:106;328:879:111;;6015:42:106;6068:38;328:879:111;5343:468:106;6085:21;;328:879:111;;;;;;;2854:17:106;328:879:111;;;;;;;;;;;;2854:17:106;328:879:111;;6068:38:106;6116:34;5343:468;6131:19;;328:879:111;6116:34:106;1991:1:30;;328:879:111;;;;6161:135:106;;4180:411;-1:-1:-1;6309:36:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6305:157:106;;4180:411;-1:-1:-1;6475:35:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6471:153:106;;4180:411;-1:-1:-1;6637:34:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6633:152:106;;4180:411;-1:-1:-1;6798:32:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;6794:145:106;;2673:4272;:::o;6794:145::-;6860:68;;;:::i;6633:152::-;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;328:879:111;4668:37:106;;-1:-1:-1;;;;;328:879:111;;;4668:37:106;:23;;4729:32;;;328:879:111;4729:46:106;;-1:-1:-1;;;;;328:879:111;;;4729:46:106;:32;;4803:36;;;328:879:111;4803:50:106;;-1:-1:-1;;;;;328:879:111;;;4803:50:106;;;:78;;;4725:396;4799:167;;4725:396;6015:42;328:879:111;;4725:396:106;;5960:44;328:879:111;;4725:396:106;5343:468;6798:32;4725:396;;4601:697;;;;;;;;;;;;;;;4799:167;328:879:111;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;328:879:111;4857:24:106;4803:78;;4725:396;4994:36;;;328:879:111;4994:50:106;;-1:-1:-1;;;;;328:879:111;;;4994:50:106;;4990:131;;4725:396;6015:42;328:879:111;;4725:396:106;;5960:44;328:879:111;;4725:396:106;5343:468;6798:32;4725:396;;;4664:624;5145:32;;;328:879:111;5145:46:106;;-1:-1:-1;;;;;328:879:111;;;5145:46:106;;:74;;;4664:624;5141:147;;4664:624;6015:42;328:879:111;;4664:624:106;;5960:44;328:879:111;;4664:624:106;5343:468;6798:32;4664:624;;;5145:74;5195:19;;;;328:879:111;5195:24:106;5145:74;;4038:132;328:879:111;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;328:879:111;4070:39:106;;4042:67;;3057:971;3124:36;;;328:879:111;3124:50:106;;-1:-1:-1;;;;;328:879:111;;;3124:50:106;;3120:419;;3057:971;3557:34;;;328:879:111;3557:48:106;;-1:-1:-1;;;;;328:879:111;;;3557:48:106;;3553:465;;3057:971;;;3553:465;3629:21;;;328:879:111;;3629:21:106;;3678:19;;;328:879:111;3678:24:106;:74;;;3625:379;3674:157;3057:971;3674:157;328:879:111;;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;328:879:111;3706:46:106;;-1:-1:-1;;;;;328:879:111;;;3706:46:106;;3678:74;;3625:379;3859:19;;;328:879:111;3859:24:106;;;:74;;;3625:379;3855:149;3553:465;3855:149;328:879:111;;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;328:879:111;3887:46:106;;-1:-1:-1;;;;;328:879:111;;;3887:46:106;;;3859:74;;3120:419;3198:23;;;328:879:111;;3198:23:106;;3249:35;;;328:879:111;3249:49:106;;-1:-1:-1;;;;;328:879:111;;;3249:49:106;3120:419;3245:132;328:879:111;;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;328:879:111;3405:49:106;;-1:-1:-1;;;;;328:879:111;;;3405:49:106;3401:124;3120:419;3401:124;328:879:111;;-1:-1:-1;;;3485:21:106;;;;;2955:92;328:879:111;;-1:-1:-1;;;3007:29:106;;;;;2850:95;328:879:111;;-1:-1:-1;;;2908:26:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;328:879:111;;5674:21:56;:17;;5799:158;;;;;;5670:354;328:879:111;;-1:-1:-1;;;5994:19:56;;;;;4589:408;328:879:111;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;328:879:111;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;328:879:111;;;4917:24:56;;;328:879:111;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;1642:1025:106;1783:1;328:879:111;;1746:38:106;1742:119;;1875:23;;;328:879:111;;-1:-1:-1;;;;;328:879:111;1875:23:106;;328:879:111;;1875:37:106;;:65;;1642:1025;1871:130;;328:879:111;2138:42:106;328:879:111;2507:36:106;328:879:111;2011:72:106;328:879:111;;;2011:72:106;1991:1:30;;2011:72:106;2094:34;2109:19;;;328:879:111;2094:34:106;1991:1:30;;328:879:111;;;;;;;;;;2138:42:106;328:879:111;;;2138:42:106;328:879:111;;2138:42:106;2195:33;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2191:148:106;;1642:1025;-1:-1:-1;2352:32:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2348:146:106;;-1:-1:-1;2507:36:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;2503:158:106;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;328:879:111;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;328:879:111;1916:24:106;;1875:65;;1742:119;328:879:111;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;328:879:111;14374:24:69;;;;14370:103;;328:879:111;14296:213:69;:::o;14370:103::-;328:879:111;;;;14421:41:69;;;;;;14452:2;14421:41;;;328:879:111;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":4788,"length":32},{"start":5187,"length":32},{"start":6660,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302\",\"dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba","urls":["bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302","dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"license":"MIT"}},"version":1},"id":111} \ No newline at end of file +{"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":"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":"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":"0x60c03461012357612758906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a052516126089081610150823960805181818161054601526106b1015260a0518181816112b4015281816114430152611a040152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780631415519b146103465780631b66c9e114610341578063248a9ca31461033c5780632749f9c41461033757806327810b6e146103325780632abe30481461032d5780632dd31000146103285780632f2ff15d146103235780632fa27fae1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f57806350861adc1461030a57806354fd4d501461030557806357ec83cc146103005780635a36aa74146102fb5780635cc07076146102f657806361819dd8146102f1578063653b04cd146102ec5780636e0f2455146102e75780636ec1e3f8146102e2578063715018a6146102dd578063794b15b7146102d85780638da5cb5b146102d357806391d14854146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bba6ff4a1461028d578063bc46f72214610288578063c1bc6f5114610283578063c4db46fc1461027e578063cc52aee714610279578063ce9b793014610274578063d547741f1461026f578063d8dfeb451461026a578063db38871514610265578063e945da7f14610260578063ecc98f051461025b578063ecf7085814610256578063f151f6b5146102515763f2fde38b036119fa57611075565b611058565b61103b565b61101d565b611000565b610fc6565b610f9b565b610f4f565b610f27565b610eff565b610ee2565b610eba565b610e80565b610e63565b610e3b565b610e11565b610de9565b610da3565b610d56565b610d1c565b610d02565b610cde565b610cb6565b610c22565b610c05565b610be8565b610b8a565b610b56565b610b16565b610aaf565b610a8a565b610a65565b610a2b565b6109f1565b6109c7565b61099f565b61085a565b610828565b610803565b6107e2565b610797565b61075d565b61073d565b6106f1565b61069c565b6104da565b61046f565b610452565b610419565b6103df565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576104f4610497565b906001600160401b036024358181116103a1576105159036906004016104ad565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461068b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361067a575f805160206125b383398151915280548281169260ff82881c16801561066e575b61065d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461062f94909390926105fe926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161065b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b50808816841015610595565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761065b602435600435610714826106e0565b805f525f80516020612593833981519152602052610738600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b4816106e0565b336001600160a01b038216036107d05761065b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a157610873610497565b60243561087f816106e0565b6001600160401b03916044358381116103a1576108a09036906004016104ad565b5f805160206125b383398151915294918554948386168061098e5760ff8760401c16908115610981575b5061096f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661096a96610937958716906001600160401b0319161790556109325f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ca565b60405162dc149f60e41b8152600490fd5b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac76119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a15760203660031901126103a157600435610b33816106e0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610bdc602435610bae816106e0565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a1575f3660031901126103a1576020601154604051908152f35b346103a15760403660031901126103a157600435610c3f816106e0565b6024356001600160401b0381116103a1575f91610c61839236906004016104ad565b90816040519283928337810184815203915af4610cae610c7f611339565b91610ca0604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610d9a602435610d78816106e0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610bdc602435610dc7816106e0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020600f54604051908152f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a15761065b602435600435610f72826106e0565b805f525f80516020612593833981519152602052610f96600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761065b600435611095816106e0565b61109d6119c2565b61138c565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610ca0855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b61109d611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b04826106e0565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b816106e0565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220290d08e610dba1c3b45aeae5e9602f55eb47297f98344d52862031f182b674d564736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;328:879:111;;;;;;;;;7896:76:26;;328:879:111;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;328:879:111;;;;;;;927:17:82;328:879:111;;;;;;;;;;1445:31:106;328:879:111;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;328:879:111;;;;;;;;;;;;;8087:29:26;;328:879:111;;8087:29:26;7981:146;;;;;7896:76;328:879:111;;-1:-1:-1;;;7938:23:26;;;;;328:879:111;-1:-1:-1;328:879:111;;;;;;-1:-1:-1;328:879:111;;;;;-1:-1:-1;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106119fa575f3560e01c806301ffc9a71461034b5780631415519b146103465780631b66c9e114610341578063248a9ca31461033c5780632749f9c41461033757806327810b6e146103325780632abe30481461032d5780632dd31000146103285780632f2ff15d146103235780632fa27fae1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f57806350861adc1461030a57806354fd4d501461030557806357ec83cc146103005780635a36aa74146102fb5780635cc07076146102f657806361819dd8146102f1578063653b04cd146102ec5780636e0f2455146102e75780636ec1e3f8146102e2578063715018a6146102dd578063794b15b7146102d85780638da5cb5b146102d357806391d14854146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bba6ff4a1461028d578063bc46f72214610288578063c1bc6f5114610283578063c4db46fc1461027e578063cc52aee714610279578063ce9b793014610274578063d547741f1461026f578063d8dfeb451461026a578063db38871514610265578063e945da7f14610260578063ecc98f051461025b578063ecf7085814610256578063f151f6b5146102515763f2fde38b036119fa57611075565b611058565b61103b565b61101d565b611000565b610fc6565b610f9b565b610f4f565b610f27565b610eff565b610ee2565b610eba565b610e80565b610e63565b610e3b565b610e11565b610de9565b610da3565b610d56565b610d1c565b610d02565b610cde565b610cb6565b610c22565b610c05565b610be8565b610b8a565b610b56565b610b16565b610aaf565b610a8a565b610a65565b610a2b565b6109f1565b6109c7565b61099f565b61085a565b610828565b610803565b6107e2565b610797565b61075d565b61073d565b6106f1565b61069c565b6104da565b61046f565b610452565b610419565b6103df565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a15760203660031901126103a1576004355f525f805160206125938339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576104f4610497565b906001600160401b036024358181116103a1576105159036906004016104ad565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461068b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361067a575f805160206125b383398151915280548281169260ff82881c16801561066e575b61065d5767ffffffffffffffff199091169087161790555f805160206125b3833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461062f94909390926105fe926113fd565b5f805160206125b3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161065b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b50808816841015610595565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761065b602435600435610714826106e0565b805f525f80516020612593833981519152602052610738600160405f20015461148b565b6118fa565b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b4816106e0565b336001600160a01b038216036107d05761065b90600435611930565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206125b38339815191525416604051908152f35b346103a15760603660031901126103a157610873610497565b60243561087f816106e0565b6001600160401b03916044358381116103a1576108a09036906004016104ad565b5f805160206125b383398151915294918554948386168061098e5760ff8760401c16908115610981575b5061096f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661096a96610937958716906001600160401b0319161790556109325f805160206125b3833981519152600160401b68ff000000000000000019825416179055565b6111a2565b5f805160206125b3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ca565b60405162dc149f60e41b8152600490fd5b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac76119c2565b5f8051602061257383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a15760203660031901126103a157600435610b33816106e0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a1575f80516020612573833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610bdc602435610bae816106e0565b6004355f525f80516020612593833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a1575f3660031901126103a1576020601154604051908152f35b346103a15760403660031901126103a157600435610c3f816106e0565b6024356001600160401b0381116103a1575f91610c61839236906004016104ad565b90816040519283928337810184815203915af4610cae610c7f611339565b91610ca0604051938492151560208401526040808401526060830190611368565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610d9a602435610d78816106e0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610bdc602435610dc7816106e0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020600f54604051908152f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a15761065b602435600435610f72826106e0565b805f525f80516020612593833981519152602052610f96600160405f20015461148b565b611930565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761065b600435611095816106e0565b61109d6119c2565b61138c565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176110d157604052565b6110a2565b604081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061024082018281106001600160401b038211176110d157604052565b6040519060c082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261117882611151565b9161118660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b916111f2926111af611a36565b6111b7611a36565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661131f575b50369161116c565b8051602090820181810182848303126103a15782840151936001600160401b03948581116103a15760609101809303126103a1576040908151611234816110b6565b848401518681116103a157840182603f820112156103a1578281858861125d9401519101611a64565b8152828401518681116103a157828661127892870101611a9a565b9385820194855260608101519687116103a1576112a26112fb938761131c996112af940101611a9a565b9184810192835251611d21565b6112f57f00000000000000000000000000000000000000000000000000000000000000009451915191610ca0855193849263602bd8e760e01b8a85015260248401611ab7565b83611adc565b505191634f4e823d60e01b9083015260048252611317826110d6565b611adc565b50565b6113339061132b611a36565b61109d611a36565b5f6111ea565b3d15611363573d9061134a82611151565b9161135860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b039081169081156113e5575f8051602061257383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114146003926001600160401b0392369161116c565b921603611479575161146757604051634f4e823d60e01b60208201526004815261131c90611441816110d6565b7f0000000000000000000000000000000000000000000000000000000000000000611adc565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206125938339815191526020908152604080832033845290915290205460ff16156114bb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206125938339815191529060ff16611584575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206125938339815191529060ff905b5416611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206125938339815191529060ff906115f5565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206125938339815191529060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b038716855290915290912060ff906115f5565b5f8181525f80516020612593833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611659575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b5f80516020612573833981519152546001600160a01b031633036119e257565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611a32573d5ff35b3d5ffd5b60ff5f805160206125b38339815191525460401c1615611a5257565b604051631afcd79f60e31b8152600490fd5b929192611a7082611151565b91611a7e60405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151611ab492602001611a64565b90565b9091611ace611ab493604084526040840190611368565b916020818403910152611368565b5f80611ab493602081519101845af4611af3611339565b916123d8565b5190611b04826106e0565b565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b9060405194611b5a858401876110f1565b855283808601928201019283116103a1578301905b828210611b7d575050505090565b8380918351611b8b816106e0565b815201910190611b6f565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157611bc8611112565b92611bd283611af9565b8452611be060208401611af9565b6020850152611bf160408401611b06565b6040850152611c0260608401611b19565b6060850152611c1360808401611b19565b608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100611c44818501611af9565b90850152610120611c56818501611af9565b90850152610140611c68818501611af9565b90850152610160611c7a818501611af9565b9085015261018091828401519182116103a157611c98918401611b26565b908301526101a0611caa818301611af9565b908301526101c0611cbc818301611af9565b908301526101e0611cce818301611af9565b90830152610200611ce0818301611af9565b90830152611cf2610220809201611af9565b9082015290565b8051821015611d0d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611d349060208082518301019101611b96565b805190916001600160a01b03918216156123c6576040908184019065ffffffffffff611d66835165ffffffffffff1690565b16156123b55761012085018051909490611d90906001600160a01b03165b6001600160a01b031690565b15612280575b6060860195611dac611da88851151590565b1590565b80612271575b61226057610180810196955f5b88518051821015611e7057611d84611dda83611de793611cf9565b516001600160a01b031690565b15611e5f57611e20611e19611e00611dda848d51611cf9565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611e4e5780611e48611e3b611e00611dda6001958e51611cf9565b805460ff19166001179055565b01611dbf565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611e8c611d84855160018060a01b031690565b15612128575b92612042612032869461202c61200761207696611f6b6101c09a611f6660c06120d59e015191611f568d611f4660e082015193611f36611edc61010085015160018060a01b031690565b6101e08501516001600160a01b0316610200860151909390611f1490610220906001600160a01b03169701516001600160a01b031690565b97611f1d611132565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61243b565b8851611fa2906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b03909216919091179055611ffb611fd242612540565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6120696120526080850151151590565b61ff005f5491151560081b169061ff001916175f55565b611dda60a0840151600455565b848116612118575b506101408101516001600160a01b0316848116612108575b506101608101516001600160a01b03168481166120f8575b506101a08101516001600160a01b03168481166120e8575b5001516001600160a01b031690565b9081166120df5750565b61131c9061173e565b6120f1906116cf565b505f6120c6565b61210190611660565b505f6120ae565b6121119061158a565b505f612096565b612121906114d9565b505f61207e565b610100850151612140906001600160a01b0316611d84565b61220f5761020085015161215c906001600160a01b0316611d84565b6121d057610220850151612178906001600160a01b0316611d84565b1515806121c4575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a5b979a5050965050509496505050611e92565b51630331eb0f60e41b8152600490fd5b5060e085015115612180565b6102208501516121e8906001600160a01b0316611d84565b156121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b610200850151612227906001600160a01b0316611d84565b1580612254575b6121b457926120426120326120d5969461202c61200761207696611f6b6101c09a6121a2565b5060e08501511561222e565b845163ebf503c560e01b8152600490fd5b50610180810151511515611db2565b610140860151612298906001600160a01b0316611d84565b15612350575b6101a08601516122b6906001600160a01b0316611d84565b156122c1575b611d96565b60808601511561230c5760a086015115806122ed575b15611d9657835163183c854560e21b8152600490fd5b506101c0860151612306906001600160a01b0316611d84565b156122d7565b60a086015115801590612330575b156122bc57835163183c854560e21b8152600490fd5b506101c0860151612349906001600160a01b0316611d84565b151561231a565b60608601511561238757610160860151612372906001600160a01b0316611d84565b61229e57835163183c854560e21b8152600490fd5b61016086015161239f906001600160a01b0316611d84565b1561229e57835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b906123ff57508051156123ed57805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612432575b612410575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612408565b600381511061252e576040810180516001600160a01b0392919083161580612521575b61250f57816124a861248660a0936124796124e39651600f55565b611dda6020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166124ff575b5060808101516001600160a01b03168481166124f6575001516001600160a01b031690565b9081166124ed5750565b61131c9061188b565b6120f19061181c565b612508906117ad565b505f6124be565b604051630331eb0f60e41b8152600490fd5b506020820151151561245e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612553571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220290d08e610dba1c3b45aeae5e9602f55eb47297f98344d52862031f182b674d564736f6c63430008190033","sourceMap":"328:879:111:-:0;;;;;;2603:64:50;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;328:879: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;:::-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;328:879:111;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;328:879:111;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;757:38:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;612:37:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;4919:24:23;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4177:34:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;328:879:111;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;328:879:111;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;;;;6431:44:26;;;;328:879:111;6427:105:26;;-1:-1:-1;;328:879:111;;;;;;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;-1:-1:-1;;;328:879:111;;;6656:20:26;;;;328:879:111;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;6450:25:26;;;6431:44;;1655:71:82;328:879:111;;-1:-1:-1;;;1703:12:82;;328:879:111;;1703:12:82;3666:88:30;328:879:111;;-1:-1:-1;;;3713:30:30;;328:879:111;;3713:30:30;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;655:32:82;-1:-1:-1;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;:::o;:::-;;;;;;-1:-1:-1;;328:879:111;;;;5350:25:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5350:25;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;2077:28:108;328:879:111;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1329:40:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;328:879:111;;6441:34:23;6437:102;;6549:37;328:879:111;;;6549:37:23;:::i;6437:102::-;328:879:111;;-1:-1:-1;;;6498:30:23;;328:879:111;;6498:30:23;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2241:34:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;-1:-1:-1;;;;;;;;;;;;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;328:879:111;;;;;;734:29:82;730:87;;328:879:111;;;;;6431:44:26;;;;;328:879:111;6427:105:26;;;6656:20;328:879:111;6656:20:26;328:879:111;1167:340:82;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;328:879:111;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;6656:20:26;;;;328:879:111;6427:105:26;328:879:111;;-1:-1:-1;;;6498:23:26;;328:879:111;;6498:23:26;6431:44;328:879:111;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;328:879:111;;-1:-1:-1;;;786:20:82;;328:879:111;;786:20:82;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;3909:32:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2704:59:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1041:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1564:45:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3817:36:108;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;2409:32:108;328:879:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;-1:-1:-1;;;;;328:879:111;3975:40:24;328:879:111;;3975:40:24;328:879:111;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;328:879:111;2580:68:108;328:879:111;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3901:31:23;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;3901:31:23;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3719:42:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3625:38:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;328:879:111;;;;;;;;;;477:31:86;;328:879:111;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;328:879:111;518:79:86;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;;;1989:32:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;900:35:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;2939:94:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;2939:94:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;2939:94:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3089:92:108;328:879:111;;;;;:::i;:::-;;;-1:-1:-1;328:879:111;3089:92:108;328:879:111;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;4350:31:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;-1:-1:-1;328:879:111;2819:64:108;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2331:22:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3423:43:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1183:36:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;4089:32:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;3522:47:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;3997:36:108;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;2161:24:108;328:879:111;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;5767:26:23;328:879:111;;;;;;;:::i;:::-;;-1:-1:-1;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;3202:4:23;4919:24;328:879:111;-1:-1:-1;328:879:111;4919:24:23;328:879:111;3202:4:23;:::i;:::-;5767:26;:::i;328:879:111:-;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;466:39:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;4267:27:108;328:879:111;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1466:3:108;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;328:879:111;;;;;;;1286:6:106;328:879:111;;;;;;;;;-1:-1:-1;;328:879:111;;;;2357:1:24;328:879:111;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;328:879:111:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;477:31:86;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;;;;5404:34:106;328:879:111;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;328:879:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;1167:340:82:-;;328:879:111;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;328:879:111;;1376:73:82;;1167:340;328:879:111;;;;:::i;:::-;;;674:55:109;;;;;;;328:879:111;;;;;;;674:55:109;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;811:157:109;328:879:111;;688:101;328:879;;;;;;:::i;:::-;;;;;;;;782:17:109;328:879:111;:::i;:::-;863:95:109;1615:14:106;930:11:109;;943:13;;328:879:111;863:95:109;328:879:111;;863:95:109;;;;;;;;;;;;;;:::i;:::-;811:157;;:::i;:::-;;328:879:111;727:61;;;;;;;;;;;;;;:::i;:::-;688:101;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;328:879:111;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;328:879:111;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;-1:-1:-1;;328:879:111;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;328:879:111;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;328:879:111;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;328:879:111;;;3534:31:24;1809:204:82;;328:879:111;937:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;328:879:111;;;:::i;:::-;;;923:15;919:80;;328:879;1009:78;;328:879;;-1:-1:-1;;;1136:61:111;;;;;;;1097:101;;1136:61;328:879;1136:61;:::i;:::-;1615:14:106;1097:101:111;:::i;1009:78::-;328:879;;-1:-1:-1;;;1051:25:111;;;;;919:80;328:879;;-1:-1:-1;;;961:27:111;;;;;4148:103:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;966:10:28;328:879:111;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;328:879:111;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;328:879:111;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;328:879:111;;2847:17:106;328:879:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;;;2847:17:106;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;2847:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;7509:4:23;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879: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;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;328:879:111;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;328:879:111;;3901:31:23;328:879:111;7270:387:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;3901:31:23;328:879:111;7892:388:23;-1:-1:-1;328:879:111;;;-1:-1:-1;;;;;;;;;;;328:879:111;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;-1:-1:-1;;328:879:111;;;966:10:28;;-1:-1:-1;;;;;328:879:111;;8155:40:23;-1:-1:-1;;8155:40:23;328:879:111;8209:11:23;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;328:879:111;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;328:879:111;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;328:879:111;-1:-1:-1;;;;;;;;;;;328:879:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;328:879:111;;-1:-1:-1;;;7191:17:26;;;;;328:879:111;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;328:879:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;328:879:111:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2666:4258:106;2795:37;2666:4258;2795:37;328:879:111;;;2795:37:106;;;;;;:::i;:::-;328:879:111;;;;-1:-1:-1;;;;;328:879:111;;;2847:31:106;2843:95;;2952:20;;;;;328:879:111;;;;;;;;;;;2952:25:106;2948:92;;3054:29;;;328:879:111;;3054:29:106;;328:879:111;3054:43:106;;-1:-1:-1;;;;;328:879:111;;-1:-1:-1;;;;;328:879:111;;;3054:43:106;;3050:971;;2666:4258;4036:23;;;328:879:111;4035:24:106;328:879:111;;;;;;;;4035:24:106;;328:879:111;4035:24:106;:67;;;2666:4258;4031:132;;4193:28;;;;4178:9;2847:17;4230:3;4193:28;;328:879:111;;4189:39:106;;;;;4253:31;;;:45;:31;;:::i;:::-;328:879:111;-1:-1:-1;;;;;328:879:111;;;4253:45:106;;4249:114;;4381:55;;4404:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;328:879:111;;;;;4381:22:106;328:879:111;;;;;;;4381:55:106;328:879:111;;;;;4381:55:106;4377:120;;4534:28;4511:62;:55;4534:31;;328:879:111;4534:28:106;;;:31;:::i;4511:55::-;328:879:111;;-1:-1:-1;;328:879:111;4569:4:106;328:879:111;;;;4511:62:106;328:879:111;4178:9:106;;4377:120;328:879:111;;-1:-1:-1;;;4463:19:106;;;;;4249:114;328:879:111;;-1:-1:-1;;;4325:23:106;;;;;4189:39;;;;;;;;;;4598:43;328:879:111;;;;;;;;;;;4598:43:106;;4594:697;;4173:411;5404:34;5994:42;328:879:111;5404:34:106;;5946:37;328:879:111;;5404:34:106;5336:468;6777:32;5404:34;5336:468;5404:34;328:879:111;5404:34:106;;328:879:111;5470:19:106;5336:468;5470:19;5336:468;5470:19;;;328:879:111;5525:23:106;5336:468;328:879:111;5525:23:106;;;328:879:111;;;;;;;;;;5594:33:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;5672:32:106;;;328:879:111;5672:32:106;;;328:879:111;;5753:36:106;;-1:-1:-1;;;;;328:879:111;5753:36:106;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;:::i;:::-;;;;2795:37:106;5336:468;;328:879:111;-1:-1:-1;;;;;328:879:111;;;5336:468:106;;;328:879:111;;5336:468:106;-1:-1:-1;;;;;328:879:111;4036:23:106;5336:468;;328:879:111;;5336:468:106;-1:-1:-1;;;;;328:879:111;5336:468:106;;;328:879:111;;5336:468:106;-1:-1:-1;;;;;328:879:111;5336:468:106;;;328:879:111;;5336:468:106;;:::i;:::-;328:879:111;;5825:30:106;;-1:-1:-1;;;;;328:879:111;2847:17:106;328:879:111;;-1:-1:-1;;;;;;328:879:111;;;;;;-1:-1:-1;;;;;328:879:111;;;;;;;;5825:30:106;2795:37;5875:13;;328:879:111;;;;-1:-1:-1;;;;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;;;5899:37:106;819:34:73;837:15;819:34;:::i;:::-;4569:4:106;328:879:111;;-1:-1:-1;;;;328:879:111;;;;;;-1:-1:-1;;;328:879:111;;;;;;;;5899:37:106;328:879:111;;;;;;4569:4:106;328:879:111;;-1:-1:-1;;;;;328:879:111;;;;;;-1:-1:-1;;;;;;328:879:111;;;;;;;;5946:37:106;328:879:111;;;;;;;;;2847:17:106;328:879:111;;;;;;;2847:17:106;328:879:111;;5994:42:106;6047:38;328:879:111;5336:468:106;6064:21;;328:879:111;;;;;;;2847:17:106;328:879:111;;;;;;;;;;;;2847:17:106;328:879:111;;6047:38:106;6095:34;5336:468;6110:19;;328:879:111;6095:34:106;1991:1:30;;328:879:111;;;;6140:135:106;;4173:411;-1:-1:-1;6288:36:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6284:157:106;;4173:411;-1:-1:-1;6454:35:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6450:153:106;;4173:411;-1:-1:-1;6616:34:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;6612:152:106;;4173:411;-1:-1:-1;6777:32:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;6773:145:106;;2666:4258;:::o;6773:145::-;6839:68;;;:::i;6612:152::-;6680:73;;;:::i;:::-;;6612:152;;;6450:153;6519:73;;;:::i;:::-;;6450:153;;;6284:157;6354:76;;;:::i;:::-;;6284:157;;;6140:135;6203:61;;;:::i;:::-;;6140:135;;;4594:697;4661:23;;;328:879:111;4661:37:106;;-1:-1:-1;;;;;328:879:111;;;4661:37:106;:23;;4722:32;;;328:879:111;4722:46:106;;-1:-1:-1;;;;;328:879:111;;;4722:46:106;:32;;4796:36;;;328:879:111;4796:50:106;;-1:-1:-1;;;;;328:879:111;;;4796:50:106;;;:78;;;4718:396;4792:167;;4718:396;5994:42;328:879:111;;4718:396:106;;5946:37;328:879:111;;4718:396:106;5336:468;6777:32;4718:396;;4594:697;;;;;;;;;;;;;;;4792:167;328:879:111;-1:-1:-1;;;4909:27:106;;;;;4796:78;4850:19;;;;328:879:111;4850:24:106;4796:78;;4718:396;4987:36;;;328:879:111;4987:50:106;;-1:-1:-1;;;;;328:879:111;;;4987:50:106;;4983:131;;4718:396;5994:42;328:879:111;;4718:396:106;;5946:37;328:879:111;;4718:396:106;5336:468;6777:32;4718:396;;;4657:624;5138:32;;;328:879:111;5138:46:106;;-1:-1:-1;;;;;328:879:111;;;5138:46:106;;:74;;;4657:624;5134:147;;4657:624;5994:42;328:879:111;;4657:624:106;;5946:37;328:879:111;;4657:624:106;5336:468;6777:32;4657:624;;;5138:74;5188:19;;;;328:879:111;5188:24:106;5138:74;;4031:132;328:879:111;;-1:-1:-1;;;4125:27:106;;;;;4035:67;4063:28;;;;;328:879:111;4063:39:106;;4035:67;;3050:971;3117:36;;;328:879:111;3117:50:106;;-1:-1:-1;;;;;328:879:111;;;3117:50:106;;3113:419;;3050:971;3550:34;;;328:879:111;3550:48:106;;-1:-1:-1;;;;;328:879:111;;;3550:48:106;;3546:465;;3050:971;;;3546:465;3622:21;;;328:879:111;;3622:21:106;;3671:19;;;328:879:111;3671:24:106;:74;;;3618:379;3667:157;3050:971;3667:157;328:879:111;;-1:-1:-1;;;3780:21:106;;;;;3671:74;-1:-1:-1;3699:32:106;;;328:879:111;3699:46:106;;-1:-1:-1;;;;;328:879:111;;;3699:46:106;;3671:74;;3618:379;3852:19;;;328:879:111;3852:24:106;;;:74;;;3618:379;3848:149;3546:465;3848:149;328:879:111;;-1:-1:-1;;;3957:21:106;;;;;3852:74;-1:-1:-1;3880:32:106;;;328:879:111;3880:46:106;;-1:-1:-1;;;;;328:879:111;;;3880:46:106;;;3852:74;;3113:419;3191:23;;;328:879:111;;3191:23:106;;3242:35;;;328:879:111;3242:49:106;;-1:-1:-1;;;;;328:879:111;;;3242:49:106;3113:419;3238:132;328:879:111;;-1:-1:-1;;;3326:21:106;;;;;3187:331;3398:35;;;328:879:111;3398:49:106;;-1:-1:-1;;;;;328:879:111;;;3398:49:106;3394:124;3113:419;3394:124;328:879:111;;-1:-1:-1;;;3478:21:106;;;;;2948:92;328:879:111;;-1:-1:-1;;;3000:29:106;;;;;2843:95;328:879:111;;-1:-1:-1;;;2901:26:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;328:879:111;;5674:21:56;:17;;5799:158;;;;;;5670:354;328:879:111;;-1:-1:-1;;;5994:19:56;;;;;4589:408;328:879:111;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;328:879:111;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;328:879:111;;;4917:24:56;;;328:879:111;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;1642:1018:106;1783:1;328:879:111;;1746:38:106;1742:119;;1875:23;;;328:879:111;;-1:-1:-1;;;;;328:879:111;1875:23:106;;328:879:111;;1875:37:106;;:65;;1642:1018;1871:130;;328:879:111;2131:42:106;328:879:111;2500:36:106;328:879:111;2011:65:106;328:879:111;;;2011:65:106;1991:1:30;;2011:65:106;2087:34;2102:19;;;328:879:111;2087:34:106;1991:1:30;;328:879:111;;;;;;;;;;2131:42:106;328:879:111;;;2131:42:106;328:879:111;;2131:42:106;2188:33;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2184:148:106;;1642:1018;-1:-1:-1;2345:32:106;;;328:879:111;-1:-1:-1;;;;;328:879:111;;;;2341:146:106;;-1:-1:-1;2500:36:106;328:879:111;-1:-1:-1;;;;;328:879:111;;;;;;;2496:158:106;;1642:1018;:::o;2496:158::-;2566:77;;;:::i;2341:146::-;2407:69;;;:::i;2184:148::-;2251:70;;;:::i;:::-;;2184:148;;;1871:130;1875:23;328:879:111;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;328:879:111;1916:24:106;;1875:65;;1742:119;328:879:111;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;328:879:111;14374:24:69;;;;14370:103;;328:879:111;14296:213:69;:::o;14370:103::-;328:879:111;;;;14421:41:69;;;;;;14452:2;14421:41;;;328:879:111;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1350,"length":32},{"start":1713,"length":32}],"69325":[{"start":4788,"length":32},{"start":5187,"length":32},{"start":6660,"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","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","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\":\"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\":[{\"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.\"},\"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.\"},\"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\":\"0xbff0f4553c61d3355e6cbccfd93728a8911169d2476a2032e4725f11fb5343f6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e61281fc0a281a11525b5fdd2887dda78f0ea47c6b63fed643a199168e9f4f14\",\"dweb:/ipfs/QmSoXhjWxXUdniMBuG2n5pjAHwFwBg5nMYgsdJ75dd3gFZ\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a\",\"dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302\",\"dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68\",\"dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":[{"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."},"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."},"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":"0xbff0f4553c61d3355e6cbccfd93728a8911169d2476a2032e4725f11fb5343f6","urls":["bzz-raw://e61281fc0a281a11525b5fdd2887dda78f0ea47c6b63fed643a199168e9f4f14","dweb:/ipfs/QmSoXhjWxXUdniMBuG2n5pjAHwFwBg5nMYgsdJ75dd3gFZ"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f","urls":["bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a","dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0x0528614d27376c09116c390eed5abbc85afc9404a5b607e6d96807b56545c6ba","urls":["bzz-raw://668eeaf255cd665ccd6e9d8c383effddae2d35d51ecd8eea177e66b66a2b6302","dweb:/ipfs/QmdMCeB87PqrGkRmmvJysMGoDjYgyATTtQNTVBPFJMBU1B"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea","urls":["bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68","dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"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 e191dc5..92992e7 100644 --- a/out/VaultVotesImplementation.sol/VaultVotesImplementation.json +++ b/out/VaultVotesImplementation.sol/VaultVotesImplementation.json @@ -1 +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":"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":"_VaultVotes_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"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":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","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":"result","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":"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":"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":"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":"InvalidOrigin","inputs":[]},{"type":"error","name":"NotInitializing","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":"0x60a034606d57601f61271438819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161268e908161008682396080518181816104a40152611cd20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a26469706673582212206734c4c1fdd0989c2a34430ef234ff4946fa33b50b5352ebad8641461751488464736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;1403:40;;1065:3768;;;;;;;;1403:40;1065:3768;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;1065:3768:112","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611cc8575f3560e01c80630fcaeb1b1461035b5780631415519b146103565780631b66c9e1146103515780631e89bd8a1461034c5780631e9a69501461034757806323b872dd1461034257806327810b6e1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f578063502b4d601461031a57806350861adc14610315578063587cde1e146103105780635c19a95c1461030b5780635cc070761461030657806361819dd81461030157806364601402146102fc578063653b04cd146102f75780636ec1e3f8146102f257806375d6c765146102ed578063794b15b7146102e85780637e84ec81146102e35780637ecebe00146102de57806384b0196e146102d95780638d30d7a7146102d45780638e539e8c146102cf57806391ddadf4146102ca5780639ab24eb0146102c55780639f86fd85146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bc46f72214610293578063bc4f8c051461028e578063c3cda52014610289578063ce9b793014610284578063d2356eb51461027f578063d8dfeb451461027a578063db38871514610275578063ddd0f28a14610270578063e945da7f1461026b578063ecc98f0514610266578063ecf7085814610261578063f3fef3a31461025c5763fcdc5b6003611cc857611461565b6113fd565b6113e0565b6113c2565b6113a5565b611388565b61134e565b611323565b611306565b6112de565b611210565b6111f3565b6111b9565b611191565b611167565b6110ea565b6110c2565b611074565b61102b565b610ff1565b610fcd565b610f2f565b610ef3565b610ec8565b610e26565b610e01565b610d31565b610c54565b610c2c565b610bef565b610b8f565b610b6a565b610b30565b610b08565b610ace565b610aa4565b610a82565b610a3d565b610a18565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b610586565b6104f5565b61043c565b6103f0565b6103b6565b61037c565b34610378575f366003190112610378576020601154604051908152f35b5f80fd5b34610378575f3660031901126103785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610378575f3660031901126103785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610378575f36600319011261037857602060015460d01c604051908152f35b600435906001600160a01b038216820361037857565b602435906001600160a01b038216820361037857565b34610378576040366003190112610378576104e06104a26104d76104c8610461610410565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610378576060366003190112610378576104f1610511610410565b61057461051c610426565b6044359061056e61055f6040516323b872dd60e01b602082015260018060a01b03808816602483015284166044820152846064820152606481526104a281611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610378575f366003190112610378576001546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461037857604036600319011261037857610601610410565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610bb7565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104f15f5b6040516001600160d01b0390911681529081906020820190565b6106826104f1926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461037857604036600319011261037857610723610410565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610761906104c8906104a28160648101610494565b916001600160d01b03610772611892565b1161078157826104e091611608565b604051630a84eab560e11b8152600490fd5b34610378575f36600319011261037857602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610378575f366003190112610378576104f16040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610378575f36600319011261037857604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610378575f36600319011261037857602065ffffffffffff60135460901c16604051908152f35b34610378575f36600319011261037857602060ff60025460a01c166040519015158152f35b346103785760203660031901126103785760206001600160a01b0380610a61610410565b165f525f805160206125f9833981519152825260405f205416604051908152f35b346103785760203660031901126103785761094a610a9e610410565b3361191e565b34610378576020366003190112610378576004355f526006602052602060405f2054604051908152f35b34610378575f3660031901126103785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610378575f36600319011261037857602065ffffffffffff60015460a01c16604051908152f35b34610378575f3660031901126103785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610378575f36600319011261037857602060ff60035460a01c166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460601c16604051908152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610378576020366003190112610378576001600160a01b03610c10610410565b165f526005602052602060ff60405f2054166040519015158152f35b34610378575f36600319011261037857602065ffffffffffff60135460301c16604051908152f35b34610378576020366003190112610378576001600160a01b03610c75610410565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610cdf90949194600f60f81b8452610cd160209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610d1d575050505090565b835185529381019392810192600101610d0f565b34610378575f366003190112610378577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610dd8575b15610d9b57610d77611a03565b610d7f611ad6565b906104f1610d8b611529565b6040519384933091469186610cab565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d6a565b34610378575f36600319011261037857602065ffffffffffff60135416604051908152f35b3461037857602036600319011261037857600435610e434261169b565b65ffffffffffff8116821015610ea157610e64610e5f8361169b565b6116fd565b6001600160d01b03811615610e9757610e7f6104f191611843565b90549060031b1c5b6040519081529081906020820190565b506104f15f610e87565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610378575f366003190112610378576020610ee34261169b565b65ffffffffffff60405191168152f35b346103785760203660031901126103785760206001600160d01b03610f26610f21610f1c610410565b610bb7565b611b82565b16604051908152f35b3461037857604036600319011261037857610f48610410565b60243567ffffffffffffffff9182821161037857366023830112156103785781600401359283116103785736602484840101116103785760245f9392838594604051938493018337810184815203915af4610fc5610fa4611550565b916104946040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610378575f36600319011261037857602060ff5f5460081c166040519015158152f35b34610378575f3660031901126103785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b3461037857604036600319011261037857602061106b611049610426565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461037857604036600319011261037857602060ff6110b6611094610426565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610378575f366003190112610378576016546040516001600160a01b039091168152602090f35b34610378576040366003190112610378576020611105610410565b60405163a9059cbb60e01b838201526001600160a01b038216602482810191909152356044820181905261115d9161115690611148906104a28160648101610494565b858082518301019101611502565b923361165e565b6040519015158152f35b34610378576020366003190112610378576004355f526007602052602060405f2054604051908152f35b34610378575f366003190112610378576003546040516001600160a01b039091168152602090f35b34610378575f3660031901126103785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610378575f366003190112610378576020601054604051908152f35b346103785760c036600319011261037857611229610410565b6044359060243560643560ff81168103610378578342116112c5576112b961094a946112c0926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112a182611492565b6112b460a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610378575f366003190112610378576002546040516001600160a01b039091168152602090f35b34610378575f366003190112610378576020601254604051908152f35b34610378575f366003190112610378575f5460405160109190911c6001600160a01b03168152602090f35b34610378575f3660031901126103785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610378575f366003190112610378576020601454604051908152f35b34610378575f366003190112610378576020601554604051908152f35b34610378575f366003190112610378576020604051633b9aca008152f35b34610378575f366003190112610378576020600454604051908152f35b34610378576040366003190112610378576114566104c86104946104a2611422610410565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104e081336115af565b34610378575f366003190112610378576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610378576020825192015190565b90816020910312610378575180151581036103785790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610bb7565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610bb7565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a26469706673582212206734c4c1fdd0989c2a34430ef234ff4946fa33b50b5352ebad8641461751488464736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;2603:64:50;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;1065:3768: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;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;3653:32:108;1065:3768:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;757:38:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;612:37:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2084:35:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;3540:6;3393:48;3328:156;3352:90;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;3393:48;;;-1:-1:-1;;;;;1065:3768:112;;;;3393:48;;;1065:3768;;;;;;;;;;;;;;;;3393:48;;;;;;;;;;:::i;:::-;3352:19;:90;:::i;:::-;1065:3768;;;;3328:156;;;;;;:::i;:::-;3516:10;;;;3540:6;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;4133:5;1065:3768;;:::i;:::-;;;;3953:138;3977:96;1065:3768;;4018:54;;;1065:3768;4018:54;;;1065:3768;;;;;;;;;4018:54;;1065:3768;;;;;;;;;;;;;4018:54;;;;;:::i;3977:96::-;1065:3768;;;;3953:138;;;;;;:::i;:::-;4133:5;;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1329:40:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;837:15:73;819:34;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;1065:3768:112;;9737:15:71;-1:-1:-1;9762:18:71;;9801:1;9795:7;;9791:234;;1065:3768:112;10049:53:71;;;;;;:::i;:::-;10120:63;:8;;;:63;;1065:3768:112;-1:-1:-1;10120:63:71;1065:3768:112;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;10120:63:71;10168:7;1065:3768:112;10168:7:71;;:::i;:::-;14439:109;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;1065:3768:112;;;10120:63:71;;9791:234;9838:14;;;;;:::i;:::-;1065:3768:112;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;1065:3768:112;;:::i;5073:115:25:-;1065:3768:112;;-1:-1:-1;;;5129:48:25;;1065:3768:112;5129:48:25;;1065:3768:112;;;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2489:52;;;-1:-1:-1;;;;;1065:3768:112;;;2489:52;;;1065:3768;;;;;;;;;2424:160;;2448:94;;2489:52;1065:3768;;;;2489:52;1065:3768;2424:160;1065:3768;-1:-1:-1;;;;;2599:22:112;;:::i;:::-;:42;2595:100;;2750:12;;;;:::i;2595:100::-;1065:3768;;-1:-1:-1;;;2664:20:112;;1065:3768;;2664:20;1065:3768;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;-1:-1:-1;;1065:3768:112;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1065:3768:112;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;1065:3768:112;2806:64:31;1065:3768:112;;3875:17:31;3902:20;1065:3768:112;3902:16:31;1065:3768:112;;3902:20:31;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;3393:48;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;4126:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2255:34:108;1065:3768:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;1065:3768:112;;;:::i;:::-;;-1:-1:-1;1065:3768:112;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;7028:9:25;1065:3768:112;;:::i;:::-;966:10:28;7028:9:25;:::i;1065:3768:112:-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2718:59:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1041:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;1989:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1564:45:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2423:32:108;1065:3768:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;4027:43:108;1065:3768:112;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;5204:22:25;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;2594:68:108;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3932:39:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;972:64:29;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2806:64:31;1065:3768:112;5777:18:31;:43;;;1065:3768:112;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;1065:3768:112;6043:16:31;;:::i;:::-;1065:3768:112;;6000:4:31;;;;5965:13;;1065:3768:112;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;5777:43:31;1065:3768:112;5799:16:31;1065:3768:112;5799:21:31;5777:43;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3833:43:108;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;2039:29;;;2035:115;;7117:34:94;2198:28:112;;;:::i;:::-;7117:34:94;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;7168:7:94;1065:3768:112;;7178:17:94;1065:3768:112;7178:17:94;;:::i;:::-;1065:3768:112;;;;;;7168:31:94;1065:3768:112;;;;;;;;;;;;;7168:31:94;;1065:3768:112;-1:-1:-1;7168:31:94;;2035:115:112;1065:3768;;-1:-1:-1;;;2091:48:112;;1065:3768;2091:48;;1065:3768;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;4439:40:25;:31;1065:3768:112;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;1065:3768:112;;;;;;;;;;477:31:86;;1065:3768:112;;;;;;;;;;;:::i;477:31:86:-;518:79;;;1065:3768:112;518:79:86;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;900:35:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2953:94:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;2953:94:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;2953:94:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3103:92:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;3103:92:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;3103:92:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;4396:31:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;;;-1:-1:-1;;;3719:44:112;;;;-1:-1:-1;;;;;1065:3768:112;;;3719:44;;;1065:3768;;;;;;;;;;;3821:5;;3667:106;;3678:86;;3719:44;1065:3768;;;;3719:44;1065:3768;3678:86;1065:3768;;;;3667:106;;;;;;:::i;:::-;3805:10;;3821:5;:::i;:::-;1065:3768;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2833:64:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2345:22:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1183:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3543:54:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;7310:15:25;;:24;7306:91;;7423:168;7660:9;1065:3768:112;7626:5:25;1065:3768:112;;;7477:57:25;1065:3768:112;7477:57:25;;1065:3768:112;2345:71:25;1065:3768:112;;;;;;;;;;2345:71:25;;1065:3768:112;2345:71:25;1065:3768:112;2345:71:25;;1065:3768:112;;2345:71:25;;1065:3768:112;;7477:57:25;;;;;:::i;:::-;7450:86;1065:3768:112;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;1065:3768:112;;-1:-1:-1;;;7357:29:25;;1065:3768:112;7357:29:25;;1065:3768:112;;;;;7357:29:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;2175:24:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3741:36:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;466:39:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4221:36:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4313:27:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1466:3:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2930:158;2954:92;2995:50;;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2995:50;;;-1:-1:-1;;;;;1065:3768:112;;;;2995:50;;;1065:3768;;;;;;;;;;;;;;;;;2930:158;3120:10;3144:12;3120:10;;3144:12;:::i;1065:3768::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;3437:50:108;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;3393:48;;1065:3768;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;3393:48;1065:3768;;-1:-1:-1;;1065:3768:112;;;;;:::i;:::-;;;;-1:-1:-1;1065:3768:112;;;;:::o;:::-;;;:::o;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;:::-;3900:253;:::o;4204:165:112:-;-1:-1:-1;;;;;1065:3768:112;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;14296:213:69:-;1065:3768:112;14374:24:69;;;;14370:103;;1065:3768:112;14296:213:69;:::o;14370:103::-;1065:3768:112;;;;14421:41:69;;;;;;14452:2;14421:41;;;1065:3768:112;;;;;14421:41:69;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;:::o;:::-;;9999:1:71;1065:3768:112;;;;;;;:::o;9584:606:71:-;2166:13:112;;1065:3768;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;:::-;2166:13:112;9702:17:71;14439:109;;;1065:3768:112;;;9584:606:71;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;9702:17;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;1065:3768:112;;;;;;;2166:13;9702:17:71;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;1065:3768:112;;;;;;;;;;;;;7178:12:94;1065:3768:112;;;;;;7178:12:94;-1:-1:-1;1065:3768:112;;;;-1:-1:-1;1065:3768:112;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;1065:3768:112;:::o;10580:184:94:-;2599:13:112;1065:3768;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;1065:3768:112;;;;;;10736:12:94;-1:-1:-1;1065:3768:112;;;;10580:184:94;:::o;10726:31::-;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1065:3768:112;;;;;;;;2599:13;-1:-1:-1;14439:109:71;;;1065:3768:112;;;10446:63:71;;7855:367:25;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;-1:-1:-1;;;;;;1065:3768:112;;;;;;;8190:24:25;;1065:3768:112;;;;;;;;;8089:48:25;;-1:-1:-1;8089:48:25;4541:15:112;1065:3768;;;-1:-1:-1;1065:3768:112;10689:20:94;;;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;:17;:12;;:17;:::i;:::-;1065:3768:112;;;;;;10726:31:94;8190:24:25;:::i;10726:31:94:-;;;-1:-1:-1;10726:31:94;8190:24:25;:::i;1065:3768:112:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;10310:206:71;1065:3768:112;;10446:8:71;;;:63;;10405:17;10310:206;:::o;10446:63::-;1065:3768:112;;;;;;;;;;10405:17:71;14439:109;;10405:17;14439:109;;;1065:3768:112;;;10310:206:71;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;1065:3768:112;;;4221:92:31;;;;1065:3768:112;2073:95:31;1065:3768:112;;;2073:95:31;;1065:3768:112;2073:95:31;;;1065:3768:112;4284:13:31;2073:95;;;1065:3768:112;4307:4:31;2073:95;;;1065:3768:112;2073:95:31;4221:92;;2073:95;1065:3768:112;;;;;;;;;;;;3445:249:65;1065:3768:112;3445:249:65;1065:3768: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;;;;;1065:3768:112;;-1:-1:-1;1065:3768:112;;;972:64:29;1065:3768:112;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;1065:3768:112;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;1065:3768:112;;;;2270:35:29;;;1065:3768:112;;;;;;;;;;5129:48:25;2323:83:50;1019:819;;;;;;;4713:19:112;;1019:819:50;;;;;;;;;;;;;;;;4421:582:56;;4593:8;;-1:-1:-1;1065:3768:112;;5674:21:56;:17;;5799:158;;;;;;5670:354;1065:3768:112;;-1:-1:-1;;;5994:19:56;;;;;4589:408;1065:3768:112;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1065:3768:112;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;1065:3768:112;;;4917:24:56;;;1065:3768:112;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;8998:846:25;-1:-1:-1;;;;;1065:3768:112;;;;8998:846:25;;1065:3768: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;:::-;1065:3768:112;;;-1:-1:-1;;;;;1065:3768: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;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;;;9448:46:25;8310:38:71;9448:46:25;8310:38:71;;;;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;1065:3768: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;1065:3768:112;18246:1:68;1065:3768:112;22284:6:68;;;;:::i;:::-;1065:3768: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;;;1065:3768:112;23216:28:68;1065:3768:112;;18080:5181:68;:::o;19887:61::-;18246:1;1065:3768:112;19887:61:68;;19787:87;1065:3768:112;;;;;19787:87:68;;;19687;1065:3768:112;;;;;19687:87:68;;;19585:89;1065:3768:112;;;;;19585:89:68;;;19482:90;1065:3768:112;;;;;19482:90:68;;;19379;1065:3768:112;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1065:3768:112;-1:-1:-1;1065:3768:112;;;;19274:92:68;;12929:433:71;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1065:3768:112;14439:109:71;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;7084:141:26;1065:3768:112;8837:64:26;1065:3768:112;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;1065:3768:112;;-1:-1:-1;;;7191:17:26;;;;;1065:3768:112;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;3393:48;;;1065:3768;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:1551:63;;;6283:66;6270:79;;6266:164;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;6541:24:63;;;;;;;;;-1:-1:-1;6541:24:63;-1:-1:-1;;;;;1065:3768: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;6541:24::-;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;6266:164:63;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;1065:3768:112:-;;-1:-1:-1;1065:3768:112;;;:::o;:::-;;;;;;;;;;;;7280:532:63;1065:3768:112;;;:::i;:::-;7366:29:63;;;7411:7;;:::o;7362:444::-;1065:3768:112;;;:::i;:::-;7471:29:63;7462:38;;7471:29;;1065:3768:112;;-1:-1:-1;;;7523:23:63;;;;;7458:348;1065:3768:112;;;:::i;:::-;7576:35:63;7567:44;;7576:35;;1065:3768:112;;-1:-1:-1;;;7634:46:63;;;;;1065:3768:112;;;;;5129:48:25;7563:243:63;1065:3768:112;;7710:30:63;1065:3768:112;;:::i;:::-;7701:39:63;7697:109;;7563:243;7280:532::o;7697:109::-;1065:3768:112;;-1:-1:-1;;;7763:32:63;;;;;1065:3768:112;;;;;;5129:48:25;4174:218:69;-1:-1:-1;;;;;1065:3768:112;4254:25:69;;;4250:105;;1065:3768:112;4174:218:69;:::o;4250:105::-;1065:3768:112;;;;14421:41:69;;;;4302:42;;4333:3;4302:42;;;1065:3768:112;;;;;4302:42:69;10473:273:25;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;8310:38:71;;;:::i;:::-;10686:53:25;;10473:273::o;7058:687:31:-;1065:3768:112;;:::i;:::-;;;;7230:22:31;;;;1065:3768:112;;7275:22:31;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;1065:3768:112;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;1065:3768:112;;:::i;:::-;;;;8147:25:31;;;;1065:3768:112;;8195:25:31;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;1065:3768:112;8541:18:31;;;;8579:20;:::o;1065:3768:112:-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;1065:3768:112;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1065:3768:112;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1065:3768:112;;;;;;;;;;;;;;;;;12285:19:71;1065:3768:112;;12423:25:71;;:::o;12247:163::-;1065:3768:112;;;12343:52:71;1065:3768:112;12353:41:71;1065:3768:112;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1065:3768:112;;12353:41:71;;;1065:3768:112;12343:52:71;:::i;:::-;12247:163;;12099:89;1065:3768:112;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1065:3768:112;;12479:52:71;1065:3768:112;12489:41:71;1065:3768:112;;:::i;12489:41:71:-;-1:-1:-1;;;;;1065:3768:112;;12489:41:71;;;1065:3768:112;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72774":[{"start":1188,"length":32},{"start":7378,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultVotes_init()":"4f4e823d","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","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","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","nonces(address)":"7ecebe00","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","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\":\"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\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":\"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\"},{\"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\":\"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\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[{\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"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\":\"result\",\"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.\"}],\"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.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"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.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"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.\"},\"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\"}}},\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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/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/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/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/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\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"InvalidOrigin"},{"inputs":[],"type":"error","name":"NotInitializing"},{"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":"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":[],"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":"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":"nonpayable","type":"function","name":"_VaultVotes_init"},{"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":[{"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"result","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":"result","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"},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"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."},"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"}}},"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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/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/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/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/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":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file +{"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":"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":"_VaultVotes_init","inputs":[],"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":"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":"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":"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":"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":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","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":"result","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":"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":"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":"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":"InvalidOrigin","inputs":[]},{"type":"error","name":"NotInitializing","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":"0x60a034606d57601f61271438819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161268e908161008682396080518181816104670152611cd20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608060405260043610611cc8575f3560e01c80631415519b1461035b5780631b66c9e1146103565780631e9a69501461035157806323b872dd1461034c5780632749f9c41461034757806327810b6e146103425780632fa27fae1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f57806350861adc1461031a578063587cde1e146103155780635a36aa74146103105780635c19a95c1461030b5780635cc070761461030657806361819dd814610301578063653b04cd146102fc5780636e0f2455146102f75780636ec1e3f8146102f2578063794b15b7146102ed5780637ecebe00146102e857806384b0196e146102e35780638e539e8c146102de57806391ddadf4146102d957806398ccba4a146102d45780639ab24eb0146102cf5780639b4bae3e146102ca5780639f86fd85146102c55780639f9962dd146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bba6ff4a14610293578063bc46f7221461028e578063c1bc6f5114610289578063c3cda52014610284578063c4db46fc1461027f578063cc52aee71461027a578063ce9b793014610275578063d8dfeb4514610270578063db3887151461026b578063e945da7f14610266578063ecc98f0514610261578063ecf708581461025c5763f3fef3a303611cc85761141a565b6113fd565b6113df565b6113c2565b611388565b61135d565b611335565b61130d565b6112f0565b611222565b6111fa565b6111c0565b6111a3565b61117b565b611151565b6110d4565b6110ac565b61105e565b611015565b610fdb565b610fb7565b610f8f565b610ef1565b610ed4565b610e98565b610e7b565b610e50565b610dae565b610cde565b610c01565b610bc4565b610b67565b610b42565b610b08565b610ace565b610aa4565b610a82565b610a5a565b610a15565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b61058e565b610566565b610549565b6104b8565b6103ff565b610399565b34610395575f3660031901126103955760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b5f80fd5b34610395575f3660031901126103955760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b600435906001600160a01b038216820361039557565b602435906001600160a01b038216820361039557565b34610395576040366003190112610395576104a361046561049a61048b6104246103d3565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610395576060366003190112610395576104b46104d46103d3565b6105376104df6103e9565b604435906105316105226040516323b872dd60e01b602082015260018060a01b038088166024830152841660448201528460648201526064815261046581611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610395575f366003190112610395576020601454604051908152f35b34610395575f366003190112610395576001546040516001600160a01b039091168152602090f35b34610395575f36600319011261039557602060015460d01c604051908152f35b34610395575f3660031901126103955760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610395576040366003190112610395576106016103d3565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610b8c565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104b45f5b6040516001600160d01b0390911681529081906020820190565b6106826104b4926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b34610395576040366003190112610395576107236103d3565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526107619061048b906104658160648101610457565b916001600160d01b03610772611892565b1161078157826104a391611608565b604051630a84eab560e11b8152600490fd5b34610395575f36600319011261039557602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610395575f366003190112610395576104b46040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610395575f36600319011261039557604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610395575f36600319011261039557602060ff60025460a01c166040519015158152f35b346103955760203660031901126103955760206001600160a01b0380610a396103d3565b165f525f805160206125f9833981519152825260405f205416604051908152f35b34610395575f36600319011261039557602065ffffffffffff60135460301c16604051908152f35b346103955760203660031901126103955761094a610a9e6103d3565b3361191e565b34610395576020366003190112610395576004355f526006602052602060405f2054604051908152f35b34610395575f3660031901126103955760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610395575f3660031901126103955760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610395575f36600319011261039557602065ffffffffffff60135416604051908152f35b34610395575f36600319011261039557602060ff60035460a01c166040519015158152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610395576020366003190112610395576001600160a01b03610be56103d3565b165f526005602052602060ff60405f2054166040519015158152f35b34610395576020366003190112610395576001600160a01b03610c226103d3565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610c8c90949194600f60f81b8452610c7e60209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610cca575050505090565b835185529381019392810192600101610cbc565b34610395575f366003190112610395577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610d85575b15610d4857610d24611a03565b610d2c611ad6565b906104b4610d38611529565b6040519384933091469186610c58565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d17565b3461039557602036600319011261039557600435610dcb4261169b565b65ffffffffffff8116821015610e2957610dec610de78361169b565b6116fd565b6001600160d01b03811615610e1f57610e076104b491611843565b90549060031b1c5b6040519081529081906020820190565b506104b45f610e0f565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610395575f366003190112610395576020610e6b4261169b565b65ffffffffffff60405191168152f35b34610395575f366003190112610395576020601254604051908152f35b346103955760203660031901126103955760206001600160d01b03610ecb610ec6610ec16103d3565b610b8c565b611b82565b16604051908152f35b34610395575f366003190112610395576020601154604051908152f35b3461039557604036600319011261039557610f0a6103d3565b60243567ffffffffffffffff9182821161039557366023830112156103955781600401359283116103955736602484840101116103955760245f9392838594604051938493018337810184815203915af4610f87610f66611550565b916104576040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610395575f36600319011261039557602065ffffffffffff60015460a01c16604051908152f35b34610395575f36600319011261039557602060ff5f5460081c166040519015158152f35b34610395575f3660031901126103955760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103955760403660031901126103955760206110556110336103e9565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039557604036600319011261039557602060ff6110a061107e6103e9565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610395575f366003190112610395576016546040516001600160a01b039091168152602090f35b346103955760403660031901126103955760206110ef6103d3565b60405163a9059cbb60e01b838201526001600160a01b03821660248281019190915235604482018190526111479161114090611132906104658160648101610457565b858082518301019101611502565b923361165e565b6040519015158152f35b34610395576020366003190112610395576004355f526007602052602060405f2054604051908152f35b34610395575f366003190112610395576003546040516001600160a01b039091168152602090f35b34610395575f366003190112610395576020600f54604051908152f35b34610395575f3660031901126103955760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610395575f36600319011261039557602065ffffffffffff60135460901c16604051908152f35b346103955760c03660031901126103955761123b6103d3565b6044359060243560643560ff81168103610395578342116112d7576112cb61094a946112d2926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112b382611492565b6112c660a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610395575f366003190112610395576020601054604051908152f35b34610395575f36600319011261039557602065ffffffffffff60135460601c16604051908152f35b34610395575f366003190112610395576002546040516001600160a01b039091168152602090f35b34610395575f366003190112610395575f5460405160109190911c6001600160a01b03168152602090f35b34610395575f3660031901126103955760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610395575f366003190112610395576020601554604051908152f35b34610395575f366003190112610395576020604051633b9aca008152f35b34610395575f366003190112610395576020600454604051908152f35b346103955760403660031901126103955761147361048b61045761046561143f6103d3565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104a381336115af565b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610395576020825192015190565b90816020910312610395575180151581036103955790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610b8c565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610b8c565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220fbea7424b5f16164cce9b4c6ce6b06ae14be783d635b9e97941ea655edae69e864736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;1403:40;;1065:3768;;;;;;;;1403:40;1065:3768;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;1065:3768:112","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611cc8575f3560e01c80631415519b1461035b5780631b66c9e1146103565780631e9a69501461035157806323b872dd1461034c5780632749f9c41461034757806327810b6e146103425780632fa27fae1461033d57806331d9736c146103385780633a46b1a81461033357806347e7ef241461032e57806348d3b775146103295780634bf5d7e9146103245780634f4e823d1461031f57806350861adc1461031a578063587cde1e146103155780635a36aa74146103105780635c19a95c1461030b5780635cc070761461030657806361819dd814610301578063653b04cd146102fc5780636e0f2455146102f75780636ec1e3f8146102f2578063794b15b7146102ed5780637ecebe00146102e857806384b0196e146102e35780638e539e8c146102de57806391ddadf4146102d957806398ccba4a146102d45780639ab24eb0146102cf5780639b4bae3e146102ca5780639f86fd85146102c55780639f9962dd146102c0578063a1b12202146102bb578063a21a1df9146102b6578063a3b54172146102b1578063a5d03223146102ac578063a8b24f9a146102a7578063a9059cbb146102a2578063afba70ad1461029d578063b134427114610298578063bba6ff4a14610293578063bc46f7221461028e578063c1bc6f5114610289578063c3cda52014610284578063c4db46fc1461027f578063cc52aee71461027a578063ce9b793014610275578063d8dfeb4514610270578063db3887151461026b578063e945da7f14610266578063ecc98f0514610261578063ecf708581461025c5763f3fef3a303611cc85761141a565b6113fd565b6113df565b6113c2565b611388565b61135d565b611335565b61130d565b6112f0565b611222565b6111fa565b6111c0565b6111a3565b61117b565b611151565b6110d4565b6110ac565b61105e565b611015565b610fdb565b610fb7565b610f8f565b610ef1565b610ed4565b610e98565b610e7b565b610e50565b610dae565b610cde565b610c01565b610bc4565b610b67565b610b42565b610b08565b610ace565b610aa4565b610a82565b610a5a565b610a15565b6109f0565b610826565b6107d8565b610793565b61070a565b6105e8565b6105ae565b61058e565b610566565b610549565b6104b8565b6103ff565b610399565b34610395575f3660031901126103955760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b5f80fd5b34610395575f3660031901126103955760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b600435906001600160a01b038216820361039557565b602435906001600160a01b038216820361039557565b34610395576040366003190112610395576104a361046561049a61048b6104246103d3565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826114ca565b7f000000000000000000000000000000000000000000000000000000000000000061158f565b602080825183010191016114ec565b929091336115af565b604080519182526020820192909252f35b0390f35b34610395576060366003190112610395576104b46104d46103d3565b6105376104df6103e9565b604435906105316105226040516323b872dd60e01b602082015260018060a01b038088166024830152841660448201528460648201526064815261046581611492565b60208082518301019101611502565b9361165e565b60405190151581529081906020820190565b34610395575f366003190112610395576020601454604051908152f35b34610395575f366003190112610395576001546040516001600160a01b039091168152602090f35b34610395575f36600319011261039557602060015460d01c604051908152f35b34610395575f3660031901126103955760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b34610395576040366003190112610395576106016103d3565b6024359061060e4261169b565b9065ffffffffffff918281168410156106e1575061062e61063491610b8c565b9261169b565b8254905f908260058111610693575b5061064f935084611fe4565b90816106765750506104b45f5b6040516001600160d01b0390911681529081906020820190565b6106826104b4926116e1565b905f5260205f20015460301c61065c565b909261069e82611eb9565b82039182116106dc5761064f94865f52808360205f20015416908516105f146106ca5750915b5f610643565b9291506106d6906116ef565b906106c4565b6116cd565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b34610395576040366003190112610395576107236103d3565b6040516311f9fbc960e21b60208201526001600160a01b0382166024808301919091523560448201526107619061048b906104658160648101610457565b916001600160d01b03610772611892565b1161078157826104a391611608565b604051630a84eab560e11b8152600490fd5b34610395575f36600319011261039557602060ff5f54166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610395575f366003190112610395576104b46040516107f7816114ae565b600e81526d06d6f64653d74696d657374616d760941b60208201526040519182916020835260208301906107b4565b34610395575f36600319011261039557604051610842816114ae565b600a8152602090695661756c74566f74657360b01b602082015260405190610869826114ae565b60019260018352603160f81b6020840152610882612043565b61088a612043565b81519067ffffffffffffffff82116109eb575f80516020612619833981519152926108be836108b986546119cb565b612084565b602091601f841160011461095757506108fa95506108f392915f918361094c575b50508160011b915f199060031b1c19161790565b9055612176565b6109225f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61094a5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f806108df565b5f805160206126198339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b8383106109d457505050958392916001946108fa98106109bc575b505050811b019055612176565b01515f1960f88460031b161c191690555f80806109af565b848a01518655988101989485019491810191610994565b61147e565b34610395575f36600319011261039557602060ff60025460a01c166040519015158152f35b346103955760203660031901126103955760206001600160a01b0380610a396103d3565b165f525f805160206125f9833981519152825260405f205416604051908152f35b34610395575f36600319011261039557602065ffffffffffff60135460301c16604051908152f35b346103955760203660031901126103955761094a610a9e6103d3565b3361191e565b34610395576020366003190112610395576004355f526006602052602060405f2054604051908152f35b34610395575f3660031901126103955760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610395575f3660031901126103955760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610395575f36600319011261039557602065ffffffffffff60135416604051908152f35b34610395575f36600319011261039557602060ff60035460a01c166040519015158152f35b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610395576020366003190112610395576001600160a01b03610be56103d3565b165f526005602052602060ff60405f2054166040519015158152f35b34610395576020366003190112610395576001600160a01b03610c226103d3565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b91610c8c90949194600f60f81b8452610c7e60209660e0602087015260e08601906107b4565b9084820360408601526107b4565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110610cca575050505090565b835185529381019392810192600101610cbc565b34610395575f366003190112610395577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580610d85575b15610d4857610d24611a03565b610d2c611ad6565b906104b4610d38611529565b6040519384933091469186610c58565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015415610d17565b3461039557602036600319011261039557600435610dcb4261169b565b65ffffffffffff8116821015610e2957610dec610de78361169b565b6116fd565b6001600160d01b03811615610e1f57610e076104b491611843565b90549060031b1c5b6040519081529081906020820190565b506104b45f610e0f565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610395575f366003190112610395576020610e6b4261169b565b65ffffffffffff60405191168152f35b34610395575f366003190112610395576020601254604051908152f35b346103955760203660031901126103955760206001600160d01b03610ecb610ec6610ec16103d3565b610b8c565b611b82565b16604051908152f35b34610395575f366003190112610395576020601154604051908152f35b3461039557604036600319011261039557610f0a6103d3565b60243567ffffffffffffffff9182821161039557366023830112156103955781600401359283116103955736602484840101116103955760245f9392838594604051938493018337810184815203915af4610f87610f66611550565b916104576040519384921515602084015260408084015260608301906107b4565b805190602001fd5b34610395575f36600319011261039557602065ffffffffffff60015460a01c16604051908152f35b34610395575f36600319011261039557602060ff5f5460081c166040519015158152f35b34610395575f3660031901126103955760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103955760403660031901126103955760206110556110336103e9565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461039557604036600319011261039557602060ff6110a061107e6103e9565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610395575f366003190112610395576016546040516001600160a01b039091168152602090f35b346103955760403660031901126103955760206110ef6103d3565b60405163a9059cbb60e01b838201526001600160a01b03821660248281019190915235604482018190526111479161114090611132906104658160648101610457565b858082518301019101611502565b923361165e565b6040519015158152f35b34610395576020366003190112610395576004355f526007602052602060405f2054604051908152f35b34610395575f366003190112610395576003546040516001600160a01b039091168152602090f35b34610395575f366003190112610395576020600f54604051908152f35b34610395575f3660031901126103955760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610395575f36600319011261039557602065ffffffffffff60135460901c16604051908152f35b346103955760c03660031901126103955761123b6103d3565b6044359060243560643560ff81168103610395578342116112d7576112cb61094a946112d2926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526112b382611492565b6112c660a4359360843593519020611baa565b611c3a565b9182611c52565b61191e565b604051632341d78760e11b815260048101859052602490fd5b34610395575f366003190112610395576020601054604051908152f35b34610395575f36600319011261039557602065ffffffffffff60135460601c16604051908152f35b34610395575f366003190112610395576002546040516001600160a01b039091168152602090f35b34610395575f366003190112610395575f5460405160109190911c6001600160a01b03168152602090f35b34610395575f3660031901126103955760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610395575f366003190112610395576020601554604051908152f35b34610395575f366003190112610395576020604051633b9aca008152f35b34610395575f366003190112610395576020600454604051908152f35b346103955760403660031901126103955761147361048b61045761046561143f6103d3565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b906104a381336115af565b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176109eb57604052565b6040810190811067ffffffffffffffff8211176109eb57604052565b90601f8019910116810190811067ffffffffffffffff8211176109eb57604052565b9190826040910312610395576020825192015190565b90816020910312610395575180151581036103955790565b60405190611527826114ae565b565b6040516020810181811067ffffffffffffffff8211176109eb576040525f8152905f368137565b3d1561158a573d9067ffffffffffffffff82116109eb576040519161157f601f8201601f1916602001846114ca565b82523d5f602084013e565b606090565b5f806115ac93602081519101845af46115a6611550565b91611d04565b90565b6001600160a01b039081165f9081525f805160206125f983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f9745461152793929081169116611d67565b5f805160206125f98339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f908152604090205461152793929081169116611d67565b6001600160a01b039081165f9081525f805160206125f9833981519152602052604080822054938316825290205461152793929082169116611d67565b65ffffffffffff908181116116ae571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116106dc57565b90600182018092116106dc57565b600a8054915f9280600581116117c8575b5092905b83821061175c575050508061172657505f90565b61172f906116e1565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146117b65750925b9190611712565b9392506117c2906116ef565b916117af565b906117d282611eb9565b82039182116106dc57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461181e57505b5f61170e565b9350611829906116ef565b92611818565b634e487b7160e01b5f52603260045260245ffd5b600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b61182f565b8054821015611878575f5260205f2001905f90565b600a54806118e557505f5b6001600160d01b038116156118e057600b5481101561187857600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f198101116106dc57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61189d565b6001600160a01b039081165f8181525f805160206125f98339815191526020526040812080548585166001600160a01b031982168117909255611527959416939290918491907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a4600e60205260405f2061199a81611b82565b6001600160d01b038116156119c25760016119b5920161187d565b90549060031b1c91611d67565b50505f91611d67565b90600182811c921680156119f9575b60208310146119e557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916119da565b604051905f825f8051602061261983398151915291825492611a24846119cb565b80845293602091600191828116908115611ab05750600114611a50575b505050611527925003836114ca565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611a9857506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611a7c565b925050506020925061152794915060ff191682840152151560051b8201015f8080611a41565b604051905f825f8051602061263983398151915291825492611af7846119cb565b80845293602091600191828116908115611ab05750600114611b2257505050611527925003836114ca565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611b6a57506115279450505081016020015f8080611a41565b85548885018301529485019487945092810192611b4e565b805480611b8f5750505f90565b5f199181838101116106dc575f5260205f2001015460301c90565b611bb2612411565b611bba61247b565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c083019183831067ffffffffffffffff8411176109eb5760429360e291846040528151902061190160f01b855260c282015201522090565b916115ac9391611c4993612270565b9092919261231b565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003611c9d575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611d00573d5ff35b3d5ffd5b90611d2b5750805115611d1957805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611d5e575b611d3c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d34565b6001600160a01b03808316939291908116908185141580611e92575b611d8f575b5050505050565b81611e04575b505082611da4575b8080611d88565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611ddb611dd5611de193610b8c565b916123a8565b906123db565b604080516001600160d01b039384168152919092166020820152a25f8080611d9d565b611e0d90610b8c565b611e16846123a8565b611e1f4261169b565b6001600160d01b03918280611e3386611b82565b1691169003928284116106dc577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611e8892611e6f9261251b565b6040805192851683529316602082015291829190820190565b0390a25f80611d95565b50831515611d83565b8115611ea5570490565b634e487b7160e01b5f52601260045260245ffd5b60018111156115ac57600181600160801b811015611fd2575b611f7a611f70611f66611f5c611f52611f48611f8697600488600160401b611f819a1015611fc5575b640100000000811015611fb8575b62010000811015611fab575b610100811015611f9f575b6010811015611f93575b1015611f8b575b60030260011c611f41818b611e9b565b0160011c90565b611f41818a611e9b565b611f418189611e9b565b611f418188611e9b565b611f418187611e9b565b611f418186611e9b565b8093611e9b565b821190565b900390565b60011b611f31565b811c9160021b91611f2a565b60081c91811b91611f20565b60101c9160081b91611f15565b60201c9160101b91611f09565b60401c9160201b91611efb565b50600160401b9050608082901c611ed2565b91905b838210611ff45750505090565b9091928083169080841860011c82018092116106dc57845f5265ffffffffffff808360205f20015416908416105f146120315750925b9190611fe7565b93925061203d906116ef565b9161202a565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561207257565b604051631afcd79f60e31b8152600490fd5b601f8111612090575050565b5f805160206126198339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106120f3575b601f0160051c01905b8181106120e8575050565b5f81556001016120dd565b90915081906120d4565b601f8111612109575050565b5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c8301931061216c575b601f0160051c01905b818110612161575050565b5f8155600101612156565b909150819061214d565b90815167ffffffffffffffff81116109eb575f80516020612639833981519152906121aa816121a584546119cb565b6120fd565b602080601f83116001146121df575081906121db9394955f9261094c5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561221d5f805160206126398339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b88821061225857505083600195969710612240575b505050811b019055565b01515f1960f88460031b161c191690555f8080612236565b80600185968294968601518155019501930190612221565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116122f2579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156122e7575f516001600160a01b038116156122dd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b6004111561230757565b634e487b7160e01b5f52602160045260245ffd5b612324816122fd565b8061232d575050565b612336816122fd565b600181036123505760405163f645eedf60e01b8152600490fd5b612359816122fd565b6002810361237a5760405163fce698f760e01b815260048101839052602490fd5b806123866003926122fd565b1461238e5750565b6040516335e2f38360e21b81526004810191909152602490fd5b6001600160d01b03908181116123bc571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906123e54261169b565b6001600160d01b039182806123f986611b82565b169116019182116106dc5761240d9261251b565b9091565b612419611a03565b8051908115612429576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1005480156124565790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612483611ad6565b8051908115612493576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1015480156124565790565b8054600160401b8110156109eb576124dd9160018201815561187d565b61250857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156125ce5761253261253d916116e1565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116125bc57879303612583575061257c92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506125b7916125a361259561151a565b65ffffffffffff9093168352565b6001600160d01b03861660208301526124c0565b61257c565b604051632520601d60e01b8152600490fd5b50906125f3916125df61259561151a565b6001600160d01b03851660208301526124c0565b5f919056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a2646970667358221220fbea7424b5f16164cce9b4c6ce6b06ae14be783d635b9e97941ea655edae69e864736f6c63430008190033","sourceMap":"1065:3768:112:-:0;;;;;;2603:64:50;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;1065:3768: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;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;757:38:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;612:37:108;1065:3768:112;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;3540:6;3393:48;3328:156;3352:90;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;3393:48;;;-1:-1:-1;;;;;1065:3768:112;;;;3393:48;;;1065:3768;;;;;;;;;;;;;;;;3393:48;;;;;;;;;;:::i;:::-;3352:19;:90;:::i;:::-;1065:3768;;;;3328:156;;;;;;:::i;:::-;3516:10;;;;3540:6;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;4133:5;1065:3768;;:::i;:::-;;;;3953:138;3977:96;1065:3768;;4018:54;;;1065:3768;4018:54;;;1065:3768;;;;;;;;;4018:54;;1065:3768;;;;;;;;;;;;;4018:54;;;;;:::i;3977:96::-;1065:3768;;;;3953:138;;;;;;:::i;:::-;4133:5;;:::i;:::-;1065:3768;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4177:34:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2077:28:108;1065:3768:112;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1329:40:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;837:15:73;819:34;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;1065:3768:112;;9737:15:71;-1:-1:-1;9762:18:71;;9801:1;9795:7;;9791:234;;1065:3768:112;10049:53:71;;;;;;:::i;:::-;10120:63;:8;;;:63;;1065:3768:112;-1:-1:-1;10120:63:71;1065:3768:112;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;10120:63:71;10168:7;1065:3768:112;10168:7:71;;:::i;:::-;14439:109;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;1065:3768:112;;;10120:63:71;;9791:234;9838:14;;;;;:::i;:::-;1065:3768:112;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;1065:3768:112;;:::i;5073:115:25:-;1065:3768:112;;-1:-1:-1;;;5129:48:25;;1065:3768:112;5129:48:25;;1065:3768:112;;;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2489:52;;;-1:-1:-1;;;;;1065:3768:112;;;2489:52;;;1065:3768;;;;;;;;;2424:160;;2448:94;;2489:52;1065:3768;;;;2489:52;1065:3768;2424:160;1065:3768;-1:-1:-1;;;;;2599:22:112;;:::i;:::-;:42;2595:100;;2750:12;;;;:::i;2595:100::-;1065:3768;;-1:-1:-1;;;2664:20:112;;1065:3768;;2664:20;1065:3768;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;-1:-1:-1;;1065:3768:112;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;1065:3768:112;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1065:3768:112;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;1065:3768:112;2806:64:31;1065:3768:112;;3875:17:31;3902:20;1065:3768:112;3902:16:31;1065:3768:112;;3902:20:31;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;3393:48;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2241:34:108;1065:3768:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;1065:3768:112;;;:::i;:::-;;-1:-1:-1;1065:3768:112;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3909:32:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;7028:9:25;1065:3768:112;;:::i;:::-;966:10:28;7028:9:25;:::i;1065:3768:112:-;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2704:59:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1041:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1564:45:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3817:36:108;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;2409:32:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;5204:22:25;1065:3768:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;2580:68:108;1065:3768:112;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;:::i;:::-;;-1:-1:-1;1065:3768:112;972:64:29;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2806:64:31;1065:3768:112;5777:18:31;:43;;;1065:3768:112;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;1065:3768:112;6043:16:31;;:::i;:::-;1065:3768:112;;6000:4:31;;;;5965:13;;1065:3768:112;;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;5777:43:31;1065:3768:112;5799:16:31;1065:3768:112;5799:21:31;5777:43;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;2039:29;;;2035:115;;7117:34:94;2198:28:112;;;:::i;:::-;7117:34:94;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;7168:7:94;1065:3768:112;;7178:17:94;1065:3768:112;7178:17:94;;:::i;:::-;1065:3768:112;;;;;;7168:31:94;1065:3768:112;;;;;;;;;;;;;7168:31:94;;1065:3768:112;-1:-1:-1;7168:31:94;;2035:115:112;1065:3768;;-1:-1:-1;;;2091:48:112;;1065:3768;2091:48;;1065:3768;;;;;;;;;;;;5129:48:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;819:34:73;837:15;819:34;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3719:42:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;-1:-1:-1;;;;;4439:40:25;:31;1065:3768:112;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3625:38:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;1065:3768:112;;;;;;;;;;477:31:86;;1065:3768:112;;;;;;;;;;;:::i;477:31:86:-;518:79;;;1065:3768:112;518:79:86;;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;;1989:32:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;900:35:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;2939:94:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;2939:94:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;2939:94:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3089:92:108;1065:3768:112;;:::i;:::-;;;-1:-1:-1;1065:3768:112;3089:92:108;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;3089:92:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;4350:31:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;:::i;:::-;;;-1:-1:-1;;;3719:44:112;;;;-1:-1:-1;;;;;1065:3768:112;;;3719:44;;;1065:3768;;;;;;;;;;;3821:5;;3667:106;;3678:86;;3719:44;1065:3768;;;;3719:44;1065:3768;3678:86;1065:3768;;;;3667:106;;;;;;:::i;:::-;3805:10;;3821:5;:::i;:::-;1065:3768;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;2819:64:108;1065:3768:112;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2331:22:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;3423:43:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1183:36:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;4089:32:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;7310:15:25;;:24;7306:91;;7423:168;7660:9;1065:3768:112;7626:5:25;1065:3768:112;;;7477:57:25;1065:3768:112;7477:57:25;;1065:3768:112;2345:71:25;1065:3768:112;;;;;;;;;;2345:71:25;;1065:3768:112;2345:71:25;1065:3768:112;2345:71:25;;1065:3768:112;;2345:71:25;;1065:3768:112;;7477:57:25;;;;;:::i;:::-;7450:86;1065:3768:112;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;1065:3768:112;;-1:-1:-1;;;7357:29:25;;1065:3768:112;7357:29:25;;1065:3768:112;;;;;7357:29:25;1065:3768:112;;;;;;-1:-1:-1;;1065:3768:112;;;;;3522:47:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;3997:36:108;1065:3768:112;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2161:24:108;1065:3768:112;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;466:39:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;4267:27:108;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;1466:3:108;1065:3768:112;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;2930:158;2954:92;2995:50;;1065:3768;;:::i;:::-;;;-1:-1:-1;;;1065:3768:112;2995:50;;;-1:-1:-1;;;;;1065:3768:112;;;;2995:50;;;1065:3768;;;;;;;;;;;;;;;;;2930:158;3120:10;3144:12;3120:10;;3144:12;:::i;1065:3768::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;3393:48;;1065:3768;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;3393:48;1065:3768;;-1:-1:-1;;1065:3768:112;;;;;:::i;:::-;;;;-1:-1:-1;1065:3768:112;;;;:::o;:::-;;;:::o;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;:::-;3900:253;:::o;4204:165:112:-;-1:-1:-1;;;;;1065:3768:112;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;-1:-1:-1;;;;;1065:3768:112;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;4204:165::-;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;4355:6;;4204:165;1065:3768;;;;;4355:6;:::i;14296:213:69:-;1065:3768:112;14374:24:69;;;;14370:103;;1065:3768:112;14296:213:69;:::o;14370:103::-;1065:3768:112;;;;14421:41:69;;;;;;14452:2;14421:41;;;1065:3768:112;;;;;14421:41:69;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;:::o;:::-;;9999:1:71;1065:3768:112;;;;;;;:::o;9584:606:71:-;2166:13:112;;1065:3768;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;:::-;2166:13:112;9702:17:71;14439:109;;;1065:3768:112;;;9584:606:71;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;9702:17;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;1065:3768:112;;;;;;;2166:13;9702:17:71;14439:109;1065:3768:112;14439:109:71;;;;1065:3768:112;;;;;9870:48:71;9866:149;1065:3768:112;;;9938:10:71;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;1065:3768:112;;;;;;;;;;;;;7178:12:94;1065:3768:112;;;;;;7178:12:94;-1:-1:-1;1065:3768:112;;;;-1:-1:-1;1065:3768:112;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;1065:3768:112;:::o;10580:184:94:-;2599:13:112;1065:3768;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;1065:3768:112;;;;;;10736:12:94;-1:-1:-1;1065:3768:112;;;;10580:184:94;:::o;10726:31::-;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1065:3768:112;;;;;;;;2599:13;-1:-1:-1;14439:109:71;;;1065:3768:112;;;10446:63:71;;7855:367:25;-1:-1:-1;;;;;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;-1:-1:-1;;;;;;1065:3768:112;;;;;;;8190:24:25;;1065:3768:112;;;;;;;;;8089:48:25;;-1:-1:-1;8089:48:25;4541:15:112;1065:3768;;;-1:-1:-1;1065:3768:112;10689:20:94;;;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;10726:7:94;1065:3768:112;;10736:12:94;:17;:12;;:17;:::i;:::-;1065:3768:112;;;;;;10726:31:94;8190:24:25;:::i;10726:31:94:-;;;-1:-1:-1;10726:31:94;8190:24:25;:::i;1065:3768:112:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1065:3768:112;;;;;-1:-1:-1;;;1065:3768:112;;;;;;;;-1:-1:-1;1065:3768:112;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;10310:206:71;1065:3768:112;;10446:8:71;;;:63;;10405:17;10310:206;:::o;10446:63::-;1065:3768:112;;;;;;;;;;10405:17:71;14439:109;;10405:17;14439:109;;;1065:3768:112;;;10310:206:71;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;1065:3768:112;;;4221:92:31;;;;1065:3768:112;2073:95:31;1065:3768:112;;;2073:95:31;;1065:3768:112;2073:95:31;;;1065:3768:112;4284:13:31;2073:95;;;1065:3768:112;4307:4:31;2073:95;;;1065:3768:112;2073:95:31;4221:92;;2073:95;1065:3768:112;;;;;;;;;;;;3445:249:65;1065:3768:112;3445:249:65;1065:3768: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;;;;;1065:3768:112;;-1:-1:-1;1065:3768:112;;;972:64:29;1065:3768:112;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;1065:3768:112;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;1065:3768:112;;;;2270:35:29;;;1065:3768:112;;;;;;;;;;5129:48:25;2323:83:50;1019:819;;;;;;;4713:19:112;;1019:819:50;;;;;;;;;;;;;;;;4421:582:56;;4593:8;;-1:-1:-1;1065:3768:112;;5674:21:56;:17;;5799:158;;;;;;5670:354;1065:3768:112;;-1:-1:-1;;;5994:19:56;;;;;4589:408;1065:3768:112;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1065:3768:112;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;1065:3768:112;;;4917:24:56;;;1065:3768:112;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;8998:846:25;-1:-1:-1;;;;;1065:3768:112;;;;8998:846:25;;1065:3768: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;:::-;1065:3768:112;;;-1:-1:-1;;;;;1065:3768: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;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;;;9448:46:25;8310:38:71;9448:46:25;8310:38:71;;;;:::i;:::-;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;1065:3768: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;1065:3768:112;18246:1:68;1065:3768:112;22284:6:68;;;;:::i;:::-;1065:3768: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;;;1065:3768:112;23216:28:68;1065:3768:112;;18080:5181:68;:::o;19887:61::-;18246:1;1065:3768:112;19887:61:68;;19787:87;1065:3768:112;;;;;19787:87:68;;;19687;1065:3768:112;;;;;19687:87:68;;;19585:89;1065:3768:112;;;;;19585:89:68;;;19482:90;1065:3768:112;;;;;19482:90:68;;;19379;1065:3768:112;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1065:3768:112;-1:-1:-1;1065:3768:112;;;;19274:92:68;;12929:433:71;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;1065:3768:112;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1065:3768:112;14439:109:71;;;-1:-1:-1;14439:109:71;;1065:3768:112;;;;;-1:-1:-1;13189:136:71;1065:3768:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;7084:141:26;1065:3768:112;8837:64:26;1065:3768:112;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;1065:3768:112;;-1:-1:-1;;;7191:17:26;;;;;1065:3768:112;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1065:3768:112;;;;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;3393:48;;;1065:3768;;;;-1:-1:-1;;;;;;;;;;;1065:3768:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:1551:63;;;6283:66;6270:79;;6266:164;;1065:3768:112;;;;;;-1:-1:-1;1065:3768:112;;;;;;;;;;;;;;;;;;;6541:24:63;;;;;;;;;-1:-1:-1;6541:24:63;-1:-1:-1;;;;;1065:3768: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;6541:24::-;1065:3768:112;;;-1:-1:-1;1065:3768:112;;;;;6266:164:63;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;1065:3768:112:-;;-1:-1:-1;1065:3768:112;;;:::o;:::-;;;;;;;;;;;;7280:532:63;1065:3768:112;;;:::i;:::-;7366:29:63;;;7411:7;;:::o;7362:444::-;1065:3768:112;;;:::i;:::-;7471:29:63;7462:38;;7471:29;;1065:3768:112;;-1:-1:-1;;;7523:23:63;;;;;7458:348;1065:3768:112;;;:::i;:::-;7576:35:63;7567:44;;7576:35;;1065:3768:112;;-1:-1:-1;;;7634:46:63;;;;;1065:3768:112;;;;;5129:48:25;7563:243:63;1065:3768:112;;7710:30:63;1065:3768:112;;:::i;:::-;7701:39:63;7697:109;;7563:243;7280:532::o;7697:109::-;1065:3768:112;;-1:-1:-1;;;7763:32:63;;;;;1065:3768:112;;;;;;5129:48:25;4174:218:69;-1:-1:-1;;;;;1065:3768:112;4254:25:69;;;4250:105;;1065:3768:112;4174:218:69;:::o;4250:105::-;1065:3768:112;;;;14421:41:69;;;;4302:42;;4333:3;4302:42;;;1065:3768:112;;;;;4302:42:69;10473:273:25;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1065:3768:112;;;10716:14:25;;;:::i;:::-;1065:3768:112;;;;;;;;;8310:38:71;;;:::i;:::-;10686:53:25;;10473:273::o;7058:687:31:-;1065:3768:112;;:::i;:::-;;;;7230:22:31;;;;1065:3768:112;;7275:22:31;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;1065:3768:112;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;1065:3768:112;;:::i;:::-;;;;8147:25:31;;;;1065:3768:112;;8195:25:31;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;1065:3768:112;8541:18:31;;;;8579:20;:::o;1065:3768:112:-;;;-1:-1:-1;;;1065:3768:112;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1065:3768:112;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;1065:3768:112;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1065:3768:112;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1065:3768:112;;;;;;;;;;;;;;;;;12285:19:71;1065:3768:112;;12423:25:71;;:::o;12247:163::-;1065:3768:112;;;12343:52:71;1065:3768:112;12353:41:71;1065:3768:112;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1065:3768:112;;12353:41:71;;;1065:3768:112;12343:52:71;:::i;:::-;12247:163;;12099:89;1065:3768:112;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1065:3768:112;;12479:52:71;1065:3768:112;12489:41:71;1065:3768:112;;:::i;12489:41:71:-;-1:-1:-1;;;;;1065:3768:112;;12489:41:71;;;1065:3768:112;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72750":[{"start":1127,"length":32},{"start":7378,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultVotes_init()":"4f4e823d","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","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","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","nonces(address)":"7ecebe00","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","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\":\"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\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":\"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\"},{\"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\":\"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\":\"_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\":[],\"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\":[{\"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\":[{\"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\":[{\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"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\":\"result\",\"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.\"}],\"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.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"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.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"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.\"},\"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\"}}},\"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.\"},\"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.\"},\"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/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/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/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/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\":\"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a\",\"dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a\",\"dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68\",\"dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07\",\"dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw\"]}},\"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":"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":"InvalidOrigin"},{"inputs":[],"type":"error","name":"NotInitializing"},{"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":"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":[],"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":"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":"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":[],"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":[{"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":[{"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":[{"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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"result","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":"result","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"},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"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."},"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"}}},"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."},"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."},"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/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/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/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/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":"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f","urls":["bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a","dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5a0510381d3279ca99973bbac2c3a5b1062f0f65538a8b9afba277de028b5725","urls":["bzz-raw://e8785bbe7f0adcd3b31c28298baec10284803d320705c4244d66eed57757d12a","dweb:/ipfs/QmZpGmH9wc8gYJiYZYHGEXbMFq2mxsupLv3PihG9EDRbz6"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea","urls":["bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68","dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xd7f7836019270bcadff1f7f69a29a602216e38f72e71c5759fca42fb738e88e0","urls":["bzz-raw://8110e5b281dab93922f80270e109c36f288d16e281ff88b6944e31de05a18b07","dweb:/ipfs/QmVzZY45eoUg566F1fJEPu9S3UeW91CVyzoXZwyTnK9ihw"],"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 509dc19..2320d02 100644 --- a/out/v1.1/Vault.sol/Vault.json +++ b/out/v1.1/Vault.sol/Vault.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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"0x60c0346101155761256a906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516124289081610142823960805181818161056601526106d3015260a051816121c00152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036121b6576110bb565b61108e565b611071565b611054565b611036565b611019565b610ffc565b610fc2565b610f97565b610f4b565b610f2e565b610f06565b610ee9565b610eaf565b610e87565b610e5d565b610e35565b610def565b610da2565b610d68565b610d4e565b610d2a565b610c5d565b610bff565b610bcb565b610ba6565b610b7e565b610b3e565b610b16565b610aaf565b610a8a565b610a50565b610a28565b6109ee565b6109c4565b610884565b610852565b61082d565b610805565b6107e4565b610799565b61075f565b610713565b6106be565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ad57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069c575f805160206123d38339815191529081549060ff82871c16801561068e575b61067d579261061e9287959261064f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106195f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105b3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073682610702565b805f525f805160206123b383398151915260205261075a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b681610702565b336001600160a01b038216036107d25761067b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a15761089d6104b7565b6024356108a981610702565b6001600160401b03916044358381116103a1576108ca9036906004016104cd565b5f805160206123d38339815191529491855494838616806109b35760ff8760401c169081156109a6575b50610994577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098f9661095c958716906001600160401b0319161790556109575f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f4565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac761217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5b81610702565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c51602435610c2381610702565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1576040806003193601126103a157600435610c7b81610702565b6024356001600160401b0381116103a1575f80610d1993610ca260809436906004016104cd565b908188519283928337810184815203915af43d15610d215760203d610cc68161115c565b90610cd38751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610cdc565b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610de6602435610dc481610702565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c51602435610e1381610702565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f6e82610702565b805f525f805160206123b3833981519152602052610f92600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b6004356110ae81610702565b6110b661217e565b6118dc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110b661222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e81610702565b604084015260808101516119b181610702565b606084015260a08101516119c481610702565b608084015201516119d481610702565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a82610702565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe881610702565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209ab7d521b67da958540ef5520f61ec69ff0a2019c82763f846e2f802c2ec8aa064736f6c63430008190033","sourceMap":"852:6511:106:-:0;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:6511:106;;;;;;;;;7896:76:26;;852:6511:106;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;852:6511;;;;;;;927:17:82;852:6511:106;;;;;;;;;;1445:31;852:6511;;;;;;7981:146:26;-1:-1:-1;;;;;;852:6511:106;;;;;;;;;;;;;8087:29:26;;852:6511:106;;8087:29:26;7981:146;;;;;7896:76;852:6511:106;;-1:-1:-1;;;7938:23:26;;;;;852:6511:106;-1:-1:-1;852:6511:106;;;;;;-1:-1:-1;852:6511:106;;;;;-1:-1:-1;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b60036121b6576110bb565b61108e565b611071565b611054565b611036565b611019565b610ffc565b610fc2565b610f97565b610f4b565b610f2e565b610f06565b610ee9565b610eaf565b610e87565b610e5d565b610e35565b610def565b610da2565b610d68565b610d4e565b610d2a565b610c5d565b610bff565b610bcb565b610ba6565b610b7e565b610b3e565b610b16565b610aaf565b610a8a565b610a50565b610a28565b6109ee565b6109c4565b610884565b610852565b61082d565b610805565b6107e4565b610799565b61075f565b610713565b6106be565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ad57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069c575f805160206123d38339815191529081549060ff82871c16801561068e575b61067d579261061e9287959261064f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556106195f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b5080871681831610156105b3565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073682610702565b805f525f805160206123b383398151915260205261075a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b681610702565b336001600160a01b038216036107d25761067b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a15761089d6104b7565b6024356108a981610702565b6001600160401b03916044358381116103a1576108ca9036906004016104cd565b5f805160206123d38339815191529491855494838616806109b35760ff8760401c169081156109a6575b50610994577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098f9661095c958716906001600160401b0319161790556109575f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f4565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac761217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5b81610702565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c51602435610c2381610702565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1576040806003193601126103a157600435610c7b81610702565b6024356001600160401b0381116103a1575f80610d1993610ca260809436906004016104cd565b908188519283928337810184815203915af43d15610d215760203d610cc68161115c565b90610cd38751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610cdc565b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610de6602435610dc481610702565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c51602435610e1381610702565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f6e82610702565b805f525f805160206123b3833981519152602052610f92600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b6004356110ae81610702565b6110b661217e565b6118dc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110b661222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e81610702565b604084015260808101516119b181610702565b606084015260a08101516119c481610702565b608084015201516119d481610702565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a82610702565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe881610702565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209ab7d521b67da958540ef5520f61ec69ff0a2019c82763f846e2f802c2ec8aa064736f6c63430008190033","sourceMap":"852:6511:106:-:0;;;;;;2603:64:50;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;852:6511: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;:::-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:6511:106;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:6511:106;-1:-1:-1;852:6511:106;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3653:32:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;757:38:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;612:37:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;2084:35:108;852:6511:106;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;4919:24:23;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:6511:106;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;852:6511:106;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;;6431:44:26;;;;852:6511:106;6427:105:26;;852:6511:106;1809:204:82;852:6511:106;;;;6656:20:26;852:6511:106;;6656:20:26;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;6575:22:26;1809:204:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:6511:106;6427:105:26;852:6511:106;;-1:-1:-1;;;6498:23:26;;852:6511:106;;6498:23:26;6431:44;852:6511:106;;;;;;;6450:25:26;;6431:44;;1655:71:82;852:6511:106;;-1:-1:-1;;;1703:12:82;;852:6511:106;;1703:12:82;3666:88:30;852:6511:106;;-1:-1:-1;;;3713:30:30;;852:6511:106;;3713:30:30;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;655:32:82;-1:-1:-1;;;;;852:6511:106;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:6511:106;;;;5350:25:23;852:6511:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;3202:4:23;4919:24;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;3202:4:23;:::i;:::-;5350:25;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1329:40:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:6511:106;;6441:34:23;6437:102;;6549:37;852:6511:106;;;6549:37:23;:::i;6437:102::-;852:6511:106;;-1:-1:-1;;;6498:30:23;;852:6511:106;;6498:30:23;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;4126:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;2255:34:108;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:6511:106;;;;;;734:29:82;730:87;;852:6511:106;;;;;6431:44:26;;;;;852:6511:106;6427:105:26;;;6656:20;852:6511:106;6656:20:26;852:6511:106;1167:340:82;852:6511:106;;;;-1:-1:-1;;;;;852:6511:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;6656:20:26;;;;852:6511:106;6427:105:26;852:6511:106;;-1:-1:-1;;;6498:23:26;;852:6511:106;;6498:23:26;6431:44;852:6511:106;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;852:6511:106;;-1:-1:-1;;;786:20:82;;852:6511:106;;786:20:82;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;2718:59:108;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1041:36:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;1989:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1564:45:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;2423:32:108;852:6511:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;;-1:-1:-1;;;;;852:6511:106;3975:40:24;852:6511:106;;3975:40:24;852:6511:106;;;;;;;-1:-1:-1;;852:6511:106;;;;;;4027:43:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:6511:106;2594:68:108;852:6511:106;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3932:39:108;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3833:43:108;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3901:31:23;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;3901:31:23;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:6511:106;;;;-1:-1:-1;852:6511:106;477:31:86;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;852:6511:106;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;477:31:86;;;852:6511:106;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;477:31:86;852:6511:106;477:31:86;;;;;;;:::i;:::-;518:79;;;852:6511:106;518:79:86;;852:6511:106;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;900:35:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;2953:94:108;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;2953:94:108;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;2953:94:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;3103:92:108;852:6511:106;;;;;:::i;:::-;;;-1:-1:-1;852:6511:106;3103:92:108;852:6511:106;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;4396:31:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;-1:-1:-1;852:6511:106;2833:64:108;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2345:22:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1183:36:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3543:54:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2175:24:108;852:6511:106;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;3741:36:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;5767:26:23;852:6511:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;3202:4:23;4919:24;852:6511:106;-1:-1:-1;852:6511:106;4919:24:23;852:6511:106;3202:4:23;:::i;:::-;5767:26;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;466:39:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;4221:36:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;4313:27:108;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1466:3:108;852:6511:106;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;1286:6;852:6511;;;;;;;;;-1:-1:-1;;852:6511:106;;;;2357:1:24;852:6511:106;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:6511:106:-;;;;;;-1:-1:-1;;852:6511:106;;;;;3437:50:108;852:6511:106;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:6511:106;;;;;;-1:-1:-1;;852:6511:106;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;:::o;1167:340:82:-;;;852:6511:106;2802:37;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:6511:106;1949:1:30;;1991;852:6511:106;;;1376:73:82;;1167:340;852:6511:106;;;;:::i;:::-;2802:37;852:6511;;;2802:37;;;;;;:::i;:::-;852:6511;;;;;;;-1:-1:-1;;;;;852:6511:106;2854:31;2850:95;;2959:20;;;;;852:6511;;;;;;;;;;2959:25;2955:92;;3061:29;;;852:6511;;3061:29;;852:6511;3061:43;;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;;;;;852:6511:106;;;3061:43;;3057:971;;1167:340:82;4043:23:106;;;852:6511;4042:24;852:6511;;;;;;;;4042:24;;852:6511;4042:24;:67;;;1167:340:82;4038:132:106;;4200:28;;;-1:-1:-1;4185:9:106;1949:1:30;;;4180:411:106;-1:-1:-1;;852:6511:106;;4605:43;;-1:-1:-1;;;;;;852:6511:106;;;4605:43;;4601:697;;4180:411;5411:34;6015:42;852:6511;5411:34;;5960:44;852:6511;;5411:34;5343:468;6798:32;5411:34;5343:468;5411:34;852:6511;5411:34;;852:6511;5477:19;5343:468;5477:19;5343:468;5477:19;;;852:6511;5532:23;5343:468;852:6511;5532:23;;;852:6511;;;;;;;;;;5601:33;;;852:6511;-1:-1:-1;;;;;852:6511:106;5679:32;;;852:6511;5679:32;;;852:6511;;5760:36;;-1:-1:-1;;;;;852:6511:106;5760:36;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;:::i;:::-;;;;2802:37;5343:468;;852:6511;-1:-1:-1;;;;;852:6511:106;;;5343:468;;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;4043:23;5343:468;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;5343:468;;;852:6511;;5343:468;-1:-1:-1;;;;;852:6511:106;5343:468;;;852:6511;;5343:468;;:::i;:::-;852:6511;;5832:30;;-1:-1:-1;;;;;852:6511:106;1398:1:82;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;5832:30;2802:37;5882:13;;852:6511;;;;-1:-1:-1;;;;;;852:6511:106;-1:-1:-1;;;;;852:6511:106;;;;;;;;;5906:44;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;852:6511:106;;-1:-1:-1;;;;852:6511:106;;;;;;-1:-1:-1;;;852:6511:106;;;;;;;;5906:44;852:6511;;;;;;1949:1:30;852:6511:106;;-1:-1:-1;;;;;852:6511:106;;;;;;-1:-1:-1;;;;;;852:6511:106;;;;;;;;5960:44;852:6511;;;;;;;;;1398:1:82;852:6511:106;;;;;;;1398:1:82;852:6511:106;;6015:42;6068:38;852:6511;5343:468;6085:21;;852:6511;;;;;;;1398:1:82;852:6511:106;;;;;;;;;;;;1398:1:82;852:6511:106;;6068:38;6116:34;5343:468;6131:19;;852:6511;6116:34;1991:1:30;;6116:34:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;6161:135;;4180:411;-1:-1:-1;6309:36:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6305:157;;4180:411;-1:-1:-1;6475:35:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6471:153;;4180:411;-1:-1:-1;6637:34:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;6633:152;;4180:411;-1:-1:-1;6798:32:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;6794:145;;1167:340:82;:::o;6794:145:106:-;6860:68;;;:::i;:::-;;1167:340:82:o;6633:152:106:-;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;852:6511;4668:37;;-1:-1:-1;;;;;852:6511:106;;;4668:37;:23;;4729:32;;;852:6511;4729:46;;-1:-1:-1;;;;;852:6511:106;;;4729:46;:32;;4803:36;;;852:6511;4803:50;;-1:-1:-1;;;;;852:6511:106;;;4803:50;;;:78;;;4725:396;4799:167;;4725:396;6015:42;852:6511;;4725:396;;5960:44;852:6511;;4725:396;5343:468;6798:32;4725:396;;4601:697;;;;;;;;;;;;;;;4799:167;852:6511;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;852:6511;4857:24;4803:78;;4725:396;4994:36;;;852:6511;4994:50;;-1:-1:-1;;;;;852:6511:106;;;4994:50;;4990:131;;4725:396;6015:42;852:6511;;4725:396;;5960:44;852:6511;;4725:396;5343:468;6798:32;4725:396;;;4664:624;5145:32;;;852:6511;5145:46;;-1:-1:-1;;;;;852:6511:106;;;5145:46;;:74;;;4664:624;5141:147;;4664:624;6015:42;852:6511;;4664:624;;5960:44;852:6511;;4664:624;5343:468;6798:32;4664:624;;;5145:74;5195:19;;;;852:6511;5195:24;5145:74;;4237:3;4200:28;;852:6511;;4196:39;;;;;4260:31;;;:45;:31;;:::i;:45::-;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:6511:106;;;;;4388:22;852:6511;;;;;;;4388:55;852:6511;;;;;4388:55;4384:120;;4541:28;;;4518:62;:55;4541:31;;:28;;;;:31;:::i;4518:55::-;852:6511;;-1:-1:-1;;852:6511:106;1949:1:30;852:6511:106;;;;4518:62;852:6511;4185:9;;;;4384:120;852:6511;;-1:-1:-1;;;4470:19:106;;;;;4256:114;852:6511;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;4038:132;852:6511;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;852:6511;4070:39;;4042:67;;3057:971;3124:36;;;852:6511;3124:50;;-1:-1:-1;;;;;852:6511:106;;;3124:50;;3120:419;;3057:971;3557:34;;;852:6511;3557:48;;-1:-1:-1;;;;;852:6511:106;;;3557:48;;3553:465;;3057:971;;;3553:465;3629:21;;;852:6511;;3629:21;;3678:19;;;852:6511;3678:24;:74;;;3625:379;3674:157;3057:971;3674:157;852:6511;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;852:6511;3706:46;;-1:-1:-1;;;;;852:6511:106;;;3706:46;;3678:74;;3625:379;3859:19;;;852:6511;3859:24;;;:74;;;3625:379;3855:149;3553:465;3855:149;852:6511;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;852:6511;3887:46;;-1:-1:-1;;;;;852:6511:106;;;3887:46;;;3859:74;;3120:419;3198:23;;;852:6511;;3198:23;;3249:35;;;852:6511;3249:49;;-1:-1:-1;;;;;852:6511:106;;;3249:49;3120:419;3245:132;852:6511;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;852:6511;3405:49;;-1:-1:-1;;;;;852:6511:106;;;3405:49;3401:124;3120:419;3401:124;852:6511;-1:-1:-1;;;3485:21:106;;;;;2955:92;852:6511;;-1:-1:-1;;;3007:29:106;;;;;2850:95;852:6511;;-1:-1:-1;;;2908:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;3405:215:24;-1:-1:-1;;;;;852:6511:106;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:6511:106;;-1:-1:-1;;;;;;852:6511:106;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:6511:106;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:6511:106;;;3534:31:24;1809:204:82;852:6511:106;1809:204:82;852:6511:106;;;:::i;:::-;;;;;7113:40;;852:6511;;;;7208:64;7209:38;1286:6;852:6511;;;;;;;;:::i;:::-;7113:40;;;852:6511;;;;;;;7113:40;852:6511;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7186:6;;;:::i;:::-;852:6511;7209:38;:::i;:::-;7208:64;852:6511;7251:21;852:6511;;;;;;;;;;7208:64;;;:::i;:::-;:82;7204:151;;1809:204:82:o;7204:151:106:-;852:6511;;-1:-1:-1;;;7313:31:106;;;;;4148:103:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;966:10:28;852:6511:106;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:6511:106;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:6511:106;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:6511:106;;1398:1:82;852:6511:106;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;;;1398:1:82;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;7509:4:23;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511: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:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;7509:4:23;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511: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:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;;;;;852:6511:106;;-1:-1:-1;852:6511:106;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6511:106;;3901:31:23;852:6511:106;7270:387:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;3901:31:23;852:6511:106;7892:388:23;-1:-1:-1;852:6511:106;;;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;-1:-1:-1;852:6511:106;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;-1:-1:-1;;852:6511:106;;;966:10:28;;-1:-1:-1;;;;;852:6511:106;;8155:40:23;-1:-1:-1;;8155:40:23;852:6511:106;8209:11:23;:::o;852:6511:106:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6511:106;;;;;;;;;;;;;;;;;:::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:6511:106;-1:-1:-1;;;;;852:6511:106;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:6511:106;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:6511:106;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;852:6511:106;;;;;;;;;;;;;-1:-1:-1;;852:6511:106;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;7084:141:26:-;852:6511:106;-1:-1:-1;;;;;;;;;;;852:6511:106;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:6511:106;;-1:-1:-1;;;7191:17:26;;;;;1642:1025:106;1783:1;852:6511;;1746:38;1742:119;;1875:23;;;852:6511;;-1:-1:-1;;;;;852:6511:106;1875:23;;852:6511;;1875:37;;:65;;1642:1025;1871:130;;852:6511;2138:42;852:6511;2507:36;852:6511;2011:72;852:6511;;;2011:72;1991:1:30;;2011:72:106;2094:34;2109:19;;;852:6511;2094:34;1991:1:30;;852:6511:106;;;;;;;;;;2138:42;852:6511;;;2138:42;852:6511;;2138:42;2195:33;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;2191:148;;1642:1025;-1:-1:-1;2352:32:106;;;852:6511;-1:-1:-1;;;;;852:6511:106;;;;2348:146;;-1:-1:-1;2507:36:106;852:6511;-1:-1:-1;;;;;852:6511:106;;;;;;;2503:158;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;852:6511;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;852:6511;1916:24;;1875:65;;1742:119;852:6511;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;852:6511:106;14374:24:69;;;;14370:103;;852:6511:106;14296:213:69;:::o;14370:103::-;852:6511:106;;;;14421:41:69;;;;;;14452:2;14421:41;;;852:6511:106;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1747,"length":32}],"69325":[{"start":8640,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]}},\"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"}},"version":1},"id":106} \ No newline at end of file +{"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":"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":"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":"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":"0x60c0346101155761256a906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516124289081610142823960805181818161054601526106b3015260a051816121c00152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780631415519b146103465780631b66c9e114610341578063248a9ca31461033c5780632749f9c41461033757806327810b6e146103325780632abe30481461032d5780632dd31000146103285780632f2ff15d146103235780632fa27fae1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f57806350861adc1461030a57806354fd4d501461030557806357ec83cc146103005780635a36aa74146102fb5780635cc07076146102f657806361819dd8146102f1578063653b04cd146102ec5780636e0f2455146102e75780636ec1e3f8146102e2578063715018a6146102dd578063794b15b7146102d85780638da5cb5b146102d357806391d14854146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bba6ff4a1461028d578063bc46f72214610288578063c1bc6f5114610283578063c4db46fc1461027e578063cc52aee714610279578063ce9b793014610274578063d547741f1461026f578063d8dfeb451461026a578063db38871514610265578063e945da7f14610260578063ecc98f051461025b578063ecf7085814610256578063f151f6b5146102515763f2fde38b036121b6576110ab565b61108e565b611071565b611053565b611036565b610ffc565b610fd1565b610f85565b610f5d565b610f35565b610f18565b610ef0565b610eb6565b610e99565b610e71565b610e47565b610e1f565b610dd9565b610d8c565b610d52565b610d38565b610d14565b610cec565b610c1f565b610c02565b610be5565b610b87565b610b53565b610b13565b610aac565b610a87565b610a62565b610a28565b6109ee565b6109c4565b61099c565b61085c565b61082a565b610805565b6107e4565b610799565b61075f565b61073f565b6106f3565b61069e565b6104da565b61046f565b610452565b610419565b6103df565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576104f4610497565b906001600160401b036024358181116103a1576105159036906004016104ad565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461068d57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361067c575f805160206123d38339815191529081549060ff82871c16801561066e575b61065d57926105fe9287959261062f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556105f95f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161065b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b508087168183161015610593565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761065b602435600435610716826106e2565b805f525f805160206123b383398151915260205261073a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b6816106e2565b336001600160a01b038216036107d25761065b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a157610875610497565b602435610881816106e2565b6001600160401b03916044358381116103a1576108a29036906004016104ad565b5f805160206123d383398151915294918554948386168061098b5760ff8760401c1690811561097e575b5061096c577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661096796610934958716906001600160401b03191617905561092f5f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108cc565b60405162dc149f60e41b8152600490fd5b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac461217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a15760203660031901126103a157600435610b30816106e2565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610bd9602435610bab816106e2565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1576040806003193601126103a157600435610c3d816106e2565b6024356001600160401b0381116103a1575f80610cdb93610c6460809436906004016104ad565b908188519283928337810184815203915af43d15610ce35760203d610c888161115c565b90610c958751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610c9e565b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610dd0602435610dae816106e2565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610bd9602435610dfd816106e2565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020600f54604051908152f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a15761065b602435600435610fa8826106e2565b805f525f805160206123b3833981519152602052610fcc600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761065b6004356110cb816106e2565b6110d361217e565b6118dc565b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110d361222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e816106e2565b604084015260808101516119b1816106e2565b606084015260a08101516119c4816106e2565b608084015201516119d4816106e2565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a826106e2565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe8816106e2565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212206d83f3db936590e57b31549dc65067efec356616a305bc4b1bb18cbea0512e3d64736f6c63430008190033","sourceMap":"852:6483:106:-:0;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:6483:106;;;;;;;;;7896:76:26;;852:6483:106;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;852:6483;;;;;;;927:17:82;852:6483:106;;;;;;;;;;1445:31;852:6483;;;;;;7981:146:26;-1:-1:-1;;;;;;852:6483:106;;;;;;;;;;;;;8087:29:26;;852:6483:106;;8087:29:26;7981:146;;;;;7896:76;852:6483:106;;-1:-1:-1;;;7938:23:26;;;;;852:6483:106;-1:-1:-1;852:6483:106;;;;;;-1:-1:-1;852:6483:106;;;;;-1:-1:-1;852:6483:106;;;;-1:-1:-1;;;;;852:6483:106;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106121b6575f3560e01c806301ffc9a71461034b5780631415519b146103465780631b66c9e114610341578063248a9ca31461033c5780632749f9c41461033757806327810b6e146103325780632abe30481461032d5780632dd31000146103285780632f2ff15d146103235780632fa27fae1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f57806350861adc1461030a57806354fd4d501461030557806357ec83cc146103005780635a36aa74146102fb5780635cc07076146102f657806361819dd8146102f1578063653b04cd146102ec5780636e0f2455146102e75780636ec1e3f8146102e2578063715018a6146102dd578063794b15b7146102d85780638da5cb5b146102d357806391d14854146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bba6ff4a1461028d578063bc46f72214610288578063c1bc6f5114610283578063c4db46fc1461027e578063cc52aee714610279578063ce9b793014610274578063d547741f1461026f578063d8dfeb451461026a578063db38871514610265578063e945da7f14610260578063ecc98f051461025b578063ecf7085814610256578063f151f6b5146102515763f2fde38b036121b6576110ab565b61108e565b611071565b611053565b611036565b610ffc565b610fd1565b610f85565b610f5d565b610f35565b610f18565b610ef0565b610eb6565b610e99565b610e71565b610e47565b610e1f565b610dd9565b610d8c565b610d52565b610d38565b610d14565b610cec565b610c1f565b610c02565b610be5565b610b87565b610b53565b610b13565b610aac565b610a87565b610a62565b610a28565b6109ee565b6109c4565b61099c565b61085c565b61082a565b610805565b6107e4565b610799565b61075f565b61073f565b6106f3565b61069e565b6104da565b61046f565b610452565b610419565b6103df565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a15760203660031901126103a1576004355f525f805160206123b38339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576104f4610497565b906001600160401b036024358181116103a1576105159036906004016104ad565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461068d57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361067c575f805160206123d38339815191529081549060ff82871c16801561066e575b61065d57926105fe9287959261062f97957fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29916906001600160401b0319161790556105f95f805160206123d3833981519152600160401b60ff60401b19825416179055565b61194d565b5f805160206123d3833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161065b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b855163f92ee8a960e01b8152600490fd5b508087168183161015610593565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761065b602435600435610716826106e2565b805f525f805160206123b383398151915260205261073a600160405f200154611a21565b611e90565b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b6816106e2565b336001600160a01b038216036107d25761065b90600435611ec6565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206123d38339815191525416604051908152f35b346103a15760603660031901126103a157610875610497565b602435610881816106e2565b6001600160401b03916044358381116103a1576108a29036906004016104ad565b5f805160206123d383398151915294918554948386168061098b5760ff8760401c1690811561097e575b5061096c577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661096796610934958716906001600160401b03191617905561092f5f805160206123d3833981519152600160401b60ff60401b19825416179055565b6111ad565b5f805160206123d3833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108cc565b60405162dc149f60e41b8152600490fd5b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac461217e565b5f8051602061239383398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a15760203660031901126103a157600435610b30816106e2565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a1575f80516020612393833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610bd9602435610bab816106e2565b6004355f525f805160206123b3833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1576040806003193601126103a157600435610c3d816106e2565b6024356001600160401b0381116103a1575f80610cdb93610c6460809436906004016104ad565b908188519283928337810184815203915af43d15610ce35760203d610c888161115c565b90610c958751928361110c565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261110c565b805190602001fd5b60206060610c9e565b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610dd0602435610dae816106e2565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610bd9602435610dfd816106e2565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020600f54604051908152f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a15761065b602435600435610fa8826106e2565b805f525f805160206123b3833981519152602052610fcc600160405f200154611a21565b611ec6565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761065b6004356110cb816106e2565b6110d361217e565b6118dc565b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761110757604052565b6110d8565b90601f801991011681019081106001600160401b0382111761110757604052565b6040519061113a826110ec565b565b6040519061024082018281106001600160401b0382111761110757604052565b6001600160401b03811161110757601f01601f191660200190565b9291926111838261115c565b91611191604051938461110c565b8294818452818301116103a1578281602093845f960137010152565b9190611208611217916111be61222d565b6111c661222d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b03959094908087166118c2575b503691611177565b60208082518301019101611ff3565b805190919083166001600160a01b0316156118b05760409081830165ffffffffffff611249825165ffffffffffff1690565b161561189f5761012084018051909390611273906001600160a01b03165b6001600160a01b031690565b1561176e575b606085019261128f61128b8551151590565b1590565b8061175f575b61174e5761018086015f825b6116a1575b505084516112bd91506001600160a01b0316611267565b15611569575b92611473611463869461145d6114386114b49661139c6101c09a61139760c06115139e0151916113878d61137760e08201519361136761130d61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061134590610220906001600160a01b03169701516001600160a01b031690565b9761134e61112d565b9a8b5260208b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b61225b565b88516113d3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b6020890151600180546001600160a01b0319166001600160a01b0390921691909117905561142c61140342612360565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b61149a6114836080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114a760a0840151600455565b516001600160a01b031690565b848116611559575b506101408101516001600160a01b0316848116611549575b506101608101516001600160a01b0316848116611539575b506101a08101516001600160a01b0316848116611529575b5001516001600160a01b031690565b90811661151d5750565b61152690611cd4565b50565b61153290611c65565b505f611504565b61154290611bf6565b505f6114ec565b61155290611b20565b505f6114d4565b61156290611a6f565b505f6114bc565b610100850151611581906001600160a01b0316611267565b6116505761020085015161159d906001600160a01b0316611267565b611611576102208501516115b9906001600160a01b0316611267565b151580611605575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a5b979a50509650505094965050506112c3565b51630331eb0f60e41b8152600490fd5b5060e0850151156115c1565b610220850151611629906001600160a01b0316611267565b156115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b610200850151611668906001600160a01b0316611267565b1580611695575b6115f55792611473611463611513969461145d6114386114b49661139c6101c09a6115e3565b5060e08501511561166f565b81518051821015611748576112676114a7836116bc93612156565b15611737576116f56116ee6116d56114a7848651612156565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117265790828261171e6117116116d56114a785978751612156565b805460ff19166001179055565b0190916112a1565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b506112a6565b815163ebf503c560e01b8152600490fd5b50610180860151511515611295565b610140850151611786906001600160a01b0316611267565b1561183c575b6101a08501516117a4906001600160a01b0316611267565b156117af575b611279565b6080850151156117f95760a085015115806117da575b15611279575163183c854560e21b8152600490fd5b506101c08501516117f3906001600160a01b0316611267565b156117c5565b60a08501511580159061181c575b156117aa575163183c854560e21b8152600490fd5b506101c0850151611835906001600160a01b0316611267565b1515611807565b6060850151156118725761016085015161185e906001600160a01b0316611267565b61178c575163183c854560e21b8152600490fd5b61016085015161188a906001600160a01b0316611267565b1561178c575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6118d6906118ce61222d565b6110d361222d565b5f611200565b6001600160a01b03908116908115611935575f8051602061239383398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b611958913691611177565b60c0818051810103126103a157611a086119e862093a809260c06040519161197f836110ec565b6020810151835260408101516020840152606081015161199e816106e2565b604084015260808101516119b1816106e2565b606084015260a08101516119c4816106e2565b608084015201516119d4816106e2565b60a08201526119e28161225b565b51612206565b611a026119f760015460d01c90565b65ffffffffffff1690565b9061221a565b10611a0f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206123b38339815191526020908152604080832033845290915290205460ff1615611a515750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206123b38339815191529060ff16611b1a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206123b38339815191529060ff905b5416611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206123b38339815191529060ff90611b8b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206123b38339815191529060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b038716855290915290912060ff90611b8b565b5f8181525f805160206123b3833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611bef575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b519061113a826106e2565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b038411611107578360051b9060405194611fb78584018761110c565b855283808601928201019283116103a1578301905b828210611fda575050505090565b8380918351611fe8816106e2565b815201910190611fcc565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a15761202561113c565b9261202f83611f58565b845261203d60208401611f58565b602085015261204e60408401611f63565b604085015261205f60608401611f76565b606085015261207060808401611f76565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006120a1818501611f58565b908501526101206120b3818501611f58565b908501526101406120c5818501611f58565b908501526101606120d7818501611f58565b9085015261018091828401519182116103a1576120f5918401611f83565b908301526101a0612107818301611f58565b908301526101c0612119818301611f58565b908301526101e061212b818301611f58565b9083015261020061213d818301611f58565b9083015261214f610220809201611f58565b9082015290565b805182101561216a5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f80516020612393833981519152546001600160a01b0316330361219e57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156121ee573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b60011981019190821161221557565b6121f2565b8181029291811591840414171561221557565b60ff5f805160206123d38339815191525460401c161561224957565b604051631afcd79f60e31b8152600490fd5b600381511061234e576040810180516001600160a01b0392919083161580612341575b61232f57816122c86122a660a0936122996123039651600f55565b6114a76020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b031684811661231f575b5060808101516001600160a01b0316848116612316575001516001600160a01b031690565b90811661230d5750565b61152690611e21565b61153290611db2565b61232890611d43565b505f6122de565b604051630331eb0f60e41b8152600490fd5b506020820151151561227e565b6040516317a509b960e31b8152600490fd5b65ffffffffffff90818111612373571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212206d83f3db936590e57b31549dc65067efec356616a305bc4b1bb18cbea0512e3d64736f6c63430008190033","sourceMap":"852:6483:106:-:0;;;;;;2603:64:50;852:6483:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;852:6483: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;:::-;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:6483:106;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:6483:106;-1:-1:-1;852:6483:106;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;757:38:108;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;612:37:108;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;-1:-1:-1;852:6483:106;-1:-1:-1;;;;;;;;;;;852:6483:106;;;4919:24:23;852:6483:106;-1:-1:-1;852:6483:106;4919:24:23;852:6483:106;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;4177:34:108;852:6483:106;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:6483:106;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;852:6483:106;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:6483:106;;;;;;;;;6431:44:26;;;;852:6483:106;6427:105:26;;852:6483:106;1809:204:82;852:6483:106;;;;6656:20:26;852:6483:106;;6656:20:26;852:6483:106;;;-1:-1:-1;;;;;852:6483:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6483:106;;;;;;;;6575:22:26;1809:204:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6483:106;;-1:-1:-1;;;;852:6483:106;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:6483:106;6427:105:26;852:6483:106;;-1:-1:-1;;;6498:23:26;;852:6483:106;;6498:23:26;6431:44;852:6483:106;;;;;;;6450:25:26;;6431:44;;1655:71:82;852:6483:106;;-1:-1:-1;;;1703:12:82;;852:6483:106;;1703:12:82;3666:88:30;852:6483:106;;-1:-1:-1;;;3713:30:30;;852:6483:106;;3713:30:30;852:6483:106;;;;;;-1:-1:-1;;852:6483:106;;;;;;655:32:82;-1:-1:-1;;;;;852:6483:106;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:6483:106;;;;5350:25:23;852:6483:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6483:106;-1:-1:-1;;;;;;;;;;;852:6483:106;;3202:4:23;4919:24;852:6483:106;-1:-1:-1;852:6483:106;4919:24:23;852:6483:106;3202:4:23;:::i;:::-;5350:25;:::i;852:6483:106:-;;;;;;-1:-1:-1;;852:6483:106;;;;;2077:28:108;852:6483:106;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;1329:40:108;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:6483:106;;6441:34:23;6437:102;;6549:37;852:6483:106;;;6549:37:23;:::i;6437:102::-;852:6483:106;;-1:-1:-1;;;6498:30:23;;852:6483:106;;6498:30:23;852:6483:106;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;2241:34:108;852:6483:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:6483:106;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:6483:106;;;;;;734:29:82;730:87;;852:6483:106;;;;;6431:44:26;;;;;852:6483:106;6427:105:26;;;6656:20;852:6483:106;6656:20:26;852:6483:106;1167:340:82;852:6483:106;;;;-1:-1:-1;;;;;852:6483:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;;;;852:6483:106;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6483:106;;-1:-1:-1;;;;852:6483:106;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;6656:20:26;;;;852:6483:106;6427:105:26;852:6483:106;;-1:-1:-1;;;6498:23:26;;852:6483:106;;6498:23:26;6431:44;852:6483:106;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;852:6483:106;;-1:-1:-1;;;786:20:82;;852:6483:106;;786:20:82;852:6483:106;;;;;;-1:-1:-1;;852:6483:106;;;;;;3909:32:108;852:6483:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;-1:-1:-1;852:6483:106;2704:59:108;852:6483:106;;;;-1:-1:-1;852:6483:106;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;1041:36:108;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;1564:45:108;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;3817:36:108;852:6483:106;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;2409:32:108;852:6483:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:6483:106;;-1:-1:-1;;;;;;852:6483:106;;;;;;;-1:-1:-1;;;;;852:6483:106;3975:40:24;852:6483:106;;3975:40:24;852:6483:106;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:6483:106;2580:68:108;852:6483:106;;;;;-1:-1:-1;852:6483:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;-1:-1:-1;;;;;;;;;;;852:6483:106;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;3901:31:23;852:6483:106;;;;;:::i;:::-;;;-1:-1:-1;852:6483:106;-1:-1:-1;;;;;;;;;;;852:6483:106;;;-1:-1:-1;852:6483:106;;;;;;;;;;;;;;;;;3901:31:23;852:6483:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;3719:42:108;852:6483:106;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;3625:38:108;852:6483:106;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:6483:106;;;;-1:-1:-1;852:6483:106;477:31:86;852:6483:106;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;852:6483:106;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:6483:106;;;;;;;;;;;;477:31:86;;;852:6483:106;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:6483:106;;;;;;;;;;;;;;477:31:86;852:6483:106;477:31:86;;;;;;;:::i;:::-;518:79;;;852:6483:106;518:79:86;;852:6483:106;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;1989:32:108;852:6483:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;900:35:108;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;2939:94:108;852:6483:106;;;;;:::i;:::-;;;-1:-1:-1;852:6483:106;2939:94:108;852:6483:106;;;-1:-1:-1;852:6483:106;;;;;;;;;;;;;;;;;2939:94:108;852:6483:106;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;3089:92:108;852:6483:106;;;;;:::i;:::-;;;-1:-1:-1;852:6483:106;3089:92:108;852:6483:106;;;-1:-1:-1;852:6483:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;4350:31:108;852:6483:106;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;-1:-1:-1;852:6483:106;2819:64:108;852:6483:106;;;;-1:-1:-1;852:6483:106;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;2331:22:108;852:6483:106;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;3423:43:108;852:6483:106;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;1183:36:108;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;4089:32:108;852:6483:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;3522:47:108;852:6483:106;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;3997:36:108;852:6483:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;2161:24:108;852:6483:106;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;5767:26:23;852:6483:106;;;;;;;:::i;:::-;;-1:-1:-1;852:6483:106;-1:-1:-1;;;;;;;;;;;852:6483:106;;3202:4:23;4919:24;852:6483:106;-1:-1:-1;852:6483:106;4919:24:23;852:6483:106;3202:4:23;:::i;:::-;5767:26;:::i;852:6483:106:-;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;466:39:108;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;4267:27:108;852:6483:106;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;1466:3:108;852:6483:106;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;1286:6;852:6483;;;;;;;;;-1:-1:-1;;852:6483:106;;;;2357:1:24;852:6483:106;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:6483:106:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:6483:106;;;;;;-1:-1:-1;;852:6483:106;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:6483:106;;;;;;:::o;1167:340:82:-;;;852:6483:106;2795:37;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:6483:106;1949:1:30;;1991;852:6483:106;;;1376:73:82;;1167:340;852:6483:106;;;;:::i;:::-;2795:37;852:6483;;;2795:37;;;;;;:::i;:::-;852:6483;;;;;;;-1:-1:-1;;;;;852:6483:106;2847:31;2843:95;;2952:20;;;;;852:6483;;;;;;;;;;2952:25;2948:92;;3054:29;;;852:6483;;3054:29;;852:6483;3054:43;;-1:-1:-1;;;;;852:6483:106;;-1:-1:-1;;;;;852:6483:106;;;3054:43;;3050:971;;1167:340:82;4036:23:106;;;852:6483;4035:24;852:6483;;;;;;;;4035:24;;852:6483;4035:24;:67;;;1167:340:82;4031:132:106;;4193:28;;;-1:-1:-1;4178:9:106;1949:1:30;;;4173:411:106;-1:-1:-1;;852:6483:106;;4598:43;;-1:-1:-1;;;;;;852:6483:106;;;4598:43;;4594:697;;4173:411;5404:34;5994:42;852:6483;5404:34;;5946:37;852:6483;;5404:34;5336:468;6777:32;5404:34;5336:468;5404:34;852:6483;5404:34;;852:6483;5470:19;5336:468;5470:19;5336:468;5470:19;;;852:6483;5525:23;5336:468;852:6483;5525:23;;;852:6483;;;;;;;;;;5594:33;;;852:6483;-1:-1:-1;;;;;852:6483:106;5672:32;;;852:6483;5672:32;;;852:6483;;5753:36;;-1:-1:-1;;;;;852:6483:106;5753:36;;852:6483;-1:-1:-1;;;;;852:6483:106;;;;;;;:::i;:::-;;;;2795:37;5336:468;;852:6483;-1:-1:-1;;;;;852:6483:106;;;5336:468;;;852:6483;;5336:468;-1:-1:-1;;;;;852:6483:106;4036:23;5336:468;;852:6483;;5336:468;-1:-1:-1;;;;;852:6483:106;5336:468;;;852:6483;;5336:468;-1:-1:-1;;;;;852:6483:106;5336:468;;;852:6483;;5336:468;;:::i;:::-;852:6483;;5825:30;;-1:-1:-1;;;;;852:6483:106;1398:1:82;852:6483:106;;-1:-1:-1;;;;;;852:6483:106;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;5825:30;2795:37;5875:13;;852:6483;;;;-1:-1:-1;;;;;;852:6483:106;-1:-1:-1;;;;;852:6483:106;;;;;;;;;5899:37;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;852:6483:106;;-1:-1:-1;;;;852:6483:106;;;;;;-1:-1:-1;;;852:6483:106;;;;;;;;5899:37;852:6483;;;;;;1949:1:30;852:6483:106;;-1:-1:-1;;;;;852:6483:106;;;;;;-1:-1:-1;;;;;;852:6483:106;;;;;;;;5946:37;852:6483;;;;;;;;;1398:1:82;852:6483:106;;;;;;;1398:1:82;852:6483:106;;5994:42;6047:38;852:6483;5336:468;6064:21;;852:6483;;;;;;;1398:1:82;852:6483:106;;;;;;;;;;;;1398:1:82;852:6483:106;;6047:38;6095:34;5336:468;6110:19;;852:6483;6095:34;1991:1:30;;6095:34:106;852:6483;-1:-1:-1;;;;;852:6483:106;;;;;;;6140:135;;4173:411;-1:-1:-1;6288:36:106;;;852:6483;-1:-1:-1;;;;;852:6483:106;;;;6284:157;;4173:411;-1:-1:-1;6454:35:106;;;852:6483;-1:-1:-1;;;;;852:6483:106;;;;6450:153;;4173:411;-1:-1:-1;6616:34:106;;;852:6483;-1:-1:-1;;;;;852:6483:106;;;;6612:152;;4173:411;-1:-1:-1;6777:32:106;852:6483;-1:-1:-1;;;;;852:6483:106;;;;;;;6773:145;;1167:340:82;:::o;6773:145:106:-;6839:68;;;:::i;:::-;;1167:340:82:o;6612:152:106:-;6680:73;;;:::i;:::-;;6612:152;;;6450:153;6519:73;;;:::i;:::-;;6450:153;;;6284:157;6354:76;;;:::i;:::-;;6284:157;;;6140:135;6203:61;;;:::i;:::-;;6140:135;;;4594:697;4661:23;;;852:6483;4661:37;;-1:-1:-1;;;;;852:6483:106;;;4661:37;:23;;4722:32;;;852:6483;4722:46;;-1:-1:-1;;;;;852:6483:106;;;4722:46;:32;;4796:36;;;852:6483;4796:50;;-1:-1:-1;;;;;852:6483:106;;;4796:50;;;:78;;;4718:396;4792:167;;4718:396;5994:42;852:6483;;4718:396;;5946:37;852:6483;;4718:396;5336:468;6777:32;4718:396;;4594:697;;;;;;;;;;;;;;;4792:167;852:6483;-1:-1:-1;;;4909:27:106;;;;;4796:78;4850:19;;;;852:6483;4850:24;4796:78;;4718:396;4987:36;;;852:6483;4987:50;;-1:-1:-1;;;;;852:6483:106;;;4987:50;;4983:131;;4718:396;5994:42;852:6483;;4718:396;;5946:37;852:6483;;4718:396;5336:468;6777:32;4718:396;;;4657:624;5138:32;;;852:6483;5138:46;;-1:-1:-1;;;;;852:6483:106;;;5138:46;;:74;;;4657:624;5134:147;;4657:624;5994:42;852:6483;;4657:624;;5946:37;852:6483;;4657:624;5336:468;6777:32;4657:624;;;5138:74;5188:19;;;;852:6483;5188:24;5138:74;;4230:3;4193:28;;852:6483;;4189:39;;;;;4253:31;;;:45;:31;;:::i;:45::-;;4249:114;;4381:55;;4404:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:6483:106;;;;;4381:22;852:6483;;;;;;;4381:55;852:6483;;;;;4381:55;4377:120;;4534:28;;;4511:62;:55;4534:31;;:28;;;;:31;:::i;4511:55::-;852:6483;;-1:-1:-1;;852:6483:106;1949:1:30;852:6483:106;;;;4511:62;852:6483;4178:9;;;;4377:120;852:6483;;-1:-1:-1;;;4463:19:106;;;;;4249:114;852:6483;;-1:-1:-1;;;4325:23:106;;;;;4189:39;;;;4031:132;852:6483;;-1:-1:-1;;;4125:27:106;;;;;4035:67;4063:28;;;;;852:6483;4063:39;;4035:67;;3050:971;3117:36;;;852:6483;3117:50;;-1:-1:-1;;;;;852:6483:106;;;3117:50;;3113:419;;3050:971;3550:34;;;852:6483;3550:48;;-1:-1:-1;;;;;852:6483:106;;;3550:48;;3546:465;;3050:971;;;3546:465;3622:21;;;852:6483;;3622:21;;3671:19;;;852:6483;3671:24;:74;;;3618:379;3667:157;3050:971;3667:157;852:6483;-1:-1:-1;;;3780:21:106;;;;;3671:74;-1:-1:-1;3699:32:106;;;852:6483;3699:46;;-1:-1:-1;;;;;852:6483:106;;;3699:46;;3671:74;;3618:379;3852:19;;;852:6483;3852:24;;;:74;;;3618:379;3848:149;3546:465;3848:149;852:6483;-1:-1:-1;;;3957:21:106;;;;;3852:74;-1:-1:-1;3880:32:106;;;852:6483;3880:46;;-1:-1:-1;;;;;852:6483:106;;;3880:46;;;3852:74;;3113:419;3191:23;;;852:6483;;3191:23;;3242:35;;;852:6483;3242:49;;-1:-1:-1;;;;;852:6483:106;;;3242:49;3113:419;3238:132;852:6483;-1:-1:-1;;;3326:21:106;;;;;3187:331;3398:35;;;852:6483;3398:49;;-1:-1:-1;;;;;852:6483:106;;;3398:49;3394:124;3113:419;3394:124;852:6483;-1:-1:-1;;;3478:21:106;;;;;2948:92;852:6483;;-1:-1:-1;;;3000:29:106;;;;;2843:95;852:6483;;-1:-1:-1;;;2901:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;3405:215:24;-1:-1:-1;;;;;852:6483:106;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:6483:106;;-1:-1:-1;;;;;;852:6483:106;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:6483:106;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:6483:106;;;3534:31:24;1809:204:82;852:6483:106;1809:204:82;852:6483:106;;;:::i;:::-;;;;;7092:40;;852:6483;;;;7187:57;7188:38;1286:6;852:6483;;;;;;;;:::i;:::-;7092:40;;;852:6483;;;;;;;7092:40;852:6483;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7165:6;;;:::i;:::-;852:6483;7188:38;:::i;:::-;7187:57;852:6483;7230:14;852:6483;;;;;;;;;;7187:57;;;:::i;:::-;:75;7183:144;;1809:204:82:o;7183:144:106:-;852:6483;;-1:-1:-1;;;7285:31:106;;;;;4148:103:23;-1:-1:-1;852:6483:106;;;-1:-1:-1;;;;;;;;;;;852:6483:106;;;;;;;;966:10:28;852:6483:106;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:6483:106;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:6483:106;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:6483:106;;1398:1:82;852:6483:106;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6483:106;;;;1398:1:82;852:6483:106;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;-1:-1:-1;;852:6483:106;7509:4:23;852:6483:106;;;966:10:28;;-1:-1:-1;;;;;852:6483: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:6483:106;;-1:-1:-1;852:6483:106;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6483:106;;3901:31:23;852:6483:106;;;;-1:-1:-1;852:6483:106;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;-1:-1:-1;;852:6483:106;7509:4:23;852:6483:106;;;966:10:28;;-1:-1:-1;;;;;852:6483: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:6483:106;;-1:-1:-1;852:6483:106;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6483:106;;3901:31:23;852:6483:106;7270:387:23;-1:-1:-1;;;;;852:6483:106;;-1:-1:-1;852:6483:106;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6483:106;;3901:31:23;852:6483:106;7270:387:23;-1:-1:-1;;;;;852:6483:106;;-1:-1:-1;852:6483:106;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6483:106;;3901:31:23;852:6483:106;7270:387:23;-1:-1:-1;;;;;852:6483:106;;-1:-1:-1;852:6483:106;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6483:106;;3901:31:23;852:6483:106;7270:387:23;-1:-1:-1;;;;;852:6483:106;;-1:-1:-1;852:6483:106;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6483:106;;3901:31:23;852:6483:106;7270:387:23;-1:-1:-1;;;;;852:6483:106;;-1:-1:-1;852:6483:106;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:6483:106;;3901:31:23;852:6483:106;7270:387:23;-1:-1:-1;852:6483:106;;;-1:-1:-1;;;;;;;;;;;852:6483:106;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;3901:31:23;852:6483:106;7892:388:23;-1:-1:-1;852:6483:106;;;-1:-1:-1;;;;;;;;;;;852:6483:106;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;;;-1:-1:-1;852:6483:106;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;-1:-1:-1;;852:6483:106;;;966:10:28;;-1:-1:-1;;;;;852:6483:106;;8155:40:23;-1:-1:-1;;8155:40:23;852:6483:106;8209:11:23;:::o;852:6483:106:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:6483:106;;;;;;;;;;;;;;;;;:::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:6483:106;-1:-1:-1;;;;;852:6483:106;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:6483:106;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:6483:106;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;852:6483:106;;;;;;;;;;;;;-1:-1:-1;;852:6483:106;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;7084:141:26:-;852:6483:106;-1:-1:-1;;;;;;;;;;;852:6483:106;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:6483:106;;-1:-1:-1;;;7191:17:26;;;;;1642:1018:106;1783:1;852:6483;;1746:38;1742:119;;1875:23;;;852:6483;;-1:-1:-1;;;;;852:6483:106;1875:23;;852:6483;;1875:37;;:65;;1642:1018;1871:130;;852:6483;2131:42;852:6483;2500:36;852:6483;2011:65;852:6483;;;2011:65;1991:1:30;;2011:65:106;2087:34;2102:19;;;852:6483;2087:34;1991:1:30;;852:6483:106;;;;;;;;;;2131:42;852:6483;;;2131:42;852:6483;;2131:42;2188:33;;;852:6483;-1:-1:-1;;;;;852:6483:106;;;;2184:148;;1642:1018;-1:-1:-1;2345:32:106;;;852:6483;-1:-1:-1;;;;;852:6483:106;;;;2341:146;;-1:-1:-1;2500:36:106;852:6483;-1:-1:-1;;;;;852:6483:106;;;;;;;2496:158;;1642:1018;:::o;2496:158::-;2566:77;;;:::i;2341:146::-;2407:69;;;:::i;2184:148::-;2251:70;;;:::i;:::-;;2184:148;;;1871:130;1875:23;852:6483;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;852:6483;1916:24;;1875:65;;1742:119;852:6483;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;852:6483:106;14374:24:69;;;;14370:103;;852:6483:106;14296:213:69;:::o;14370:103::-;852:6483:106;;;;14421:41:69;;;;;;14452:2;14421:41;;;852:6483:106;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1350,"length":32},{"start":1715,"length":32}],"69325":[{"start":8640,"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","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","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\":\"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\":\"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\":[{\"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.\"},\"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.\"},\"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\":\"0xbff0f4553c61d3355e6cbccfd93728a8911169d2476a2032e4725f11fb5343f6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e61281fc0a281a11525b5fdd2887dda78f0ea47c6b63fed643a199168e9f4f14\",\"dweb:/ipfs/QmSoXhjWxXUdniMBuG2n5pjAHwFwBg5nMYgsdJ75dd3gFZ\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a\",\"dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68\",\"dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb\"]}},\"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":"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":"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":[{"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."},"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."},"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":"0xbff0f4553c61d3355e6cbccfd93728a8911169d2476a2032e4725f11fb5343f6","urls":["bzz-raw://e61281fc0a281a11525b5fdd2887dda78f0ea47c6b63fed643a199168e9f4f14","dweb:/ipfs/QmSoXhjWxXUdniMBuG2n5pjAHwFwBg5nMYgsdJ75dd3gFZ"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f","urls":["bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a","dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea","urls":["bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68","dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb"],"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 f7d17fe..9ad180f 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":"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":"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":"epochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochInitInternal","inputs":[],"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":"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":"nextEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"nextEpochDurationSetEpochsDelayInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInitInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochDurationInternal","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"prevEpochInitInternal","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"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":"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":"0x60c03461011c57612882906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516127399081610149823960805181818161056601526106d1015260a05181818161155d015261222b0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe608060405260043610612221575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b600361222157611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206126e483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f805160206126c4833981519152602052610758600160405f200154611ba1565b612010565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206126e48339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd6119a9565b91610cde6040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f805160206126c4833981519152602052610f5c600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806121e9565b6119fc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61108061225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610cde60405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e81610700565b60408401526080810151611b3181610700565b606084015260a0810151611b4481610700565b60808401520151611b5481610700565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f82610700565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b81610700565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204ca194ae4a434d94ef4ce327695e1f46b458966a482a3f7129e348d5c5275c8964736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;332:1303:109;;;;;;;;;7896:76:26;;332:1303:109;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;332:1303:109;;;;;;;927:17:82;332:1303:109;;;;;;;;;;1445:31:106;332:1303:109;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;332:1303:109;;;;;;;;;;;;;8087:29:26;;332:1303:109;;8087:29:26;7981:146;;;;;7896:76;332:1303:109;;-1:-1:-1;;;7938:23:26;;;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;-1:-1:-1;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610612221575f3560e01c806301ffc9a71461034b5780630fcaeb1b146103465780631415519b146103415780631b66c9e11461033c5780631e89bd8a14610337578063248a9ca31461033257806327810b6e1461032d5780632abe3048146103285780632dd31000146103235780632f2ff15d1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f578063502b4d601461030a57806350861adc1461030557806354fd4d501461030057806357ec83cc146102fb5780635cc07076146102f657806361819dd8146102f157806364601402146102ec578063653b04cd146102e75780636ec1e3f8146102e2578063715018a6146102dd57806375d6c765146102d8578063794b15b7146102d35780637e84ec81146102ce5780638d30d7a7146102c95780638da5cb5b146102c457806391d14854146102bf5780639f86fd85146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bc46f7221461028d578063bc4f8c0514610288578063ce9b793014610283578063d2356eb51461027e578063d547741f14610279578063d8dfeb4514610274578063db3887151461026f578063ddd0f28a1461026a578063e945da7f14610265578063ecc98f0514610260578063ecf708581461025b578063f151f6b514610256578063f2fde38b146102515763fcdc5b600361222157611085565b611058565b61103b565b61101e565b611000565b610fe3565b610fc6565b610f8c565b610f61565b610f15565b610ef8565b610ed0565b610eb3565b610e79565b610e51565b610e27565b610dff565b610db9565b610d6c565b610d32565b610d18565b610cf4565b610c60565b610c02565b610bce565b610ba9565b610b81565b610b41565b610b19565b610ab2565b610a8d565b610a53565b610a2b565b6109f1565b6109c7565b610882565b610850565b61082b565b610803565b6107e2565b610797565b61075d565b610711565b6106bc565b6104fa565b61048f565b610456565b610436565b6103fc565b6103c2565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a1576020601154604051908152f35b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576105146104b7565b906001600160401b036024358181116103a1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f805160206126e483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761067b60243560043561073482610700565b805f525f805160206126c4833981519152602052610758600160405f200154611ba1565b612010565b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b481610700565b336001600160a01b038216036107d05761067b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a15761089b6104b7565b6024356108a781610700565b6001600160401b03916044358381116103a1576108c89036906004016104cd565b5f805160206126e48339815191529491855494838616806109b65760ff8760401c169081156109a9575b50610997577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2966109929661095f958716906001600160401b03191617905561095a5f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108f2565b60405162dc149f60e41b8152600490fd5b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610aca6121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a15760203660031901126103a157600435610b5e81610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610c54602435610c2681610700565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a15760403660031901126103a157600435610c7d81610700565b6024356001600160401b0381116103a1575f91610c9f839236906004016104cd565b90816040519283928337810184815203915af4610cec610cbd6119a9565b91610cde6040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610db0602435610d8e81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610c54602435610ddd81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a15760403660031901126103a15761067b602435600435610f3882610700565b805f525f805160206126c4833981519152602052610f5c600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761067b60043561107881610700565b6110806121e9565b6119fc565b346103a1575f3660031901126103a1576020600f54604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610cde9f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61108061225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610cde60405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e81610700565b60408401526080810151611b3181610700565b606084015260a0810151611b4481610700565b60808401520151611b5481610700565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f82610700565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b81610700565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212204ca194ae4a434d94ef4ce327695e1f46b458966a482a3f7129e348d5c5275c8964736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;2603:64:50;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;332:1303: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;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;332:1303:109;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3653:32:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;757:38:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;612:37:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;2084:35:108;332:1303:109;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;4919:24:23;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;332:1303:109;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;332:1303:109;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;;;;6431:44:26;;;;332:1303:109;6427:105:26;;-1:-1:-1;;332:1303:109;;;;;;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;-1:-1:-1;;;332:1303:109;;;6656:20:26;;;;332:1303:109;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;6450:25:26;;;6431:44;;1655:71:82;332:1303:109;;-1:-1:-1;;;1703:12:82;;332:1303:109;;1703:12:82;3666:88:30;332:1303:109;;-1:-1:-1;;;3713:30:30;;332:1303:109;;3713:30:30;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;655:32:82;-1:-1:-1;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;:::o;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;5350:25:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5350:25;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1329:40:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;332:1303:109;;6441:34:23;6437:102;;6549:37;332:1303:109;;;6549:37:23;:::i;6437:102::-;332:1303:109;;-1:-1:-1;;;6498:30:23;;332:1303:109;;6498:30:23;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;4126:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2255:34:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;-1:-1:-1;;;;;;;;;;;;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;332:1303:109;;;;;;734:29:82;730:87;;332:1303:109;;;;;6431:44:26;;;;;332:1303:109;6427:105:26;;;6656:20;332:1303:109;6656:20:26;332:1303:109;1167:340:82;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;332:1303:109;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;332:1303:109;;-1:-1:-1;;;786:20:82;;332:1303:109;;786:20:82;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2718:59:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1041:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;1989:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1564:45:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2423:32:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;3975:40:24;332:1303:109;;3975:40:24;332:1303:109;;;;;;;-1:-1:-1;;332:1303:109;;;;;;4027:43:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;332:1303:109;2594:68:108;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3932:39:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3833:43:108;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3901:31:23;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;3901:31:23;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;332:1303:109;;;;;;;;;;477:31:86;;332:1303:109;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;332:1303:109;518:79:86;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;900:35:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;2953:94:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;2953:94:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;2953:94:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3103:92:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;3103:92:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;4396:31:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2833:64:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2345:22:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1183:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3543:54:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2175:24:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3741:36:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;5767:26:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5767:26;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;466:39:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4221:36:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4313:27:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1466:3:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1286:6:106;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2357:1:24;332:1303:109;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;3437:50:108;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;477:31:86;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;1167:340:82:-;;332:1303:109;1167:340:82;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;1949;-1:-1:-1;;;;;332:1303:109;;;;1376:73:82;;1167:340;332:1303:109;;;;:::i;:::-;674:55;332:1303;;674:55;;;;;;;;;;;:::i;:::-;782:17;2802:37:106;782:17:109;;332:1303;;;;2802:37:106;;;;;;:::i;:::-;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;2854:31:106;2850:95;;2959:20;;;;;332:1303:109;;;;;;;;;;;2959:25:106;2955:92;;3061:29;;;332:1303:109;;3061:29:106;;332:1303:109;3061:43:106;;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;3061:43:106;;3057:971;;1167:340:82;4043:23:106;;;332:1303:109;4042:24:106;332:1303:109;;;;;;;;4042:24:106;;332:1303:109;4042:24:106;:67;;;1167:340:82;4038:132:106;;4200:28;;;-1:-1:-1;4185:9:106;1949:1:30;;;4180:411:106;-1:-1:-1;;332:1303:109;;4605:43:106;;-1:-1:-1;;;;;;332:1303:109;;;4605:43:106;;4601:697;;4180:411;6798:32;5411:34;332:1303:109;5411:34:106;;6015:42;332:1303:109;5411:34:106;;;811:157:109;5411:34:106;;332:1303:109;;5411:34:106;863:95:109;5411:34:106;332:1303:109;863:95;5411:34:106;;5343:468;5411:34;5343:468;5960:44;5411:34;5343:468;5411:34;5873:22;5411:34;;332:1303:109;5477:19:106;5343:468;5477:19;;;332:1303:109;5532:23:106;5343:468;332:1303:109;5532:23:106;;;332:1303:109;;;;;;;;;;5601:33:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;5679:32:106;;;332:1303:109;5679:32:106;;;332:1303:109;;5760:36:106;;-1:-1:-1;;;;;332:1303:109;5760:36:106;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;:::i;:::-;;;;5343:468:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;5343:468:106;;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;4043:23:106;5343:468;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;5343:468:106;;;332:1303:109;;5343:468:106;-1:-1:-1;;;;;332:1303:109;5343:468:106;;;332:1303:109;;5343:468:106;;:::i;:::-;332:1303:109;;5832:30:106;;-1:-1:-1;;;;;332:1303:109;1398:1:82;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;5832:30:106;5882:13;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;1949:1:30;332:1303:109;;;1949:1:30;332:1303:109;;5873:22:106;5906:44;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;;-1:-1:-1;;;332:1303:109;;;;;;;;5906:44:106;332:1303:109;;;;;;1949:1:30;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;5960:44:106;332:1303:109;;;;;;;;;1398:1:82;332:1303:109;;;;;;;1398:1:82;332:1303:109;;6015:42:106;6068:38;332:1303:109;5343:468:106;6085:21;;332:1303:109;;;;;;;1398:1:82;332:1303:109;;;;;;;;;;;;1398:1:82;332:1303:109;;6068:38:106;6116:34;5343:468;6131:19;;332:1303:109;6116:34:106;1991:1:30;;6116:34:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6161:135:106;;4180:411;-1:-1:-1;6309:36:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6305:157:106;;4180:411;-1:-1:-1;6475:35:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6471:153:106;;4180:411;-1:-1:-1;6637:34:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6633:152:106;;4180:411;-1:-1:-1;6798:32:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6794:145:106;;4180:411;930:11:109;;;;;;943:13;;;332:1303;;863:95;;;;;;;;;;;;;;:::i;:::-;1615:14:106;811:157:109;:::i;:::-;;1167:340:82:o;6794:145:106:-;6860:68;;;:::i;:::-;;6794:145;;;6633:152;6701:73;;;:::i;:::-;;6633:152;;;6471:153;6540:73;;;:::i;:::-;;6471:153;;;6305:157;6375:76;;;:::i;:::-;;6305:157;;;6161:135;6224:61;;;:::i;:::-;;6161:135;;;4601:697;4668:23;;;332:1303:109;4668:37:106;;-1:-1:-1;;;;;332:1303:109;;;4668:37:106;:23;;4729:32;;;332:1303:109;4729:46:106;;-1:-1:-1;;;;;332:1303:109;;;4729:46:106;:32;;4803:36;;;332:1303:109;4803:50:106;;-1:-1:-1;;;;;332:1303:109;;;4803:50:106;;;:78;;;4725:396;4799:167;;6798:32;4725:396;332:1303:109;4725:396:106;;6015:42;332:1303:109;4725:396:106;;;811:157:109;4725:396:106;;332:1303:109;;4725:396:106;863:95:109;4725:396:106;332:1303:109;863:95;4725:396:106;;5343:468;5873:22;4725:396;5343:468;5960:44;4725:396;;4601:697;;;;;;;;;;;;;;;;;;;;;;;;;;;4799:167;332:1303:109;;-1:-1:-1;;;4916:27:106;;;;;4803:78;4857:19;;;;332:1303:109;4857:24:106;4803:78;;4725:396;4994:36;;;332:1303:109;4994:50:106;;-1:-1:-1;;;;;332:1303:109;;;4994:50:106;;4990:131;;6798:32;4725:396;332:1303:109;4725:396:106;;6015:42;332:1303:109;4725:396:106;;;811:157:109;4725:396:106;;332:1303:109;;4725:396:106;863:95:109;4725:396:106;332:1303:109;863:95;4725:396:106;;5343:468;5873:22;4725:396;5343:468;5960:44;4725:396;;;4664:624;5145:32;;;332:1303:109;5145:46:106;;-1:-1:-1;;;;;332:1303:109;;;5145:46:106;;:74;;;4664:624;5141:147;;6798:32;4664:624;332:1303:109;4664:624:106;;6015:42;332:1303:109;4664:624:106;;;811:157:109;4664:624:106;;332:1303:109;;4664:624:106;863:95:109;4664:624:106;332:1303:109;863:95;4664:624:106;;5343:468;5873:22;4664:624;5343:468;5960:44;4664:624;;;5145:74;5195:19;;;;332:1303:109;5195:24:106;5145:74;;4237:3;4200:28;;332:1303:109;;4196:39:106;;;;;4260:31;;;:45;:31;;:::i;:45::-;;4256:114;;4388:55;;4411:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;4388:22:106;332:1303:109;;;;;;;4388:55:106;332:1303:109;;;;;4388:55:106;4384:120;;4541:28;;;4518:62;:55;4541:31;;:28;;;;:31;:::i;4518:55::-;332:1303:109;;-1:-1:-1;;332:1303:109;1949:1:30;332:1303:109;;;;4518:62:106;332:1303:109;4185:9:106;;;;4384:120;332:1303:109;;-1:-1:-1;;;4470:19:106;;;;;4256:114;332:1303:109;;-1:-1:-1;;;4332:23:106;;;;;4196:39;;;;4038:132;332:1303:109;;-1:-1:-1;;;4132:27:106;;;;;4042:67;4070:28;;;;;332:1303:109;4070:39:106;;4042:67;;3057:971;3124:36;;;332:1303:109;3124:50:106;;-1:-1:-1;;;;;332:1303:109;;;3124:50:106;;3120:419;;3057:971;3557:34;;;332:1303:109;3557:48:106;;-1:-1:-1;;;;;332:1303:109;;;3557:48:106;;3553:465;;3057:971;;;3553:465;3629:21;;;332:1303:109;;3629:21:106;;3678:19;;;332:1303:109;3678:24:106;:74;;;3625:379;3674:157;3057:971;3674:157;332:1303:109;;-1:-1:-1;;;3787:21:106;;;;;3678:74;-1:-1:-1;3706:32:106;;;332:1303:109;3706:46:106;;-1:-1:-1;;;;;332:1303:109;;;3706:46:106;;3678:74;;3625:379;3859:19;;;332:1303:109;3859:24:106;;;:74;;;3625:379;3855:149;3553:465;3855:149;332:1303:109;;-1:-1:-1;;;3964:21:106;;;;;3859:74;-1:-1:-1;3887:32:106;;;332:1303:109;3887:46:106;;-1:-1:-1;;;;;332:1303:109;;;3887:46:106;;;3859:74;;3120:419;3198:23;;;332:1303:109;;3198:23:106;;3249:35;;;332:1303:109;3249:49:106;;-1:-1:-1;;;;;332:1303:109;;;3249:49:106;3120:419;3245:132;332:1303:109;;-1:-1:-1;;;3333:21:106;;;;;3194:331;3405:35;;;332:1303:109;3405:49:106;;-1:-1:-1;;;;;332:1303:109;;;3405:49:106;3401:124;3120:419;3401:124;332:1303:109;;-1:-1:-1;;;3485:21:106;;;;;2955:92;332:1303:109;;-1:-1:-1;;;3007:29:106;;;;;2850:95;332:1303:109;;-1:-1:-1;;;2908:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;332:1303:109;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;332:1303:109;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;332:1303:109;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;332:1303:109;;;3534:31:24;1809:204:82;;332:1303:109;1110:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;332:1303:109;;;:::i;:::-;;;1096:15;1110:1;;1200:58;332:1303;1200:58;332:1303;1345:165;332:1303;;1200:58;;;;;;:::i;:::-;;1312:17;;1200:58;:::i;:::-;1401:95;1481:13;1200:58;1468:11;;;1481:13;;;332:1303;1401:95;1481:13;332:1303;863:95;;;;;;1200:58;1401:95;;;;;;;:::i;1092:535::-;332:1303;;;;7113:40:106;;332:1303:109;;;;7208:64:106;7209:38;1286:6;332:1303:109;;;;;;;;:::i;:::-;7113:40:106;;;332:1303:109;;;;;;;7113:40:106;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7186:6:106;;;:::i;:::-;332:1303:109;7209:38:106;:::i;:::-;7208:64;332:1303:109;1110:1;332:1303;;;;;;;;;;7208:64:106;;;:::i;:::-;:82;7204:151;;1809:204:82:o;7204:151:106:-;332:1303:109;;-1:-1:-1;;;7313:31:106;;;;;4148:103:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;966:10:28;332:1303:109;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;332:1303:109;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;332:1303:109;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;332:1303:109;;1398:1:82;332:1303:109;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;;;1398:1:82;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;-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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303: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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;3901:31:23;332:1303:109;7892:388:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;;8155:40:23;-1:-1:-1;;8155:40:23;332:1303:109;8209:11:23;:::o;332:1303:109:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;332:1303:109;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;332:1303:109;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;332:1303:109;;-1:-1:-1;;;7191:17:26;;;;;332:1303:109;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;332:1303:109:-;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;1642:1025:106:-;1783:1;332:1303:109;;1746:38:106;1742:119;;1875:23;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;1875:23:106;;332:1303:109;;1875:37:106;;:65;;1642:1025;1871:130;;332:1303:109;2138:42:106;332:1303:109;2507:36:106;332:1303:109;2011:72:106;332:1303:109;;;2011:72:106;1991:1:30;;2011:72:106;2094:34;2109:19;;;332:1303:109;2094:34:106;1991:1:30;;332:1303:109;;;;;;;;;;2138:42:106;332:1303:109;;;2138:42:106;332:1303:109;;2138:42:106;2195:33;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2191:148:106;;1642:1025;-1:-1:-1;2352:32:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2348:146:106;;-1:-1:-1;2507:36:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;2503:158:106;;1642:1025;:::o;2503:158::-;2573:77;;;:::i;2348:146::-;2414:69;;;:::i;2191:148::-;2258:70;;;:::i;:::-;;2191:148;;;1871:130;1875:23;332:1303:109;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;332:1303:109;1916:24:106;;1875:65;;1742:119;332:1303:109;;-1:-1:-1;;;1807:43:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;332:1303:109;;5674:21:56;:17;;5799:158;;;;;;5670:354;332:1303:109;;-1:-1:-1;;;5994:19:56;;;;;4589:408;332:1303:109;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;332:1303:109;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;332:1303:109;;;4917:24:56;;;332:1303:109;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;14296:213:69;332:1303:109;14374:24:69;;;;14370:103;;332:1303:109;14296:213:69;:::o;14370:103::-;332:1303:109;;;;14421:41:69;;;;;;14452:2;14421:41;;;332:1303:109;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":5469,"length":32},{"start":8747,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochDurationInitInternal()":"64601402","epochDurationInternal()":"1e89bd8a","epochDurationSetEpochsDelayInternal()":"fcdc5b60","epochInitInternal()":"0fcaeb1b","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","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","nextEpochDurationInitInternal()":"75d6c765","nextEpochDurationInternal()":"502b4d60","nextEpochDurationSetEpochsDelayInternal()":"bc4f8c05","nextEpochInitInternal()":"ddd0f28a","owner()":"8da5cb5b","prevEpochDurationInitInternal()":"8d30d7a7","prevEpochDurationInternal()":"7e84ec81","prevEpochInitInternal()":"d2356eb5","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\":\"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\":\"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\":\"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\":\"epochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochInitInternal\",\"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\":\"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\":\"nextEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochDurationSetEpochsDelayInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInitInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochDurationInternal\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prevEpochInitInternal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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.\"},\"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.\"},\"epochDurationInitInternal()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"epochDurationInternal()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"epochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"epochInitInternal()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"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.\"},\"nextEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"nextEpochDurationInternal()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"nextEpochDurationSetEpochsDelayInternal()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"nextEpochInitInternal()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"prevEpochDurationInitInternal()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"prevEpochDurationInternal()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"prevEpochInitInternal()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"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\":\"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909\",\"dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420\",\"dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974\",\"dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"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":"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":"epochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochInitInternal","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":"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":"nextEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochDurationSetEpochsDelayInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInitInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochDurationInternal","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"prevEpochInitInternal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"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."},"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."},"epochDurationInitInternal()":{"notice":"Get a time point of the epoch duration set (internal)."},"epochDurationInternal()":{"notice":"Get a duration of the epoch (internal)."},"epochDurationSetEpochsDelayInternal()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"epochInitInternal()":{"notice":"Get the current epoch duration's first epoch (internal)."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"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."},"nextEpochDurationInitInternal()":{"notice":"Get a time point of the next epoch duration set (internal)."},"nextEpochDurationInternal()":{"notice":"Get a duration of the next epoch (internal)."},"nextEpochDurationSetEpochsDelayInternal()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"nextEpochInitInternal()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"prevEpochDurationInitInternal()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"prevEpochDurationInternal()":{"notice":"Get a duration of the previous epoch (internal)."},"prevEpochInitInternal()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"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":"0x9278c5880b21d78143f626a70650cf4d51f8c53e2939c4bd5224941802b49a84","urls":["bzz-raw://47507db58a64d71c1f5d95274339484b8051bad0519a0184be771d6cb2984909","dweb:/ipfs/QmT9NpD7AhSJwXhwWynh1GDUnAybk7Ac16mMhDs5cECmCm"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x6f63797aca506b9df80d0be9c11e4401bc700731908f61319c3ab9f5b3268d8e","urls":["bzz-raw://184fff8d4dfcfbc77e215588a7ab2a614d9deaa9d370ad82ba0c88e42249a420","dweb:/ipfs/QmcSY5oiYNRynXjX2WeVjhbJ3SHnKotf3qd64pHQ8oGBBS"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0xa72da1589db1fb323fb5bcdf4d0c0cac3462e7fc5993431e54af4472af5b6852","urls":["bzz-raw://1a410113a4725fe8337616973645f66004a9e48aa6c697f391b7ceb3aa0ae974","dweb:/ipfs/QmUw6JHrEYe1ghVDGUgc9NkzxZsiPdkFZDMp7m4eXccw27"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":109} \ No newline at end of file +{"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":"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":"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":"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":"0x60c03461011c57612882906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516127399081610149823960805181818161054601526106b1015260a05181818161155d015261222b0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe608060405260043610612221575f3560e01c806301ffc9a71461034b5780631415519b146103465780631b66c9e114610341578063248a9ca31461033c5780632749f9c41461033757806327810b6e146103325780632abe30481461032d5780632dd31000146103285780632f2ff15d146103235780632fa27fae1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f57806350861adc1461030a57806354fd4d501461030557806357ec83cc146103005780635a36aa74146102fb5780635cc07076146102f657806361819dd8146102f1578063653b04cd146102ec5780636e0f2455146102e75780636ec1e3f8146102e2578063715018a6146102dd578063794b15b7146102d85780638da5cb5b146102d357806391d14854146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bba6ff4a1461028d578063bc46f72214610288578063c1bc6f5114610283578063c4db46fc1461027e578063cc52aee714610279578063ce9b793014610274578063d547741f1461026f578063d8dfeb451461026a578063db38871514610265578063e945da7f14610260578063ecc98f051461025b578063ecf7085814610256578063f151f6b5146102515763f2fde38b0361222157611075565b611058565b61103b565b61101d565b611000565b610fc6565b610f9b565b610f4f565b610f27565b610eff565b610ee2565b610eba565b610e80565b610e63565b610e3b565b610e11565b610de9565b610da3565b610d56565b610d1c565b610d02565b610cde565b610cb6565b610c22565b610c05565b610be8565b610b8a565b610b56565b610b16565b610aaf565b610a8a565b610a65565b610a2b565b6109f1565b6109c7565b61099f565b61085a565b610828565b610803565b6107e2565b610797565b61075d565b61073d565b6106f1565b61069c565b6104da565b61046f565b610452565b610419565b6103df565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576104f4610497565b906001600160401b036024358181116103a1576105159036906004016104ad565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461068b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361067a575f805160206126e483398151915280548281169260ff82881c16801561066e575b61065d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461062f94909390926105fe92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161065b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b50808816841015610595565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761065b602435600435610714826106e0565b805f525f805160206126c4833981519152602052610738600160405f200154611ba1565b612010565b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b4816106e0565b336001600160a01b038216036107d05761065b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a157610873610497565b60243561087f816106e0565b6001600160401b03916044358381116103a1576108a09036906004016104ad565b5f805160206126e483398151915294918554948386168061098e5760ff8760401c16908115610981575b5061096f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661096a96610937958716906001600160401b0319161790556109325f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ca565b60405162dc149f60e41b8152600490fd5b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac76121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a15760203660031901126103a157600435610b33816106e0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610bdc602435610bae816106e0565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a1575f3660031901126103a1576020601154604051908152f35b346103a15760403660031901126103a157600435610c3f816106e0565b6024356001600160401b0381116103a1575f91610c61839236906004016104ad565b90816040519283928337810184815203915af4610cae610c7f6119a9565b91610ca06040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610d9a602435610d78816106e0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610bdc602435610dc7816106e0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020600f54604051908152f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a15761065b602435600435610f72826106e0565b805f525f805160206126c4833981519152602052610f96600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761065b600435611095816106e0565b61109d6121e9565b6119fc565b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610ca09f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610ca09f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610ca09f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610ca09f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61109d61225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610ca060405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e816106e0565b60408401526080810151611b31816106e0565b606084015260a0810151611b44816106e0565b60808401520151611b54816106e0565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f826106e0565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b816106e0565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220e173591cffb0432ded8ca029a1bee200b3295a6f63d09c4270b86974cc3bcf7164736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;332:1303:109;;;;;;;;;7896:76:26;;332:1303:109;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;332:1303:109;;;;;;;927:17:82;332:1303:109;;;;;;;;;;1445:31:106;332:1303:109;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;332:1303:109;;;;;;;;;;;;;8087:29:26;;332:1303:109;;8087:29:26;7981:146;;;;;7896:76;332:1303:109;;-1:-1:-1;;;7938:23:26;;;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;-1:-1:-1;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610612221575f3560e01c806301ffc9a71461034b5780631415519b146103465780631b66c9e114610341578063248a9ca31461033c5780632749f9c41461033757806327810b6e146103325780632abe30481461032d5780632dd31000146103285780632f2ff15d146103235780632fa27fae1461031e57806331d9736c1461031957806336568abe1461031457806348d3b7751461030f57806350861adc1461030a57806354fd4d501461030557806357ec83cc146103005780635a36aa74146102fb5780635cc07076146102f657806361819dd8146102f1578063653b04cd146102ec5780636e0f2455146102e75780636ec1e3f8146102e2578063715018a6146102dd578063794b15b7146102d85780638da5cb5b146102d357806391d14854146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a217fddf146102b0578063a21a1df9146102ab578063a3b54172146102a6578063a5d03223146102a1578063a8b24f9a1461029c578063afba70ad14610297578063b134427114610292578063bba6ff4a1461028d578063bc46f72214610288578063c1bc6f5114610283578063c4db46fc1461027e578063cc52aee714610279578063ce9b793014610274578063d547741f1461026f578063d8dfeb451461026a578063db38871514610265578063e945da7f14610260578063ecc98f051461025b578063ecf7085814610256578063f151f6b5146102515763f2fde38b0361222157611075565b611058565b61103b565b61101d565b611000565b610fc6565b610f9b565b610f4f565b610f27565b610eff565b610ee2565b610eba565b610e80565b610e63565b610e3b565b610e11565b610de9565b610da3565b610d56565b610d1c565b610d02565b610cde565b610cb6565b610c22565b610c05565b610be8565b610b8a565b610b56565b610b16565b610aaf565b610a8a565b610a65565b610a2b565b6109f1565b6109c7565b61099f565b61085a565b610828565b610803565b6107e2565b610797565b61075d565b61073d565b6106f1565b61069c565b6104da565b61046f565b610452565b610419565b6103df565b6103a5565b346103a15760203660031901126103a15760043563ffffffff60e01b81168091036103a157602090637965db0b60e01b8114908115610390575b506040519015158152f35b6301ffc9a760e01b1490505f610385565b5f80fd5b346103a1575f3660031901126103a15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103a1575f3660031901126103a15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103a15760203660031901126103a1576004355f525f805160206126c48339815191526020526020600160405f200154604051908152f35b346103a1575f3660031901126103a1576020601454604051908152f35b346103a1575f3660031901126103a1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103a157565b9181601f840112156103a1578235916001600160401b0383116103a157602083818601950101116103a157565b346103a1576040806003193601126103a1576104f4610497565b906001600160401b036024358181116103a1576105159036906004016104ad565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00600281541461068b57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361067a575f805160206126e483398151915280548281169260ff82881c16801561066e575b61065d5767ffffffffffffffff199091169087161790555f805160206126e4833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461062f94909390926105fe92611a6d565b5f805160206126e4833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161065b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b50808816841015610595565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103a1575f3660031901126103a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103a157565b346103a15760403660031901126103a15761065b602435600435610714826106e0565b805f525f805160206126c4833981519152602052610738600160405f200154611ba1565b612010565b346103a1575f3660031901126103a157602060015460d01c604051908152f35b346103a1575f3660031901126103a15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103a15760403660031901126103a1576024356107b4816106e0565b336001600160a01b038216036107d05761065b90600435612046565b60405163334bd91960e11b8152600490fd5b346103a1575f3660031901126103a157602060ff5f54166040519015158152f35b346103a1575f3660031901126103a157602060ff60025460a01c166040519015158152f35b346103a1575f3660031901126103a15760206001600160401b035f805160206126e48339815191525416604051908152f35b346103a15760603660031901126103a157610873610497565b60243561087f816106e0565b6001600160401b03916044358381116103a1576108a09036906004016104ad565b5f805160206126e483398151915294918554948386168061098e5760ff8760401c16908115610981575b5061096f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661096a96610937958716906001600160401b0319161790556109325f805160206126e4833981519152600160401b68ff000000000000000019825416179055565b611192565b5f805160206126e4833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ca565b60405162dc149f60e41b8152600490fd5b346103a1575f3660031901126103a157602065ffffffffffff60135460301c16604051908152f35b346103a15760203660031901126103a1576004355f526006602052602060405f2054604051908152f35b346103a1575f3660031901126103a15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103a1575f3660031901126103a15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103a1575f3660031901126103a157602065ffffffffffff60135416604051908152f35b346103a1575f3660031901126103a157602060ff60035460a01c166040519015158152f35b346103a1575f3660031901126103a157610ac76121e9565b5f805160206126a483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103a15760203660031901126103a157600435610b33816106e0565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103a1575f3660031901126103a1575f805160206126a4833981519152546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a157602060ff610bdc602435610bae816106e0565b6004355f525f805160206126c4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103a1575f3660031901126103a1576020601254604051908152f35b346103a1575f3660031901126103a1576020601154604051908152f35b346103a15760403660031901126103a157600435610c3f816106e0565b6024356001600160401b0381116103a1575f91610c61839236906004016104ad565b90816040519283928337810184815203915af4610cae610c7f6119a9565b91610ca06040519384921515602084015260408084015260608301906119d8565b03601f1981018352826110f1565b805190602001fd5b346103a1575f3660031901126103a157602065ffffffffffff60015460a01c16604051908152f35b346103a1575f3660031901126103a157602060ff5f5460081c166040519015158152f35b346103a1575f3660031901126103a15760206040515f8152f35b346103a1575f3660031901126103a15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103a15760403660031901126103a1576020610d9a602435610d78816106e0565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103a15760403660031901126103a157602060ff610bdc602435610dc7816106e0565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103a1575f3660031901126103a1576016546040516001600160a01b039091168152602090f35b346103a15760203660031901126103a1576004355f526007602052602060405f2054604051908152f35b346103a1575f3660031901126103a1576003546040516001600160a01b039091168152602090f35b346103a1575f3660031901126103a1576020600f54604051908152f35b346103a1575f3660031901126103a15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460901c16604051908152f35b346103a1575f3660031901126103a1576020601054604051908152f35b346103a1575f3660031901126103a157602065ffffffffffff60135460601c16604051908152f35b346103a1575f3660031901126103a1576002546040516001600160a01b039091168152602090f35b346103a15760403660031901126103a15761065b602435600435610f72826106e0565b805f525f805160206126c4833981519152602052610f96600160405f200154611ba1565b612046565b346103a1575f3660031901126103a1575f5460405160109190911c6001600160a01b03168152602090f35b346103a1575f3660031901126103a15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103a1575f3660031901126103a1576020601554604051908152f35b346103a1575f3660031901126103a1576020604051633b9aca008152f35b346103a1575f3660031901126103a1576020600454604051908152f35b346103a1575f3660031901126103a157602060405162093a808152f35b346103a15760203660031901126103a15761065b600435611095816106e0565b61109d6121e9565b6119fc565b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b038211176110d157604052565b6110a2565b606081019081106001600160401b038211176110d157604052565b90601f801991011681019081106001600160401b038211176110d157604052565b6040519061111f826110b6565b565b6040519061024082018281106001600160401b038211176110d157604052565b6001600160401b0381116110d157601f01601f191660200190565b92919261116882611141565b9161117660405193846110f1565b8294818452818301116103a1578281602093845f960137010152565b906111ea909392936111a261225d565b6111aa61225d565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00819055946001600160a01b039380851661198f575b50369161115c565b6111ff8151916020808094830101910161212b565b916112138351838082518301019101612326565b805182166001600160a01b03161561197d576040958682019065ffffffffffff611243835165ffffffffffff1690565b161561196c576101208301805190929061126d906001600160a01b03165b6001600160a01b031690565b15611837575b60608401916112896112858451151590565b1590565b80611828575b6118175761018085015f825b61176a575b505083516112b791506001600160a01b0316611261565b156115d4575b6101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610ca09f916113ac836113a761147a9861139760c06114149801519361138760e08201519361137761131e61010085015160018060a01b031690565b6101e08501516001600160a01b031661020086015190939061135690610220906001600160a01b03169701516001600160a01b031690565b9761135f611112565b9a8b528c8b01526001600160a01b0390911690890152565b6001600160a01b03166060870152565b6001600160a01b03166080850152565b6001600160a01b031660a0830152565b612509565b8b516113e3906001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b8b01516001600160a01b031690565b60018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b61144961142042612671565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b5165ffffffffffff1690565b600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b51151590565b60ff80195f541691151516175f55565b6114b76114a06080850151151590565b61ff005f5491151560081b169061ff001916175f55565b6114c460a0840151600455565b516001600160a01b031690565b8481166115c4575b506101408101516001600160a01b03168481166115b4575b506101608101516001600160a01b03168481166115a4575b506101a08101516001600160a01b0316848116611594575b5001516001600160a01b031690565b908116611584575b508083860151950151905194859363602bd8e760e01b90850152602484016121c4565b7f00000000000000000000000000000000000000000000000000000000000000006124b1565b50565b61158d90611e54565b505f611538565b61159d90611de5565b505f611521565b6115ad90611d76565b505f611509565b6115bd90611ca0565b505f6114f1565b6115cd90611bef565b505f6114d9565b6101008401516115ec906001600160a01b0316611261565b6116fe57610200840151611608906001600160a01b0316611261565b6116a457610220840151611624906001600160a01b0316611261565b151580611698575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610ca09f916113ac611414936113a761147a985b5050505050505099505050979a9b505050959b9a50509450506112bd565b8851630331eb0f60e41b8152600490fd5b5060e08401511561162c565b6102208401516116bc906001600160a01b0316611261565b15611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610ca09f916113ac611414936113a761147a98611669565b610200840151611716906001600160a01b0316611261565b158061175e575b611687576101c0846114d18b956114906114808b9a976115819e9f6114556115309961155b9f6113f2610ca09f916113ac611414936113a761147a98611669565b5060e08401511561171d565b81518051821015611811576112616114c48361178593612489565b15611800576117be6117b761179e6114c4848651612489565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117ef579082826117e76117da61179e6114c485978751612489565b805460ff19166001179055565b01909161129b565b8b5163a741a04560e01b8152600490fd5b8b51630da30f6560e31b8152600490fd5b506112a0565b895163ebf503c560e01b8152600490fd5b5061018085015151151561128f565b61014084015161184f906001600160a01b0316611261565b15611907575b6101a084015161186d906001600160a01b0316611261565b15611878575b611273565b6080840151156118c35760a084015115806118a4575b1561127357885163183c854560e21b8152600490fd5b506101c08401516118bd906001600160a01b0316611261565b1561188e565b60a0840151158015906118e7575b1561187357885163183c854560e21b8152600490fd5b506101c0840151611900906001600160a01b0316611261565b15156118d1565b60608401511561193e57610160840151611929906001600160a01b0316611261565b61185557885163183c854560e21b8152600490fd5b610160840151611956906001600160a01b0316611261565b1561185557885163183c854560e21b8152600490fd5b87516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a39061199b61225d565b61109d61225d565b5f6111e2565b3d156119d3573d906119ba82611141565b916119c860405193846110f1565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611a55575f805160206126a483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a846001926001600160401b0392369161115c565b921603611ad857611aa1816020806115819451830101910161212b565b611aab8151611ad8565b61155b6040602083015192015191610ca060405193849263602bd8e760e01b6020850152602484016121c4565b60c0818051810103126103a157611b88611b6862093a809260c060405191611aff836110b6565b60208101518352604081015160208401526060810151611b1e816106e0565b60408401526080810151611b31816106e0565b606084015260a0810151611b44816106e0565b60808401520151611b54816106e0565b60a0820152611b6281612509565b516124e2565b611b82611b7760015460d01c90565b65ffffffffffff1690565b906124f6565b10611b8f57565b60405163119796df60e01b8152600490fd5b5f8181525f805160206126c48339815191526020908152604080832033845290915290205460ff1615611bd15750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206126c48339815191529060ff16611c9a575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206126c48339815191529060ff905b5416611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206126c48339815191529060ff90611d0b565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206126c48339815191529060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b038716855290915290912060ff90611d0b565b5f8181525f805160206126c4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611d6f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b9291926120e482611141565b916120f260405193846110f1565b8294818452818301116103a1578281602093845f96015e010152565b9080601f830112156103a1578151612128926020016120d8565b90565b906020828203126103a15781516001600160401b03928382116103a15701906060828203126103a15760405192612161846110d6565b82518181116103a157830182601f820112156103a15782816020612187935191016120d8565b845260208301518181116103a157826121a191850161210e565b602085015260408301519081116103a1576121bc920161210e565b604082015290565b90916121db612128936040845260408401906119d8565b9160208184039101526119d8565b5f805160206126a4833981519152546001600160a01b0316330361220957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612259573d5ff35b3d5ffd5b60ff5f805160206126e48339815191525460401c161561227957565b604051631afcd79f60e31b8152600490fd5b519061111f826106e0565b519065ffffffffffff821682036103a157565b519081151582036103a157565b81601f820112156103a1578051916020916001600160401b0384116110d1578360051b90604051946122ea858401876110f1565b855283808601928201019283116103a1578301905b82821061230d575050505090565b838091835161231b816106e0565b8152019101906122ff565b906020828203126103a15781516001600160401b03928382116103a1570190610240828203126103a157612358611121565b926123628361228b565b84526123706020840161228b565b602085015261238160408401612296565b6040850152612392606084016122a9565b60608501526123a3608084016122a9565b608085015260a083015160a085015260c083015160c085015260e083015160e08501526101006123d481850161228b565b908501526101206123e681850161228b565b908501526101406123f881850161228b565b9085015261016061240a81850161228b565b9085015261018091828401519182116103a1576124289184016122b6565b908301526101a061243a81830161228b565b908301526101c061244c81830161228b565b908301526101e061245e81830161228b565b9083015261020061247081830161228b565b9083015261248261022080920161228b565b9082015290565b805182101561249d5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f8061212893602081519101845af46124c86119a9565b9161260e565b634e487b7160e01b5f52601160045260245ffd5b6001198101919082116124f157565b6124ce565b818102929181159184041417156124f157565b60038151106125fc576040810180516001600160a01b03929190831615806125ef575b6125dd578161257661255460a0936125476125b19651600f55565b6114c46020850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60608101516001600160a01b03168481166125cd575b5060808101516001600160a01b03168481166125c4575001516001600160a01b031690565b9081166125bb5750565b61158190611fa1565b61159d90611f32565b6125d690611ec3565b505f61258c565b604051630331eb0f60e41b8152600490fd5b506020820151151561252c565b6040516317a509b960e31b8152600490fd5b90612635575080511561262357805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612668575b612646575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561263e565b65ffffffffffff90818111612684571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220e173591cffb0432ded8ca029a1bee200b3295a6f63d09c4270b86974cc3bcf7164736f6c63430008190033","sourceMap":"332:1303:109:-:0;;;;;;2603:64:50;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;332:1303: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;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;332:1303:109;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;332:1303:109;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;757:38:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;612:37:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;4919:24:23;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4177:34:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;332:1303:109;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;332:1303:109;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;;;;6431:44:26;;;;332:1303:109;6427:105:26;;-1:-1:-1;;332:1303:109;;;;;;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;-1:-1:-1;;;332:1303:109;;;6656:20:26;;;;332:1303:109;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;6450:25:26;;;6431:44;;1655:71:82;332:1303:109;;-1:-1:-1;;;1703:12:82;;332:1303:109;;1703:12:82;3666:88:30;332:1303:109;;-1:-1:-1;;;3713:30:30;;332:1303:109;;3713:30:30;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;655:32:82;-1:-1:-1;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;:::o;:::-;;;;;;-1:-1:-1;;332:1303:109;;;;5350:25:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5350:25;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;2077:28:108;332:1303:109;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1329:40:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;332:1303:109;;6441:34:23;6437:102;;6549:37;332:1303:109;;;6549:37:23;:::i;6437:102::-;332:1303:109;;-1:-1:-1;;;6498:30:23;;332:1303:109;;6498:30:23;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2241:34:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;-1:-1:-1;;;;;;;;;;;;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;332:1303:109;;;;;;734:29:82;730:87;;332:1303:109;;;;;6431:44:26;;;;;332:1303:109;6427:105:26;;;6656:20;332:1303:109;6656:20:26;332:1303:109;1167:340:82;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;332:1303:109;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;6656:20:26;;;;332:1303:109;6427:105:26;332:1303:109;;-1:-1:-1;;;6498:23:26;;332:1303:109;;6498:23:26;6431:44;332:1303:109;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;332:1303:109;;-1:-1:-1;;;786:20:82;;332:1303:109;;786:20:82;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;3909:32:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2704:59:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1041:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1564:45:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3817:36:108;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;2409:32:108;332:1303:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;-1:-1:-1;;;;;332:1303:109;3975:40:24;332:1303:109;;3975:40:24;332:1303:109;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;332:1303:109;2580:68:108;332:1303:109;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3901:31:23;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;3901:31:23;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3719:42:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3625:38:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;332:1303:109;;;;;;;;;;477:31:86;;332:1303:109;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;332:1303:109;518:79:86;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;;;1989:32:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;900:35:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;2939:94:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;2939:94:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;2939:94:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3089:92:108;332:1303:109;;;;;:::i;:::-;;;-1:-1:-1;332:1303:109;3089:92:108;332:1303:109;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;4350:31:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;-1:-1:-1;332:1303:109;2819:64:108;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2331:22:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3423:43:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1183:36:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;4089:32:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;3522:47:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;3997:36:108;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2161:24:108;332:1303:109;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;5767:26:23;332:1303:109;;;;;;;:::i;:::-;;-1:-1:-1;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;3202:4:23;4919:24;332:1303:109;-1:-1:-1;332:1303:109;4919:24:23;332:1303:109;3202:4:23;:::i;:::-;5767:26;:::i;332:1303:109:-;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;466:39:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;4267:27:108;332:1303:109;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1466:3:108;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;1286:6:106;332:1303:109;;;;;;;;;-1:-1:-1;;332:1303:109;;;;2357:1:24;332:1303:109;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;332:1303:109:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;477:31:86;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;:::o;:::-;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;1167:340:82:-;;332:1303:109;1167:340:82;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;1949;-1:-1:-1;;;;;332:1303:109;;;;1376:73:82;;1167:340;332:1303:109;;;;:::i;:::-;674:55;332:1303;;674:55;;;;;;;;;;;:::i;:::-;782:17;2795:37:106;782:17:109;;332:1303;;;;2795:37:106;;;;;;:::i;:::-;332:1303:109;;;;-1:-1:-1;;;;;332:1303:109;2847:31:106;2843:95;;2952:20;;;;;332:1303:109;;;;;;;;;;;2952:25:106;2948:92;;3054:29;;;332:1303:109;;3054:29:106;;332:1303:109;3054:43:106;;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;3054:43:106;;3050:971;;1167:340:82;4036:23:106;;;332:1303:109;4035:24:106;332:1303:109;;;;;;;;4035:24:106;;332:1303:109;4035:24:106;:67;;;1167:340:82;4031:132:106;;4193:28;;;-1:-1:-1;4178:9:106;1949:1:30;;;4173:411:106;-1:-1:-1;;332:1303:109;;4598:43:106;;-1:-1:-1;;;;;;332:1303:109;;;4598:43:106;;4594:697;;4173:411;6777:32;5404:34;332:1303:109;5404:34:106;;5994:42;332:1303:109;5404:34:106;;;811:157:109;5404:34:106;;332:1303:109;;5404:34:106;863:95:109;5404:34:106;332:1303:109;863:95;5404:34:106;;5336:468;5404:34;5336:468;5946:37;5404:34;5336:468;5404:34;5866:22;5404:34;;332:1303:109;5470:19:106;5336:468;5470:19;;;332:1303:109;5525:23:106;5336:468;332:1303:109;5525:23:106;;;332:1303:109;;;;;;;;;;5594:33:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;5672:32:106;;;332:1303:109;5672:32:106;;;332:1303:109;;5753:36:106;;-1:-1:-1;;;;;332:1303:109;5753:36:106;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;:::i;:::-;;;;5336:468:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;5336:468:106;;;332:1303:109;;5336:468:106;-1:-1:-1;;;;;332:1303:109;4036:23:106;5336:468;;332:1303:109;;5336:468:106;-1:-1:-1;;;;;332:1303:109;5336:468:106;;;332:1303:109;;5336:468:106;-1:-1:-1;;;;;332:1303:109;5336:468:106;;;332:1303:109;;5336:468:106;;:::i;:::-;332:1303:109;;5825:30:106;;-1:-1:-1;;;;;332:1303:109;1398:1:82;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;5825:30:106;5875:13;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;1949:1:30;332:1303:109;;;1949:1:30;332:1303:109;;5866:22:106;5899:37;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;332:1303:109;;-1:-1:-1;;;;332:1303:109;;;;;;-1:-1:-1;;;332:1303:109;;;;;;;;5899:37:106;332:1303:109;;;;;;1949:1:30;332:1303:109;;-1:-1:-1;;;;;332:1303:109;;;;;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;5946:37:106;332:1303:109;;;;;;;;;1398:1:82;332:1303:109;;;;;;;1398:1:82;332:1303:109;;5994:42:106;6047:38;332:1303:109;5336:468:106;6064:21;;332:1303:109;;;;;;;1398:1:82;332:1303:109;;;;;;;;;;;;1398:1:82;332:1303:109;;6047:38:106;6095:34;5336:468;6110:19;;332:1303:109;6095:34:106;1991:1:30;;6095:34:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6140:135:106;;4173:411;-1:-1:-1;6288:36:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6284:157:106;;4173:411;-1:-1:-1;6454:35:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6450:153:106;;4173:411;-1:-1:-1;6616:34:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;6612:152:106;;4173:411;-1:-1:-1;6777:32:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;6773:145:106;;4173:411;930:11:109;;;;;;943:13;;;332:1303;;863:95;;;;;;;;;;;;;;:::i;:::-;1615:14:106;811:157:109;:::i;:::-;;1167:340:82:o;6773:145:106:-;6839:68;;;:::i;:::-;;6773:145;;;6612:152;6680:73;;;:::i;:::-;;6612:152;;;6450:153;6519:73;;;:::i;:::-;;6450:153;;;6284:157;6354:76;;;:::i;:::-;;6284:157;;;6140:135;6203:61;;;:::i;:::-;;6140:135;;;4594:697;4661:23;;;332:1303:109;4661:37:106;;-1:-1:-1;;;;;332:1303:109;;;4661:37:106;:23;;4722:32;;;332:1303:109;4722:46:106;;-1:-1:-1;;;;;332:1303:109;;;4722:46:106;:32;;4796:36;;;332:1303:109;4796:50:106;;-1:-1:-1;;;;;332:1303:109;;;4796:50:106;;;:78;;;4718:396;4792:167;;6777:32;4718:396;332:1303:109;4718:396:106;;5994:42;332:1303:109;4718:396:106;;;811:157:109;4718:396:106;;332:1303:109;;4718:396:106;863:95:109;4718:396:106;332:1303:109;863:95;4718:396:106;;5336:468;5866:22;4718:396;5336:468;5946:37;4718:396;;4594:697;;;;;;;;;;;;;;;;;;;;;;;;;;;4792:167;332:1303:109;;-1:-1:-1;;;4909:27:106;;;;;4796:78;4850:19;;;;332:1303:109;4850:24:106;4796:78;;4718:396;4987:36;;;332:1303:109;4987:50:106;;-1:-1:-1;;;;;332:1303:109;;;4987:50:106;;4983:131;;6777:32;4718:396;332:1303:109;4718:396:106;;5994:42;332:1303:109;4718:396:106;;;811:157:109;4718:396:106;;332:1303:109;;4718:396:106;863:95:109;4718:396:106;332:1303:109;863:95;4718:396:106;;5336:468;5866:22;4718:396;5336:468;5946:37;4718:396;;;4657:624;5138:32;;;332:1303:109;5138:46:106;;-1:-1:-1;;;;;332:1303:109;;;5138:46:106;;:74;;;4657:624;5134:147;;6777:32;4657:624;332:1303:109;4657:624:106;;5994:42;332:1303:109;4657:624:106;;;811:157:109;4657:624:106;;332:1303:109;;4657:624:106;863:95:109;4657:624:106;332:1303:109;863:95;4657:624:106;;5336:468;5866:22;4657:624;5336:468;5946:37;4657:624;;;5138:74;5188:19;;;;332:1303:109;5188:24:106;5138:74;;4230:3;4193:28;;332:1303:109;;4189:39:106;;;;;4253:31;;;:45;:31;;:::i;:45::-;;4249:114;;4381:55;;4404:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;332:1303:109;;;;;4381:22:106;332:1303:109;;;;;;;4381:55:106;332:1303:109;;;;;4381:55:106;4377:120;;4534:28;;;4511:62;:55;4534:31;;:28;;;;:31;:::i;4511:55::-;332:1303:109;;-1:-1:-1;;332:1303:109;1949:1:30;332:1303:109;;;;4511:62:106;332:1303:109;4178:9:106;;;;4377:120;332:1303:109;;-1:-1:-1;;;4463:19:106;;;;;4249:114;332:1303:109;;-1:-1:-1;;;4325:23:106;;;;;4189:39;;;;4031:132;332:1303:109;;-1:-1:-1;;;4125:27:106;;;;;4035:67;4063:28;;;;;332:1303:109;4063:39:106;;4035:67;;3050:971;3117:36;;;332:1303:109;3117:50:106;;-1:-1:-1;;;;;332:1303:109;;;3117:50:106;;3113:419;;3050:971;3550:34;;;332:1303:109;3550:48:106;;-1:-1:-1;;;;;332:1303:109;;;3550:48:106;;3546:465;;3050:971;;;3546:465;3622:21;;;332:1303:109;;3622:21:106;;3671:19;;;332:1303:109;3671:24:106;:74;;;3618:379;3667:157;3050:971;3667:157;332:1303:109;;-1:-1:-1;;;3780:21:106;;;;;3671:74;-1:-1:-1;3699:32:106;;;332:1303:109;3699:46:106;;-1:-1:-1;;;;;332:1303:109;;;3699:46:106;;3671:74;;3618:379;3852:19;;;332:1303:109;3852:24:106;;;:74;;;3618:379;3848:149;3546:465;3848:149;332:1303:109;;-1:-1:-1;;;3957:21:106;;;;;3852:74;-1:-1:-1;3880:32:106;;;332:1303:109;3880:46:106;;-1:-1:-1;;;;;332:1303:109;;;3880:46:106;;;3852:74;;3113:419;3191:23;;;332:1303:109;;3191:23:106;;3242:35;;;332:1303:109;3242:49:106;;-1:-1:-1;;;;;332:1303:109;;;3242:49:106;3113:419;3238:132;332:1303:109;;-1:-1:-1;;;3326:21:106;;;;;3187:331;3398:35;;;332:1303:109;3398:49:106;;-1:-1:-1;;;;;332:1303:109;;;3398:49:106;3394:124;3113:419;3394:124;332:1303:109;;-1:-1:-1;;;3478:21:106;;;;;2948:92;332:1303:109;;-1:-1:-1;;;3000:29:106;;;;;2843:95;332:1303:109;;-1:-1:-1;;;2901:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;332:1303:109;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;-1:-1:-1;;332:1303:109;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;332:1303:109;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;332:1303:109;;-1:-1:-1;;;;;;332:1303:109;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;332:1303:109;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;332:1303:109;;;3534:31:24;1809:204:82;;332:1303:109;1110:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;332:1303:109;;;:::i;:::-;;;1096:15;1110:1;;1200:58;332:1303;1200:58;332:1303;1345:165;332:1303;;1200:58;;;;;;:::i;:::-;;1312:17;;1200:58;:::i;:::-;1401:95;1481:13;1200:58;1468:11;;;1481:13;;;332:1303;1401:95;1481:13;332:1303;863:95;;;;;;1200:58;1401:95;;;;;;;:::i;1092:535::-;332:1303;;;;7092:40:106;;332:1303:109;;;;7187:57:106;7188:38;1286:6;332:1303:109;;;;;;;;:::i;:::-;7092:40:106;;;332:1303:109;;;;;;;7092:40:106;332:1303:109;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;7165:6:106;;;:::i;:::-;332:1303:109;7188:38:106;:::i;:::-;7187:57;332:1303:109;1110:1;332:1303;;;;;;;;;;7187:57:106;;;:::i;:::-;:75;7183:144;;1809:204:82:o;7183:144:106:-;332:1303:109;;-1:-1:-1;;;7285:31:106;;;;;4148:103:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;966:10:28;332:1303:109;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;332:1303:109;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;332:1303:109;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;332:1303:109;;1398:1:82;332:1303:109;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;;;1398:1:82;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;-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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;7509:4:23;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303: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;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1183:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;;;;;332:1303:109;;-1:-1:-1;332:1303:109;;;;;;;;;1329:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;332:1303:109;;3901:31:23;332:1303:109;7270:387:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;3901:31:23;332:1303:109;7892:388:23;-1:-1:-1;332:1303:109;;;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;-1:-1:-1;;332:1303:109;;;966:10:28;;-1:-1:-1;;;;;332:1303:109;;8155:40:23;-1:-1:-1;;8155:40:23;332:1303:109;8209:11:23;:::o;332:1303:109:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;332:1303:109;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;332:1303:109;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;332:1303:109;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;332:1303:109;-1:-1:-1;;;;;;;;;;;332:1303:109;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;332:1303:109;;-1:-1:-1;;;7191:17:26;;;;;332:1303:109;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;332:1303:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;332:1303:109:-;;;;;;;;;;;;;-1:-1:-1;;332:1303:109;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;1642:1018:106:-;1783:1;332:1303:109;;1746:38:106;1742:119;;1875:23;;;332:1303:109;;-1:-1:-1;;;;;332:1303:109;1875:23:106;;332:1303:109;;1875:37:106;;:65;;1642:1018;1871:130;;332:1303:109;2131:42:106;332:1303:109;2500:36:106;332:1303:109;2011:65:106;332:1303:109;;;2011:65:106;1991:1:30;;2011:65:106;2087:34;2102:19;;;332:1303:109;2087:34:106;1991:1:30;;332:1303:109;;;;;;;;;;2131:42:106;332:1303:109;;;2131:42:106;332:1303:109;;2131:42:106;2188:33;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2184:148:106;;1642:1018;-1:-1:-1;2345:32:106;;;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;2341:146:106;;-1:-1:-1;2500:36:106;332:1303:109;-1:-1:-1;;;;;332:1303:109;;;;;;;2496:158:106;;1642:1018;:::o;2496:158::-;2566:77;;;:::i;2341:146::-;2407:69;;;:::i;2184:148::-;2251:70;;;:::i;:::-;;2184:148;;;1871:130;1875:23;332:1303:109;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;332:1303:109;1916:24:106;;1875:65;;1742:119;332:1303:109;;-1:-1:-1;;;1807:43:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;332:1303:109;;5674:21:56;:17;;5799:158;;;;;;5670:354;332:1303:109;;-1:-1:-1;;;5994:19:56;;;;;4589:408;332:1303:109;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;332:1303:109;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;332:1303:109;;;4917:24:56;;;332:1303:109;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;14296:213:69;332:1303:109;14374:24:69;;;;14370:103;;332:1303:109;14296:213:69;:::o;14370:103::-;332:1303:109;;;;14421:41:69;;;;;;14452:2;14421:41;;;332:1303:109;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1350,"length":32},{"start":1713,"length":32}],"69325":[{"start":5469,"length":32},{"start":8747,"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","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","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\":\"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\":\"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\":[{\"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.\"},\"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.\"},\"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\":\"0xbff0f4553c61d3355e6cbccfd93728a8911169d2476a2032e4725f11fb5343f6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e61281fc0a281a11525b5fdd2887dda78f0ea47c6b63fed643a199168e9f4f14\",\"dweb:/ipfs/QmSoXhjWxXUdniMBuG2n5pjAHwFwBg5nMYgsdJ75dd3gFZ\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a\",\"dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01\",\"dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d\",\"dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68\",\"dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde\",\"dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5\"]}},\"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":"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":"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":[{"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."},"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."},"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":"0xbff0f4553c61d3355e6cbccfd93728a8911169d2476a2032e4725f11fb5343f6","urls":["bzz-raw://e61281fc0a281a11525b5fdd2887dda78f0ea47c6b63fed643a199168e9f4f14","dweb:/ipfs/QmSoXhjWxXUdniMBuG2n5pjAHwFwBg5nMYgsdJ75dd3gFZ"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f","urls":["bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a","dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0xf6b5c01e2e4371f8472fa234408666f6d461679e1e61b8566de4beab0674e7b0","urls":["bzz-raw://49f0793ff4ef7f8bf5985b60d2830362d6f50fae05f027044628a3555bf9ba01","dweb:/ipfs/QmZ9uZsWEdpjfgng7FJcJvoTnaxkw1pfEAgyg7nFLDrRU3"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xb493ffb1d7c643dc580e0c89822da6027d2bb3686b9fe9b9a369b8744060b722","urls":["bzz-raw://a5c2fcf80397b6e0504f6aae18c950735be9af19c5e2de376a838209ffeba11d","dweb:/ipfs/QmWeTTRjTUZNWUmzA7D4UsurJ9fa6QBPbxhaWW5HNjaMen"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea","urls":["bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68","dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xc18bb58656e913d14b6194ec32eb5d8cdc4acf271d5439787934c58e86a6a2fa","urls":["bzz-raw://9e56c5bd4ebe5a9c87b1cc570622590a2b4ab48693505ad55e397673e81cbbde","dweb:/ipfs/QmYpp9fxB57eyGs9cTdfZMJWU7DBeaxzpfK7GVsWe2cns5"],"license":"MIT"}},"version":1},"id":109} \ No newline at end of file diff --git a/src/contracts/vault/v1.1/Vault.sol b/src/contracts/vault/v1.1/Vault.sol index 56f881e..d2c0e8b 100644 --- a/src/contracts/vault/v1.1/Vault.sol +++ b/src/contracts/vault/v1.1/Vault.sol @@ -52,7 +52,7 @@ contract Vault is VaultStorage, MigratableEntity, AccessControlUpgradeable, Prox revert IVault.InvalidFlashParams(); } - epochDurationSetEpochsDelayInternal = params.epochDurationSetEpochsDelay; + _epochDurationSetEpochsDelay = params.epochDurationSetEpochsDelay; flashFeeRate = params.flashFeeRate; flashFeeReceiver = params.flashFeeReceiver; @@ -146,8 +146,8 @@ contract Vault is VaultStorage, MigratableEntity, AccessControlUpgradeable, Prox burner = params.burner; - epochDurationInitInternal = Time.timestamp(); - epochDurationInternal = params.epochDuration; + _epochDurationInit = Time.timestamp(); + _epochDuration = params.epochDuration; depositWhitelist = params.depositWhitelist; @@ -176,7 +176,7 @@ contract Vault is VaultStorage, MigratableEntity, AccessControlUpgradeable, Prox _processMigrateParams(params); - if ((params.epochDurationSetEpochsDelay - 2) * epochDurationInternal < MIN_EXIT_WINDOW) { + if ((params.epochDurationSetEpochsDelay - 2) * _epochDuration < MIN_EXIT_WINDOW) { revert IVault.InsufficientExitWindow(); } } diff --git a/src/contracts/vault/v1.1/VaultImplementation.sol b/src/contracts/vault/v1.1/VaultImplementation.sol index 2df87ac..036a0c8 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -46,30 +46,30 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran * @inheritdoc IVault */ function epochDurationSetEpochsDelay() external view returns (uint256) { - if (nextEpochDurationInitInternal == 0 || Time.timestamp() < nextEpochDurationInitInternal) { - return epochDurationSetEpochsDelayInternal; + if (_nextEpochDurationInit == 0 || Time.timestamp() < _nextEpochDurationInit) { + return _epochDurationSetEpochsDelay; } - return nextEpochDurationSetEpochsDelayInternal; + return _nextEpochDurationSetEpochsDelay; } /** * @inheritdoc IVault */ function epochDuration() public view returns (uint48) { - if (nextEpochDurationInitInternal == 0 || Time.timestamp() < nextEpochDurationInitInternal) { - return epochDurationInternal; + if (_nextEpochDurationInit == 0 || Time.timestamp() < _nextEpochDurationInit) { + return _epochDuration; } - return nextEpochDurationInternal; + return _nextEpochDuration; } /** * @inheritdoc IVault */ function epochDurationInit() public view returns (uint48) { - if (nextEpochDurationInitInternal == 0 || Time.timestamp() < nextEpochDurationInitInternal) { - return epochDurationInitInternal; + if (_nextEpochDurationInit == 0 || Time.timestamp() < _nextEpochDurationInit) { + return _epochDurationInit; } - return nextEpochDurationInitInternal; + return _nextEpochDurationInit; } /** @@ -78,15 +78,15 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran function epochAt( uint48 timestamp ) public view returns (uint256) { - if (timestamp < epochDurationInitInternal) { - if (prevEpochDurationInitInternal == 0 || timestamp < prevEpochDurationInitInternal) { + if (timestamp < _epochDurationInit) { + if (_prevEpochDurationInit == 0 || timestamp < _prevEpochDurationInit) { revert InvalidTimestamp(); } - return prevEpochInitInternal + (timestamp - prevEpochDurationInitInternal) / prevEpochDurationInternal; - } else if (nextEpochDurationInitInternal == 0 || timestamp < nextEpochDurationInitInternal) { - return epochInitInternal + (timestamp - epochDurationInitInternal) / epochDurationInternal; + return _prevEpochDurationInitIndex + (timestamp - _prevEpochDurationInit) / _prevEpochDuration; + } else if (_nextEpochDurationInit == 0 || timestamp < _nextEpochDurationInit) { + return _epochDurationInitIndex + (timestamp - _epochDurationInit) / _epochDuration; } else { - return nextEpochInitInternal + (timestamp - nextEpochDurationInitInternal) / nextEpochDurationInternal; + return _nextEpochInitIndex + (timestamp - _nextEpochDurationInit) / _nextEpochDuration; } } @@ -96,18 +96,16 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran function epochStart( uint256 epoch ) public view returns (uint48) { - if (epoch < prevEpochInitInternal) { + if (epoch < _prevEpochDurationInitIndex) { revert InvalidEpoch(); } - if (epoch < epochInitInternal) { - return - (prevEpochDurationInitInternal + (epoch - prevEpochInitInternal) * prevEpochDurationInternal).toUint48(); - } else if (nextEpochInitInternal == 0 || epoch < nextEpochInitInternal) { - return (epochDurationInitInternal + (epoch - epochInitInternal) * epochDurationInternal).toUint48(); + if (epoch < _epochDurationInitIndex) { + return (_prevEpochDurationInit + (epoch - _prevEpochDurationInitIndex) * _prevEpochDuration).toUint48(); + } else if (_nextEpochInitIndex == 0 || epoch < _nextEpochInitIndex) { + return (_epochDurationInit + (epoch - _epochDurationInitIndex) * _epochDuration).toUint48(); } else { - return - (nextEpochDurationInitInternal + (epoch - nextEpochInitInternal) * nextEpochDurationInternal).toUint48(); + return (_nextEpochDurationInit + (epoch - _nextEpochInitIndex) * _nextEpochDuration).toUint48(); } } @@ -550,32 +548,28 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran revert InvalidEpochDurationSetEpochsDelay(); } - if (nextEpochDurationInitInternal != 0 && nextEpochDurationInitInternal <= Time.timestamp()) { - prevEpochInitInternal = epochInitInternal; - prevEpochDurationInternal = epochDurationInternal; - prevEpochDurationInitInternal = epochDurationInitInternal; - epochInitInternal = nextEpochInitInternal; - epochDurationInternal = nextEpochDurationInternal; - epochDurationInitInternal = nextEpochDurationInitInternal; - epochDurationSetEpochsDelayInternal = nextEpochDurationSetEpochsDelayInternal; + if (_nextEpochDurationInit != 0 && _nextEpochDurationInit <= Time.timestamp()) { + _prevEpochDurationInitIndex = _epochDurationInitIndex; + _prevEpochDuration = _epochDuration; + _prevEpochDurationInit = _epochDurationInit; + _epochDurationInitIndex = _nextEpochInitIndex; + _epochDuration = _nextEpochDuration; + _epochDurationInit = _nextEpochDurationInit; + _epochDurationSetEpochsDelay = _nextEpochDurationSetEpochsDelay; } - if (epochDurationInternal > epochDuration_) { + if (_epochDuration > epochDuration_) { revert InvalidNewEpochDuration(); } - if ( - epochDurationInternal == epochDuration_ - && epochDurationSetEpochsDelayInternal == epochDurationSetEpochsDelay_ - ) { + if (_epochDuration == epochDuration_ && _epochDurationSetEpochsDelay == epochDurationSetEpochsDelay_) { revert AlreadySet(); } - nextEpochInitInternal = currentEpoch() + epochDurationSetEpochsDelayInternal; - nextEpochDurationInternal = epochDuration_; - nextEpochDurationInitInternal = - (currentEpochStart() + epochDurationSetEpochsDelayInternal * epochDurationInternal).toUint48(); - nextEpochDurationSetEpochsDelayInternal = epochDurationSetEpochsDelay_; + _nextEpochInitIndex = currentEpoch() + _epochDurationSetEpochsDelay; + _nextEpochDuration = epochDuration_; + _nextEpochDurationInit = (currentEpochStart() + _epochDurationSetEpochsDelay * _epochDuration).toUint48(); + _nextEpochDurationSetEpochsDelay = epochDurationSetEpochsDelay_; emit SetEpochDuration(epochDuration_, epochDurationSetEpochsDelay_); } diff --git a/src/contracts/vault/v1.1/VaultStorage.sol b/src/contracts/vault/v1.1/VaultStorage.sol index 049f4c8..4c51161 100644 --- a/src/contracts/vault/v1.1/VaultStorage.sol +++ b/src/contracts/vault/v1.1/VaultStorage.sol @@ -76,12 +76,12 @@ abstract contract VaultStorage is StaticDelegateCallable, IVaultStorage { /** * @inheritdoc IVaultStorage */ - uint48 public epochDurationInitInternal; + uint48 public _epochDurationInit; /** * @inheritdoc IVaultStorage */ - uint48 public epochDurationInternal; + uint48 public _epochDuration; /** * @inheritdoc IVaultStorage @@ -142,47 +142,47 @@ abstract contract VaultStorage is StaticDelegateCallable, IVaultStorage { /** * @inheritdoc IVaultStorage */ - uint256 public epochDurationSetEpochsDelayInternal; + uint256 public _epochDurationSetEpochsDelay; /** * @inheritdoc IVaultStorage */ - uint256 public nextEpochDurationSetEpochsDelayInternal; + uint256 public _nextEpochDurationSetEpochsDelay; /** * @inheritdoc IVaultStorage */ - uint256 public epochInitInternal; + uint256 public _epochDurationInitIndex; /** * @inheritdoc IVaultStorage */ - uint256 public prevEpochInitInternal; + uint256 public _prevEpochDurationInitIndex; /** * @inheritdoc IVaultStorage */ - uint48 public prevEpochDurationInitInternal; + uint48 public _prevEpochDurationInit; /** * @inheritdoc IVaultStorage */ - uint48 public prevEpochDurationInternal; + uint48 public _prevEpochDuration; /** * @inheritdoc IVaultStorage */ - uint48 public nextEpochDurationInitInternal; + uint48 public _nextEpochDurationInit; /** * @inheritdoc IVaultStorage */ - uint48 public nextEpochDurationInternal; + uint48 public _nextEpochDuration; /** * @inheritdoc IVaultStorage */ - uint256 public nextEpochInitInternal; + uint256 public _nextEpochInitIndex; /** * @inheritdoc IVaultStorage diff --git a/src/interfaces/vault/v1.1/IVaultStorage.sol b/src/interfaces/vault/v1.1/IVaultStorage.sol index 560fbf1..117b3aa 100644 --- a/src/interfaces/vault/v1.1/IVaultStorage.sol +++ b/src/interfaces/vault/v1.1/IVaultStorage.sol @@ -157,67 +157,67 @@ interface IVaultStorage { * @notice Get a delay for the epoch duration set in epochs (internal). * @return delay for the epoch duration set */ - function epochDurationSetEpochsDelayInternal() external view returns (uint256); + function _epochDurationSetEpochsDelay() external view returns (uint256); /** * @notice Get the next delay for the epoch duration set in epochs (internal). * @return next delay for the epoch duration set */ - function nextEpochDurationSetEpochsDelayInternal() external view returns (uint256); + function _nextEpochDurationSetEpochsDelay() external view returns (uint256); /** * @notice Get the current epoch duration's first epoch (internal). * @return the current epoch duration's first epoch */ - function epochInitInternal() external view returns (uint256); + function _epochDurationInitIndex() external view returns (uint256); /** * @notice Get a time point of the epoch duration set (internal). * @return time point of the epoch duration set */ - function epochDurationInitInternal() external view returns (uint48); + function _epochDurationInit() external view returns (uint48); /** * @notice Get a duration of the epoch (internal). * @return duration of the epoch */ - function epochDurationInternal() external view returns (uint48); + function _epochDuration() external view returns (uint48); /** * @notice Get a the previous epoch duration's first epoch (internal). * @return the previous epoch duration's first epoch */ - function prevEpochInitInternal() external view returns (uint256); + function _prevEpochDurationInitIndex() external view returns (uint256); /** * @notice Get a time point of the previous epoch duration set (internal). * @return time point of the previous epoch duration set */ - function prevEpochDurationInitInternal() external view returns (uint48); + function _prevEpochDurationInit() external view returns (uint48); /** * @notice Get a duration of the previous epoch (internal). * @return duration of the previous epoch */ - function prevEpochDurationInternal() external view returns (uint48); + function _prevEpochDuration() external view returns (uint48); /** * @notice Get a the next epoch duration's first epoch (internal). * @return the next epoch duration's first epoch */ - function nextEpochInitInternal() external view returns (uint256); + function _nextEpochInitIndex() external view returns (uint256); /** * @notice Get a time point of the next epoch duration set (internal). * @return time point of the next epoch duration set */ - function nextEpochDurationInitInternal() external view returns (uint48); + function _nextEpochDurationInit() external view returns (uint48); /** * @notice Get a duration of the next epoch (internal). * @return duration of the next epoch */ - function nextEpochDurationInternal() external view returns (uint48); + function _nextEpochDuration() external view returns (uint48); /** * @notice Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000). diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index 0c55e3a..117bbbe 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -302,13 +302,13 @@ contract VaultTest is Test { assertEq(vault.flashFeeRate(), flashFeeRate); assertEq(vault.flashFeeReceiver(), alice); assertEq(vault.epochDurationSetEpochsDelay(), epochDurationSetEpochsDelay); - assertEq(vault.epochDurationSetEpochsDelayInternal(), epochDurationSetEpochsDelay); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 0); - assertEq(vault.epochInitInternal(), 0); - assertEq(vault.prevEpochDurationInitInternal(), 0); - assertEq(vault.prevEpochDurationInternal(), 0); - assertEq(vault.nextEpochDurationInitInternal(), 0); - assertEq(vault.nextEpochDurationInternal(), 0); + assertEq(vault._epochDurationSetEpochsDelay(), epochDurationSetEpochsDelay); + assertEq(vault._nextEpochDurationSetEpochsDelay(), 0); + assertEq(vault._epochDurationInitIndex(), 0); + assertEq(vault._prevEpochDurationInit(), 0); + assertEq(vault._prevEpochDuration(), 0); + assertEq(vault._nextEpochDurationInit(), 0); + assertEq(vault._nextEpochDuration(), 0); blockTimestamp = blockTimestamp + vault.epochDuration() - 1; vm.warp(blockTimestamp); @@ -2803,8 +2803,8 @@ contract VaultTest is Test { assertEq(vault.epochStart(3), blockTimestamp + 3 * epochDuration); assertEq(vault.epochStart(3 + 1), blockTimestamp + (3 + 1) * epochDuration); assertEq(vault.epochDurationSetEpochsDelay(), 3); - assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 0); + assertEq(vault._epochDurationSetEpochsDelay(), 3); + assertEq(vault._nextEpochDurationSetEpochsDelay(), 0); _grantEpochDurationSetRole(alice, alice); vm.startPrank(alice); @@ -2812,15 +2812,15 @@ contract VaultTest is Test { vm.stopPrank(); assertEq(vault.epochDuration(), epochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDurationInternal(), epochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp); - assertEq(vault.epochInitInternal(), 0); - assertEq(vault.prevEpochInitInternal(), 0); - assertEq(vault.prevEpochDurationInternal(), 0); - assertEq(vault.prevEpochDurationInitInternal(), 0); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 3); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 3 * epochDuration); - assertEq(vault.nextEpochDurationInternal(), newEpochDuration); + assertEq(vault._epochDuration(), epochDuration); + assertEq(vault._epochDurationInit(), blockTimestamp); + assertEq(vault._epochDurationInitIndex(), 0); + assertEq(vault._prevEpochDurationInitIndex(), 0); + assertEq(vault._prevEpochDuration(), 0); + assertEq(vault._prevEpochDurationInit(), 0); + assertEq(vault._nextEpochInitIndex(), vault.currentEpoch() + 3); + assertEq(vault._nextEpochDurationInit(), blockTimestamp + 3 * epochDuration); + assertEq(vault._nextEpochDuration(), newEpochDuration); vm.expectRevert(); vault.epochAt(uint48(blockTimestamp - 1)); assertEq(vault.epochAt(uint48(blockTimestamp)), 0); @@ -2831,23 +2831,23 @@ contract VaultTest is Test { assertEq(vault.epochStart(3), blockTimestamp + 3 * epochDuration); assertEq(vault.epochStart(3 + 1), blockTimestamp + 3 * epochDuration + newEpochDuration); assertEq(vault.epochDurationSetEpochsDelay(), 3); - assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); + assertEq(vault._epochDurationSetEpochsDelay(), 3); + assertEq(vault._nextEpochDurationSetEpochsDelay(), 5); blockTimestamp = blockTimestamp + 1; vm.warp(blockTimestamp); assertEq(vault.epochDuration(), epochDuration); assertEq(vault.epochDurationInit(), blockTimestamp - 1); - assertEq(vault.epochDurationInternal(), epochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp - 1); - assertEq(vault.epochInitInternal(), 0); - assertEq(vault.prevEpochInitInternal(), 0); - assertEq(vault.prevEpochDurationInternal(), 0); - assertEq(vault.prevEpochDurationInitInternal(), 0); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 3); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 3 * epochDuration - 1); - assertEq(vault.nextEpochDurationInternal(), newEpochDuration); + assertEq(vault._epochDuration(), epochDuration); + assertEq(vault._epochDurationInit(), blockTimestamp - 1); + assertEq(vault._epochDurationInitIndex(), 0); + assertEq(vault._prevEpochDurationInitIndex(), 0); + assertEq(vault._prevEpochDuration(), 0); + assertEq(vault._prevEpochDurationInit(), 0); + assertEq(vault._nextEpochInitIndex(), vault.currentEpoch() + 3); + assertEq(vault._nextEpochDurationInit(), blockTimestamp + 3 * epochDuration - 1); + assertEq(vault._nextEpochDuration(), newEpochDuration); vm.expectRevert(); vault.epochAt(uint48(blockTimestamp - 2)); assertEq(vault.epochAt(uint48(blockTimestamp - 1)), 0); @@ -2856,23 +2856,23 @@ contract VaultTest is Test { assertEq(vault.epochStart(0), blockTimestamp - 1); assertEq(vault.epochStart(1), blockTimestamp + epochDuration - 1); assertEq(vault.epochDurationSetEpochsDelay(), 3); - assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); + assertEq(vault._epochDurationSetEpochsDelay(), 3); + assertEq(vault._nextEpochDurationSetEpochsDelay(), 5); blockTimestamp = blockTimestamp + 3 * epochDuration - 2; vm.warp(blockTimestamp); assertEq(vault.epochDuration(), epochDuration); assertEq(vault.epochDurationInit(), blockTimestamp - 3 * epochDuration + 1); - assertEq(vault.epochDurationInternal(), epochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp - 3 * epochDuration + 1); - assertEq(vault.epochInitInternal(), 0); - assertEq(vault.prevEpochInitInternal(), 0); - assertEq(vault.prevEpochDurationInternal(), 0); - assertEq(vault.prevEpochDurationInitInternal(), 0); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 1); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 1); - assertEq(vault.nextEpochDurationInternal(), newEpochDuration); + assertEq(vault._epochDuration(), epochDuration); + assertEq(vault._epochDurationInit(), blockTimestamp - 3 * epochDuration + 1); + assertEq(vault._epochDurationInitIndex(), 0); + assertEq(vault._prevEpochDurationInitIndex(), 0); + assertEq(vault._prevEpochDuration(), 0); + assertEq(vault._prevEpochDurationInit(), 0); + assertEq(vault._nextEpochInitIndex(), vault.currentEpoch() + 1); + assertEq(vault._nextEpochDurationInit(), blockTimestamp + 1); + assertEq(vault._nextEpochDuration(), newEpochDuration); assertEq(vault.epochAt(uint48(blockTimestamp - 3 * epochDuration + 2)), 0); assertEq(vault.epochAt(uint48(blockTimestamp - 1)), 3 - 1); assertEq(vault.epochAt(uint48(blockTimestamp)), 3 - 1); @@ -2880,23 +2880,23 @@ contract VaultTest is Test { assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration + 1); assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration + 1); assertEq(vault.epochDurationSetEpochsDelay(), 3); - assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); + assertEq(vault._epochDurationSetEpochsDelay(), 3); + assertEq(vault._nextEpochDurationSetEpochsDelay(), 5); blockTimestamp = blockTimestamp + 1; vm.warp(blockTimestamp); assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDurationInternal(), epochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp - 3 * epochDuration); - assertEq(vault.epochInitInternal(), 0); - assertEq(vault.prevEpochInitInternal(), 0); - assertEq(vault.prevEpochDurationInternal(), 0); - assertEq(vault.prevEpochDurationInitInternal(), 0); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch()); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp); - assertEq(vault.nextEpochDurationInternal(), newEpochDuration); + assertEq(vault._epochDuration(), epochDuration); + assertEq(vault._epochDurationInit(), blockTimestamp - 3 * epochDuration); + assertEq(vault._epochDurationInitIndex(), 0); + assertEq(vault._prevEpochDurationInitIndex(), 0); + assertEq(vault._prevEpochDuration(), 0); + assertEq(vault._prevEpochDurationInit(), 0); + assertEq(vault._nextEpochInitIndex(), vault.currentEpoch()); + assertEq(vault._nextEpochDurationInit(), blockTimestamp); + assertEq(vault._nextEpochDuration(), newEpochDuration); assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); @@ -2904,8 +2904,8 @@ contract VaultTest is Test { assertEq(vault.epochStart(3), blockTimestamp); assertEq(vault.epochStart(3 + 1), blockTimestamp + newEpochDuration); assertEq(vault.epochDurationSetEpochsDelay(), 5); - assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); + assertEq(vault._epochDurationSetEpochsDelay(), 3); + assertEq(vault._nextEpochDurationSetEpochsDelay(), 5); vm.expectRevert(IVault.InvalidTimestamp.selector); vault.epochAt(0); @@ -2921,22 +2921,22 @@ contract VaultTest is Test { assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), 4); assertEq(vault.previousEpochStart(), blockTimestamp - epochDuration); assertEq(vault.epochDurationSetEpochsDelay(), 5); - assertEq(vault.epochDurationSetEpochsDelayInternal(), 3); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 5); + assertEq(vault._epochDurationSetEpochsDelay(), 3); + assertEq(vault._nextEpochDurationSetEpochsDelay(), 5); _setEpochDuration(alice, newEpochDuration2); assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDurationInternal(), newEpochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp); - assertEq(vault.epochInitInternal(), 3); - assertEq(vault.prevEpochInitInternal(), 0); - assertEq(vault.prevEpochDurationInternal(), epochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 3 * epochDuration); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 5); - assertEq(vault.nextEpochDurationInternal(), newEpochDuration2); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 5 * newEpochDuration); + assertEq(vault._epochDuration(), newEpochDuration); + assertEq(vault._epochDurationInit(), blockTimestamp); + assertEq(vault._epochDurationInitIndex(), 3); + assertEq(vault._prevEpochDurationInitIndex(), 0); + assertEq(vault._prevEpochDuration(), epochDuration); + assertEq(vault._prevEpochDurationInit(), blockTimestamp - 3 * epochDuration); + assertEq(vault._nextEpochInitIndex(), vault.currentEpoch() + 5); + assertEq(vault._nextEpochDuration(), newEpochDuration2); + assertEq(vault._nextEpochDurationInit(), blockTimestamp + 5 * newEpochDuration); assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); @@ -2948,43 +2948,43 @@ contract VaultTest is Test { assertEq(vault.epochStart(3 + 5), blockTimestamp + 5 * newEpochDuration); assertEq(vault.epochStart(3 + 5 + 1), blockTimestamp + 5 * newEpochDuration + newEpochDuration2); assertEq(vault.epochDurationSetEpochsDelay(), 5); - assertEq(vault.epochDurationSetEpochsDelayInternal(), 5); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 3); + assertEq(vault._epochDurationSetEpochsDelay(), 5); + assertEq(vault._nextEpochDurationSetEpochsDelay(), 3); _setEpochDuration(alice, newEpochDuration); assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDurationInternal(), newEpochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp); - assertEq(vault.epochInitInternal(), 3); - assertEq(vault.prevEpochInitInternal(), 0); - assertEq(vault.prevEpochDurationInternal(), epochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 3 * epochDuration); - assertEq(vault.nextEpochInitInternal(), 3 + 5); - assertEq(vault.nextEpochDurationInternal(), newEpochDuration); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 5 * newEpochDuration); + assertEq(vault._epochDuration(), newEpochDuration); + assertEq(vault._epochDurationInit(), blockTimestamp); + assertEq(vault._epochDurationInitIndex(), 3); + assertEq(vault._prevEpochDurationInitIndex(), 0); + assertEq(vault._prevEpochDuration(), epochDuration); + assertEq(vault._prevEpochDurationInit(), blockTimestamp - 3 * epochDuration); + assertEq(vault._nextEpochInitIndex(), 3 + 5); + assertEq(vault._nextEpochDuration(), newEpochDuration); + assertEq(vault._nextEpochDurationInit(), blockTimestamp + 5 * newEpochDuration); assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); assertEq(vault.epochAt(uint48(blockTimestamp + newEpochDuration)), 3 + 1); assertEq(vault.epochDurationSetEpochsDelay(), 5); - assertEq(vault.epochDurationSetEpochsDelayInternal(), 5); - assertEq(vault.nextEpochDurationSetEpochsDelayInternal(), 3); + assertEq(vault._epochDurationSetEpochsDelay(), 5); + assertEq(vault._nextEpochDurationSetEpochsDelay(), 3); _setEpochDuration(alice, newEpochDuration2); assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDurationInternal(), newEpochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp); - assertEq(vault.epochInitInternal(), 3); - assertEq(vault.prevEpochInitInternal(), 0); - assertEq(vault.prevEpochDurationInternal(), epochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 3 * epochDuration); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 5); - assertEq(vault.nextEpochDurationInternal(), newEpochDuration2); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 5 * newEpochDuration); + assertEq(vault._epochDuration(), newEpochDuration); + assertEq(vault._epochDurationInit(), blockTimestamp); + assertEq(vault._epochDurationInitIndex(), 3); + assertEq(vault._prevEpochDurationInitIndex(), 0); + assertEq(vault._prevEpochDuration(), epochDuration); + assertEq(vault._prevEpochDurationInit(), blockTimestamp - 3 * epochDuration); + assertEq(vault._nextEpochInitIndex(), vault.currentEpoch() + 5); + assertEq(vault._nextEpochDuration(), newEpochDuration2); + assertEq(vault._nextEpochDurationInit(), blockTimestamp + 5 * newEpochDuration); assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); @@ -2994,15 +2994,15 @@ contract VaultTest is Test { assertEq(vault.epochDuration(), newEpochDuration); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDurationInternal(), newEpochDuration); - assertEq(vault.epochDurationInitInternal(), blockTimestamp); - assertEq(vault.epochInitInternal(), 3); - assertEq(vault.prevEpochInitInternal(), 0); - assertEq(vault.prevEpochDurationInternal(), epochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 3 * epochDuration); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 5); - assertEq(vault.nextEpochDurationInternal(), newEpochDuration3); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 5 * newEpochDuration); + assertEq(vault._epochDuration(), newEpochDuration); + assertEq(vault._epochDurationInit(), blockTimestamp); + assertEq(vault._epochDurationInitIndex(), 3); + assertEq(vault._prevEpochDurationInitIndex(), 0); + assertEq(vault._prevEpochDuration(), epochDuration); + assertEq(vault._prevEpochDurationInit(), blockTimestamp - 3 * epochDuration); + assertEq(vault._nextEpochInitIndex(), vault.currentEpoch() + 5); + assertEq(vault._nextEpochDuration(), newEpochDuration3); + assertEq(vault._nextEpochDurationInit(), blockTimestamp + 5 * newEpochDuration); assertEq(vault.epochStart(0), blockTimestamp - 3 * epochDuration); assertEq(vault.epochStart(1), blockTimestamp - (3 - 1) * epochDuration); assertEq(vault.epochAt(uint48(blockTimestamp + epochDuration)), 3); @@ -3025,15 +3025,15 @@ contract VaultTest is Test { assertEq(vault.epochDuration(), newEpochDuration3); assertEq(vault.epochDurationInit(), blockTimestamp); - assertEq(vault.epochDurationInternal(), newEpochDuration3); - assertEq(vault.epochDurationInitInternal(), blockTimestamp); - assertEq(vault.epochInitInternal(), 3 + 5); - assertEq(vault.prevEpochInitInternal(), 3); - assertEq(vault.prevEpochDurationInternal(), newEpochDuration); - assertEq(vault.prevEpochDurationInitInternal(), blockTimestamp - 5 * newEpochDuration); - assertEq(vault.nextEpochInitInternal(), vault.currentEpoch() + 3); - assertEq(vault.nextEpochDurationInternal(), newEpochDuration4); - assertEq(vault.nextEpochDurationInitInternal(), blockTimestamp + 3 * newEpochDuration3); + assertEq(vault._epochDuration(), newEpochDuration3); + assertEq(vault._epochDurationInit(), blockTimestamp); + assertEq(vault._epochDurationInitIndex(), 3 + 5); + assertEq(vault._prevEpochDurationInitIndex(), 3); + assertEq(vault._prevEpochDuration(), newEpochDuration); + assertEq(vault._prevEpochDurationInit(), blockTimestamp - 5 * newEpochDuration); + assertEq(vault._nextEpochInitIndex(), vault.currentEpoch() + 3); + assertEq(vault._nextEpochDuration(), newEpochDuration4); + assertEq(vault._nextEpochDurationInit(), blockTimestamp + 3 * newEpochDuration3); vm.expectRevert(IVault.InvalidEpoch.selector); vault.epochStart(0); } @@ -3442,11 +3442,11 @@ contract VaultTest is Test { assertEq(vault.epochAt(uint48(blockTimestamp)), 3); assertEq(vault.currentEpochStart(), blockTimestamp - 1); assertEq(vault.previousEpochStart(), blockTimestamp - 1 - 7 days); - assertEq(vault.epochAt(uint48(blockTimestamp - newEpochDuration)), vault.nextEpochInitInternal() - 2); + assertEq(vault.epochAt(uint48(blockTimestamp - newEpochDuration)), vault._nextEpochInitIndex() - 2); vm.expectRevert(IVault.InvalidCaptureEpoch.selector); _slash(alice, alice, alice, slashAmount1, uint48(blockTimestamp - newEpochDuration), ""); - assertEq(vault.epochAt(uint48(blockTimestamp - 7 days - 1)), vault.nextEpochInitInternal() - 1); + assertEq(vault.epochAt(uint48(blockTimestamp - 7 days - 1)), vault._nextEpochInitIndex() - 1); _slash(alice, alice, alice, slashAmount1, uint48(blockTimestamp - 7 days - 1), ""); } From cf6107581b6bf3cbb4a990f68249ed88aafbae6d Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 24 Feb 2025 15:13:31 +0400 Subject: [PATCH 12/12] fix: nullify fee when no receiver --- out/VaultImplementation.sol/VaultImplementation.json | 2 +- src/contracts/vault/v1.1/VaultImplementation.sol | 4 ++-- test/vault/v1.1/Vault.t.sol | 8 +++++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/out/VaultImplementation.sol/VaultImplementation.json b/out/VaultImplementation.sol/VaultImplementation.json index b4c4cc0..0c4cf0f 100644 --- a/out/VaultImplementation.sol/VaultImplementation.json +++ b/out/VaultImplementation.sol/VaultImplementation.json @@ -1 +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":"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":"_Vault_init","inputs":[],"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":"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":"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614c1638819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614b6990816100ad823960805181818161143001526118f7015260a051818181611d1a015261225f0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780631415519b1461056f5780631b66c9e11461056a5780631e9a695014610565578063248a9ca3146105605780632749f9c41461055b57806327810b6e14610556578063281f5752146105515780632d73c69c1461054c5780632f2ff15d146105475780632fa27fae1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a57806350861adc1461051557806350f220681461051057806352741a401461050b5780635346e34f1461050657806359f769a9146105015780635a36aa74146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e3578063653b04cd146104de5780636da3e06d146104d95780636e0f2455146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806376671808146104c0578063794b15b7146104bb5780637953b33b146104b65780637c04c80a146104b1578063810da75d146104ac57806383cd9cc3146104a757806383f46c2c146104a257806387df07881461049d5780638b0e9f3f1461049857806391d148541461049357806398ccba4a1461048e5780639b4bae3e146104895780639d66201b146104845780639f86fd851461047f5780639f9962dd1461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bba6ff4a14610439578063bc46f72214610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c1bc6f5114610420578063c31e8dd71461041b578063c4db46fc14610416578063c642b05014610411578063cc52aee71461040c578063ce9b793014610407578063d547741f14610402578063d626811b146103fd578063d8dfeb45146103f8578063d9d98ce4146103f3578063db388715146103ee578063dc0b1d71146103e9578063e945da7f146103e4578063ecc98f05146103df578063ecf70858146103da578063efb559d6146103d5578063f3fef3a3146103d05763f5e7ee0f146103cb575f80fd5b612ac7565b612a21565b6128d6565b6128b9565b61289b565b61287e565b61286c565b612832565b612807565b6127dc565b61271c565b6126d0565b6126a8565b612680565b612666565b612649565b6125db565b6125b3565b612599565b6124d9565b6124bf565b612485565b612468565b612440565b612416565b612355565b6121ac565b61218e565b612166565b612120565b6120d3565b611fee565b611fb4565b611f9a565b611f76565b611f4e565b611e81565b611e47565b611e2a565b611e0d565b611daf565b611d49565b611d05565b611a3d565b611892565b611879565b611813565b6117f5565b6117b5565b611797565b611765565b6114a9565b611484565b61145f565b61141b565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611090565b611069565b610fe2565b610ee1565b610ec8565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109d8565b61098a565b61091a565b6107ac565b610784565b610767565b61072e565b610653565b610608565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca5760043561067081610642565b6024359061067c613135565b6001600160a01b0381161561071d57335f908152600e602052604090206106a790613f20565b613f20565b821161070b576106c76106b8613e38565b6106c0613eac565b9084613f73565b9182156106f657826106d892613177565b906106e1613164565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614af48339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107cd6107c842613e06565b612d42565b80156107fe575f1981019081116107f9576107e9602091612f8a565b65ffffffffffff60405191168152f35b612af1565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761086957604052565b61083a565b604081019081106001600160401b0382111761086957604052565b90601f801991011681019081106001600160401b0382111761086957604052565b604051906108b78261086e565b565b6001600160401b03811161086957601f01601f191660200190565b81601f820112156105ca578035906108eb826108b9565b926108f96040519485610889565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca5760043561093781610642565b61093f610810565b90604435906001600160401b0382116105ca576020926109666109829336906004016108d4565b6001600160a01b039092165f908152600e8552604090206134b1565b604051908152f35b346105ca5760403660031901126105ca576109d66024356004356109ad82610642565b805f525f80516020614af48339815191526020526109d1600160405f2001546136df565b61370b565b005b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f81610642565b336001600160a01b03821603610a6b576109d6906004356137a6565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae7613135565b610aef61357d565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b1483398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca5760206107e9612b41565b346105ca576040806003193601126105ca576004803591610b9783610642565b610b9f613135565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613838565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b13565b938415610d8d5760081c60ff1680610d78575b610d6a5750906106f291610d16610c7a613e38565b95610cc3610c86613eac565b610cae610c948a838b613f73565b99610ca88a610ca242613e06565b92612ba9565b9061398c565b5050610cbd89610ca242613e06565b90613a6c565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106a2610cf042613e06565b6001600160a01b039095165f908152600e6020526040902090565b612ba9565b91613b48565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613164565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e38565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db38183610889565b810190612b81565b5f80610c4b565b503d610da9565b612b90565b610c13919350610dea90853d8711610dc257610db38183610889565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca5760206107e9612bb6565b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610ec5916004016108d4565b90565b346105ca576020610982610edb36610e87565b90613326565b346105ca5760203660031901126105ca57600435610efe81610642565b610f06613135565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fc457506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b1483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca57600435610fff81610ab8565b611007613135565b61100f6135da565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109d6613164565b346105ca5760203660031901126105ca57602061098260043561108b81610642565b612bfc565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d81610642565b60243561113981610642565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b611165959195613135565b61116e84612c95565b831161134a5761117e83856130a2565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613c06565b516323e30c8b60e01b8152998a988997889633908801612c4b565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612b13565b036112da57506016546001600160a01b03169081166112c9575b836112bf613164565b5160018152602090f35b6112d292613c06565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db38183610889565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db38183610889565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca57602061098260043561137c81610642565b612c95565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206107e96113dc6107c842613e06565b612f8a565b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c5610810565b6114cd613135565b6003546114e2906001600160a01b0316611194565b3303611753576114f46107c842613e06565b906114fe81612d42565b9082151580611742575b8015611739575b611727576106f2937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611541613e38565b9461155c61154e82612b9b565b5f52600660205260405f2090565b549082810361164157506115708187612ba9565b8381188185100281189687806115fa575b50505050505b836115c6575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b6613164565b6040519081529081906020820190565b5f546115f59085906115e39060101c6001600160a01b0316611194565b6001546001600160a01b031690613c06565b61158d565b61163693610c4b83610ca861162061161961154e986116309888613cdd565b8096612b13565b9461162a42613e06565b92612b13565b92612b9b565b555f80808087611581565b9150611655825f52600660205260405f2090565b549061166581610d0b848a612ba9565b908482188286100282189788611680575b5050505050611587565b6116f593836116a8936116b58c6116b061169e6116e6998884613cdd565b9788958584613cdd565b948592612b13565b612b13565b93848410611700575b610c4b90610ca86116d495969761162a42613e06565b6116e061154e87612b9b565b55612b13565b915f52600660205260405f2090565b555f80808080611676565b9161171c610c4b91611716866116d49798612b13565b90612ba9565b8594509290506116be565b604051635e18d2a560e01b8152600490fd5b5082821161150f565b5061174c83612b05565b8210611508565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117816107c842613e06565b600181018091116107f9576107e9602091612f8a565b346105ca575f3660031901126105ca5760206109826107c842613e06565b346105ca5760203660031901126105ca576004356117d281610642565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109826107c8610825565b346105ca5760403660031901126105ca5760043561183081610642565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca576106f29260246115b6930190612e2d565b346105ca57602061098261188c36610e87565b906133fc565b346105ca576020806003193601126105ca5760048035906118b282610642565b6118ba613135565b60025460a01c60ff16611a2e576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a01575b50156119f15760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f936119c2575b5050309116036119b35750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109d6613164565b60405163b9f0f17160e01b8152fd5b6119e2929350803d106119ea575b6119da8183610889565b810190612f62565b905f80611954565b503d6119d0565b506040516324e5af8d60e21b8152fd5b611a219150823d8411611a27575b611a198183610889565b810190612f4d565b5f611927565b503d611a0f565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611a56610825565b602435611a61613135565b611a69613631565b60038110611cf35765ffffffffffff9182611a8f60135465ffffffffffff9060601c1690565b168015159081611cdd575b50611bdf575b60015460d01c838083169116818111611bcd571480611bc2575b610b4b57611b97611b6e611b697f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b09611b04611afb6107c842613e06565b600f5490612ba9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b3b6113dc6107c842613e06565b90611b62600f54611b5c611b5160015460d01c90565b65ffffffffffff1690565b90612f77565b9116612ba9565b613e06565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611ba082601055565b6040805165ffffffffffff9290921682526020820192909252a16109d6613164565b5081600f5414611aba565b6040516359dcfd5560e11b8152600490fd5b611bea601154601255565b611c24611bf960015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611c509060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611c5b601454601155565b601354611c929060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611ccd9060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611cd8601054600f55565b611aa0565b9050611ceb611b5142613e06565b10155f611a9a565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611d656107c842613e06565b611d6d613e38565b90805f52600660205260405f205482018092116107f957600181018091116107f9575f52600660205260405f205481018091116107f957604051908152602090f35b346105ca5760403660031901126105ca57602060ff611e01602435611dd381610642565b6004355f525f80516020614af4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca5760203660031901126105ca57600435611e6481610642565b60018060a01b03165f52600e602052602061098260405f20613f20565b346105ca576040806003193601126105ca57600435611e9f81610642565b6024356001600160401b0381116105ca575f80611f3d93611ec660809436906004016110e2565b908188519283928337810184815203915af43d15611f455760203d611eea816108b9565b90611ef787519283610889565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f80199101168101036060810184520182610889565b805190602001fd5b60206060611f00565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca5760043561200b81610642565b60243561201781610ab8565b61201f613135565b612027613688565b6001600160a01b0382169182156120c1575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120b6916120a4908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109d6613164565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121176024356120f581610642565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e0160243561214481610642565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca5760206107e9600435612f8a565b346105ca576020806003193601126105ca5760048035906121cc82610642565b6121d4613135565b60035460a01c60ff16612346576001600160a01b03828116939084612234575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109d6613164565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91612329575b50156123185760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936122f9575b5050309116036122ea5750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806121f4565b604051633f3e089160e21b8152fd5b612310929350803d106119ea576119da8183610889565b905f806122b7565b60405163dabc4ad960e01b81528390fd5b6123409150833d8511611a2757611a198183610889565b5f61228f565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561237281610642565b6024359061237e613135565b6001600160a01b0391818316908115612404576123af6106f2946123a183613d6a565b9485915f5460101c16613c06565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b14833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020600f54604051908152f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020610982613e38565b346105ca5760203660031901126105ca576004356124f5613135565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fc457508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca576020610982613eac565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca5760203660031901126105ca576004356125f881610642565b6126046107c842613e06565b61260d82612bfc565b9161261881836130d7565b83018093116107f957600182018092116107f957612635916130d7565b81018091116107f957602090604051908152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca576020610982613062565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca5760403660031901126105ca576109d66024356004356126f382610642565b805f525f80516020614af4833981519152602052612717600160405f2001546136df565b6137a6565b346105ca5760203660031901126105ca57600435612738613135565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fc457508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca57602061098260043561282981610642565b602435906130a2565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128f381610642565b6128fb610810565b6001600160401b0391906044358381116105ca5761291d9036906004016110e2565b9092604093845161292d8161084e565b6060815260606020820152606086820152928061298c575b6106f28661297d878761297761295e8984845191612b20565b928561296e6020850151836133fc565b93015190613326565b91613f73565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129bd8761084e565b84358181116105ca57826129d29187016108d4565b875260208501358181116105ca57826129ec9187016108d4565b6020880152858501359081116105ca576106f296612a156129779361295e9361297d98016108d4565b87820152939450612945565b346105ca5760403660031901126105ca57600435612a3e81610642565b602435612a49613135565b6001600160a01b0382161561071d578015612ab557612a78612a69613eac565b612a71613e38565b90836143b6565b335f908152600e60205260409020909290612a9290613f20565b8311612aa3576106d8918391613177565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca576020610982602435612ae981610642565b6004356130d7565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116107f957565b919082039182116107f957565b6001600160a01b03165f908152600e60205260409020610ec59291906134b1565b65ffffffffffff8060135460601c169081158015612b6e575b612b62575090565b905060015460a01c1690565b508181612b7a42613e06565b1610612b5a565b908160209103126105ca575190565b6040513d5f823e3d90fd5b90600182018092116107f957565b919082018092116107f957565b60135465ffffffffffff90818160601c168015908115612be8575b50612bdd5760901c1690565b505060015460d01c90565b905082612bf442613e06565b16105f612bd1565b6001600160a01b03165f908152600e60205260409020612c1b90613f20565b612c23613e38565b612c2b613eac565b90600181018091116107f957600182018092116107f957610ec592613cdd565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cf5576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612cdc575090565b610ec5915060203d602011610dc257610db38183610889565b505f90565b65ffffffffffff91821690821603919082116107f957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d3d57160490565b612d12565b60015465ffffffffffff808316929160a081901c821680851015612dba5750506013549281841690818015918215612db0575b5050612d9e57610ec59361171692612d93611b519360125496612cfa565b9160301c1690612d26565b60405163b7d0949760e01b8152600490fd5b109050815f612d75565b909160135490808260601c1695868015918215612e23575b505015612dfe575050610ec5935061171691612df4611b519260115495612cfa565b9060d01c90612d26565b6117169350611b519250612e18610ec59660145496612cfa565b9160901c1690612d26565b109050865f612dd2565b90612e36613135565b5f926001600160a01b038316928315612404578115612ee0575f5b828110612ebe57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea1918491612e9c9060101c6001600160a01b0316611194565b613c06565b612eb2604051928392339684612f1b565b0390a3906108b7613164565b94612ed9600191611716612ed3898789612f06565b35613d6a565b9501612e51565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f165760051b0190565b612ef2565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610ec581610ab8565b908160209103126105ca5751610ec581610642565b818102929181159184041417156107f957565b6012548082106130505760115480831015612fcb5750611b6990610ec592611b62612fbf6013549365ffffffffffff93612b13565b828460301c1690612f77565b905060145480158015613047575b156130115750610ec59165ffffffffffff613007612ffd611b699460015494612b13565b8360d01c90612f77565b9160a01c16612ba9565b611b699150610ec59261303d6130316013549365ffffffffffff93612b13565b828460901c1690612f77565b9160601c16612ba9565b50808310612fd9565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c16801591821561308d575b50506130875760105490565b600f5490565b90915061309942613e06565b16105f8061307b565b5f5460101c6001600160a01b039081169116036130c557601554610ec591613c5f565b60405163350b944160e11b8152600490fd5b906130fd90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107f957600182018092116107f957610ec592613cdd565b5f80516020614b1483398151915260028154146131525760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b1483398151915255565b335f908152600e602052604090209392919061319242613e06565b335f908152600e602052604090206131a990613f20565b918483039283116107f9576131e47febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361327399613b48565b50506131fe6131f242613e06565b610cbd876116b0613eac565b505061321861320c42613e06565b610ca8846116b0613e38565b50506132c1816132ac6132356132306107c842613e06565b612b9b565b61328b61324a825f52600660205260405f2090565b5461325d835f52600760205260405f2090565b5461326982828b613f73565b9d8e998a93612ba9565b613285855f52600660205260405f2090565b55612ba9565b61329d825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132cc838254612ba9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff809316019182116107f957565b908051156133f25780602080613341935183010191016132f5565b61334a816141e4565b9061335b825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e65782119182613391575b50506133885750610ec590613f94565b60209150015190565b90915061339f600a54612b05565b63ffffffff8316149182156133b8575b50505f80613378565b6133de9192506133d26133cd611b5192613311565b6141e4565b5165ffffffffffff1690565b115f806133af565b50505060209150015190565b50610ec590613f94565b908051156134a75780602080613417935183010191016132f5565b6134208161426e565b90613431825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261345e575b50506133885750610ec59061405b565b90915061346c600c54612b05565b63ffffffff831614918215613485575b50505f8061344e565b61349f9192506133d261349a611b5192613311565b61426e565b115f8061347c565b50610ec59061405b565b9180511561357357806020806134cc935183010191016132f5565b916134d783826142ee565b926134e8845165ffffffffffff1690565b9065ffffffffffff8085169216828114613567578211918261351e575b505061351557610ec5925061411b565b50506020015190565b90915061352b8354612b05565b63ffffffff831614918215613544575b50505f80613505565b61355f9192506133d2613559611b5192613311565b856142ee565b115f8061353b565b50505050506020015190565b50610ec59161411b565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fc45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135d0565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135d0565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135d0565b5f8181525f80516020614af483398151915260209081526040808320338452909152902060ff906135d0565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610869576108b79260405261435c565b600b54811015612f1657600b5f525f80516020614ad483398151915201905f90565b600d54811015612f1657600d5f525f80516020614ab483398151915201905f90565b8054821015612f16575f5260205f2001905f90565b600d54600160401b811015610869576001810180600d55811015612f1657600d5f525f80516020614ab48339815191520155565b600b54600160401b811015610869576001810180600b55811015612f1657600b5f525f80516020614ad48339815191520155565b90815491600160401b83101561086957826139749160016108b7950181556138d4565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a37575b506139a46143ef565b509290918154926139b3613e38565b9481613a22575b50156139ff57505f1982018281116107f95781541115612f16575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a13926001600160d01b031691506145eb565b5050613a1e836138e9565b9190565b65ffffffffffff83811691161490505f6139ba565b600160401b8110156108695760018101808455811015612f16575f908382525f80516020614ab483398151915201555f61399b565b919091600b9081548015613b13575b50613a84614444565b50929091815492613a93613eac565b9481613afe575b5015613adf57505f1982018281116107f95781541115612f16575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613af3926001600160d01b031691506146bb565b5050613a1e8361391d565b65ffffffffffff83811691161490505f613a9a565b600160401b8110156108695760018101808455811015612f16575f908382525f80516020614ad483398151915201555f613a7b565b90929192600182019081548015613bd6575b5084613b6584614499565b50949092845493613b7583613f20565b9681613bc1575b5015613b9e575050505f1981019081116107f9576139748591613a1e936138d4565b613a1e949293613bba926001600160d01b03909116919061475a565b5050613951565b65ffffffffffff83811691161490505f613b7c565b600160401b81101561086957806001613bf292018455836138d4565b8154905f199060031b1b191690555f613b5a565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610869576108b79260405261435c565b8115612d3d570490565b90808202905f1981840990828083109203918083039214613cd057633b9aca009082821115613cbe577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d5d5784831115613d505790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144d2565b505090610ec59250613c55565b90613d776107c842613e06565b8210156130505760ff613da7613d95845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613df457613db733836130d7565b918215613de257613dd5906132ac33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e19571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e7357505f5b6001600160d01b03811615612cf557600d54811015612f1657600d5f525f80516020614ab4833981519152015490565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e43565b600a5480613ee757505f5b6001600160d01b03811615612cf557600b54811015612f1657600b5f525f80516020614ad4833981519152015490565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613eb7565b805480613f5557505f5b6001600160d01b03811615613f4f576001613f4592016138d4565b90549060031b1c90565b50505f90565b5f199080828101116107f957825f5260205f2001015460301c613f2a565b9190600181018091116107f957600182018092116107f957610ec592613cdd565b600a54905f829160058411614002575b613fae935061493f565b80613fd157505f5b6001600160d01b03811615612cf557613f45610ec591613890565b613ff6613fe0613ffd92612b05565b600a5f525f80516020614a948339815191520190565b5460301c90565b613fb6565b919261400d81614814565b81039081116107f957613fae93600a5f5265ffffffffffff80835f80516020614a94833981519152015416908516105f14614049575091613fa4565b92915061405590612b9b565b90613fa4565b600c54905f8291600584116140c2575b61407593506149a8565b8061409857505f5b6001600160d01b03811615612cf557613f45610ec5916138b2565b613ff66140a76140bd92612b05565b600c5f525f80516020614a748339815191520190565b61407d565b91926140cd81614814565b81039081116107f95761407593600c5f5265ffffffffffff80835f80516020614a74833981519152015416908516105f1461410957509161406b565b92915061411590612b9b565b9061406b565b908154905f82916005841161417e575b614136935084614a11565b8061415e57505f905b6001600160d01b03821615613f4f57610ec5916001613f4592016138d4565b613ff661416d61417892612b05565b835f5260205f200190565b9061413f565b919261418981614814565b81039081116107f95761413693855f5265ffffffffffff808360205f20015416908516105f146141ba57509161412b565b9291506141c690612b9b565b9061412b565b604051906141d98261086e565b5f6020838281520152565b6141ec6141cc565b506141f56141cc565b50600a54811015612f1657600a5f526020604051916142138361086e565b5f80516020614a9483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1657600b5f525f80516020614ad48339815191520154604051916142648361086e565b8252602082015290565b6142766141cc565b5061427f6141cc565b50600c54811015612f1657600c5f5260206040519161429d8361086e565b5f80516020614a7483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1657600d5f525f80516020614ab48339815191520154604051916142648361086e565b906020600161431261433e936143026141cc565b5061430b6141cc565b50856138d4565b5093604051946143218661086e565b549465ffffffffffff86169586825260301c9384910152016138d4565b9054906040519261434e8461086e565b835260031b1c602082015290565b905f602091828151910182855af115612b90575f513d6143ad57506001600160a01b0381163b155b61438b5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614384565b9190600181018091116107f957600182018092116107f9576143d9828285613cdd565b928215612d3d5709151581018091116107f95790565b600c548061440057505f905f905f90565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061445557505f905f905f90565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144aa5750505f905f905f90565b5f199181838101116107f9575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610869576001820180600c55821015612f1657600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a7483398151915290910155565b600a5490600160401b821015610869576001820180600a55821015612f1657600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a9483398151915290910155565b8054600160401b811015610869576145ad916001820181556138d4565b6145d857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614692576140a761460391612b05565b9081549165ffffffffffff90818416918316808311614680578692036146485761464192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061467b906146676146596108aa565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144e2565b614641565b604051632520601d60e01b8152600490fd5b506146b6906146a26146596108aa565b6001600160d01b03841660208201526144e2565b5f9190565b600a54919291801561473657613fe06146d391612b05565b9081549165ffffffffffff90818416918316808311614680578692036147115761464192509065ffffffffffff82549181199060301b169116179055565b505061467b906147226146596108aa565b6001600160d01b0385166020820152614539565b506146b6906147466146596108aa565b6001600160d01b0384166020820152614539565b805492939280156147ef5761477161477c91612b05565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614680578793036147bb575061464192509065ffffffffffff82549181199060301b169116179055565b91505061467b916147db6147cd6108aa565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614590565b50906146b6916148006147cd6108aa565b6001600160d01b0385166020830152614590565b6001811115610ec557600181600160801b81101561492d575b6148d56148cb6148c16148b76148ad6148a36148e197600488600160401b6148dc9a1015614920575b640100000000811015614913575b62010000811015614906575b6101008110156148fa575b60108110156148ee575b10156148e6575b60030260011c61489c818b613c55565b0160011c90565b61489c818a613c55565b61489c8189613c55565b61489c8188613c55565b61489c8187613c55565b61489c8186613c55565b8093613c55565b821190565b900390565b60011b61488c565b811c9160021b91614885565b60081c91811b9161487b565b60101c9160081b91614870565b60201c9160101b91614864565b60401c9160201b91614856565b50600160401b9050608082901c61482d565b905b82811061494d57505090565b9091808216906001818418811c83018093116107f957600a5f5265ffffffffffff80845f80516020614a94833981519152015416908616105f14614995575050915b90614941565b9093925081018091116107f9579061498f565b905b8281106149b657505090565b9091808216906001818418811c83018093116107f957600c5f5265ffffffffffff80845f80516020614a74833981519152015416908616105f146149fe575050915b906149aa565b9093925081018091116107f957906149f8565b91905b838210614a215750505090565b909192808316906001818518811c83018093116107f957855f5265ffffffffffff808460205f20015416908516105f14614a60575050925b9190614a14565b9094935081018091116107f95791614a5956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220b628c0b9f3e70db8b5b588fa46bb1007ca4ba9fc10005163b61cc591385fe60a64736f6c63430008190033","sourceMap":"1252:20708:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:20708;;;;;;;;1785:36;1252:20708;;;;;;;;;;1831:32;1252:20708;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;-1:-1:-1;1252:20708:107;;;;;-1:-1:-1;1252:20708:107;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780631415519b1461056f5780631b66c9e11461056a5780631e9a695014610565578063248a9ca3146105605780632749f9c41461055b57806327810b6e14610556578063281f5752146105515780632d73c69c1461054c5780632f2ff15d146105475780632fa27fae1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a57806350861adc1461051557806350f220681461051057806352741a401461050b5780635346e34f1461050657806359f769a9146105015780635a36aa74146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e3578063653b04cd146104de5780636da3e06d146104d95780636e0f2455146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806376671808146104c0578063794b15b7146104bb5780637953b33b146104b65780637c04c80a146104b1578063810da75d146104ac57806383cd9cc3146104a757806383f46c2c146104a257806387df07881461049d5780638b0e9f3f1461049857806391d148541461049357806398ccba4a1461048e5780639b4bae3e146104895780639d66201b146104845780639f86fd851461047f5780639f9962dd1461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bba6ff4a14610439578063bc46f72214610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c1bc6f5114610420578063c31e8dd71461041b578063c4db46fc14610416578063c642b05014610411578063cc52aee71461040c578063ce9b793014610407578063d547741f14610402578063d626811b146103fd578063d8dfeb45146103f8578063d9d98ce4146103f3578063db388715146103ee578063dc0b1d71146103e9578063e945da7f146103e4578063ecc98f05146103df578063ecf70858146103da578063efb559d6146103d5578063f3fef3a3146103d05763f5e7ee0f146103cb575f80fd5b612ac7565b612a21565b6128d6565b6128b9565b61289b565b61287e565b61286c565b612832565b612807565b6127dc565b61271c565b6126d0565b6126a8565b612680565b612666565b612649565b6125db565b6125b3565b612599565b6124d9565b6124bf565b612485565b612468565b612440565b612416565b612355565b6121ac565b61218e565b612166565b612120565b6120d3565b611fee565b611fb4565b611f9a565b611f76565b611f4e565b611e81565b611e47565b611e2a565b611e0d565b611daf565b611d49565b611d05565b611a3d565b611892565b611879565b611813565b6117f5565b6117b5565b611797565b611765565b6114a9565b611484565b61145f565b61141b565b6113e1565b6113bb565b611381565b61135a565b61110f565b6110b8565b611090565b611069565b610fe2565b610ee1565b610ec8565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109d8565b61098a565b61091a565b6107ac565b610784565b610767565b61072e565b610653565b610608565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca5760043561067081610642565b6024359061067c613135565b6001600160a01b0381161561071d57335f908152600e602052604090206106a790613f20565b613f20565b821161070b576106c76106b8613e38565b6106c0613eac565b9084613f73565b9182156106f657826106d892613177565b906106e1613164565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614af48339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107cd6107c842613e06565b612d42565b80156107fe575f1981019081116107f9576107e9602091612f8a565b65ffffffffffff60405191168152f35b612af1565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761086957604052565b61083a565b604081019081106001600160401b0382111761086957604052565b90601f801991011681019081106001600160401b0382111761086957604052565b604051906108b78261086e565b565b6001600160401b03811161086957601f01601f191660200190565b81601f820112156105ca578035906108eb826108b9565b926108f96040519485610889565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca5760043561093781610642565b61093f610810565b90604435906001600160401b0382116105ca576020926109666109829336906004016108d4565b6001600160a01b039092165f908152600e8552604090206134b1565b604051908152f35b346105ca5760403660031901126105ca576109d66024356004356109ad82610642565b805f525f80516020614af48339815191526020526109d1600160405f2001546136df565b61370b565b005b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f81610642565b336001600160a01b03821603610a6b576109d6906004356137a6565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae7613135565b610aef61357d565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b1483398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca5760206107e9612b41565b346105ca576040806003193601126105ca576004803591610b9783610642565b610b9f613135565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613838565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b13565b938415610d8d5760081c60ff1680610d78575b610d6a5750906106f291610d16610c7a613e38565b95610cc3610c86613eac565b610cae610c948a838b613f73565b99610ca88a610ca242613e06565b92612ba9565b9061398c565b5050610cbd89610ca242613e06565b90613a6c565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106a2610cf042613e06565b6001600160a01b039095165f908152600e6020526040902090565b612ba9565b91613b48565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d54613164565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e38565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db38183610889565b810190612b81565b5f80610c4b565b503d610da9565b612b90565b610c13919350610dea90853d8711610dc257610db38183610889565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca5760206107e9612bb6565b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610ec5916004016108d4565b90565b346105ca576020610982610edb36610e87565b90613326565b346105ca5760203660031901126105ca57600435610efe81610642565b610f06613135565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fc457506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b1483398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca57600435610fff81610ab8565b611007613135565b61100f6135da565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109d6613164565b346105ca5760203660031901126105ca57602061098260043561108b81610642565b612bfc565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca576004803561112d81610642565b60243561113981610642565b6044356064356001600160401b0381116105ca5761115a90369086016110e2565b611165959195613135565b61116e84612c95565b831161134a5761117e83856130a2565b5f549094906111a09060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230878301908152929a93996001600160a01b0398898c1697602097929693959094919290889083908190830103818c5afa968715610dc9578c958f958f94968e8e948d995f9d611315575b50916112118961122c95935f98979516809a613c06565b516323e30c8b60e01b8152998a988997889633908801612c4b565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112f8575b50036112e857885190815230858201908152909383918591908290819060200103915afa8015610dc957869361129c935f92610d9c575050612b13565b036112da57506016546001600160a01b03169081166112c9575b836112bf613164565b5160018152602090f35b6112d292613c06565b5f80806112b6565b8451637f28d71160e01b8152fd5b8851631e4ec46b60e01b81528590fd5b61130f9150853d8711610dc257610db38183610889565b5f61125f565b5f969593919d508961122c959361133b611211938e803d10610dc257610db38183610889565b9f9395979850939550506111fa565b5060405163347177ad60e21b8152fd5b346105ca5760203660031901126105ca57602061098260043561137c81610642565b612c95565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206107e96113dc6107c842613e06565b612f8a565b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114c5610810565b6114cd613135565b6003546114e2906001600160a01b0316611194565b3303611753576114f46107c842613e06565b906114fe81612d42565b9082151580611742575b8015611739575b611727576106f2937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611541613e38565b9461155c61154e82612b9b565b5f52600660205260405f2090565b549082810361164157506115708187612ba9565b8381188185100281189687806115fa575b50505050505b836115c6575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115b6613164565b6040519081529081906020820190565b5f546115f59085906115e39060101c6001600160a01b0316611194565b6001546001600160a01b031690613c06565b61158d565b61163693610c4b83610ca861162061161961154e986116309888613cdd565b8096612b13565b9461162a42613e06565b92612b13565b92612b9b565b555f80808087611581565b9150611655825f52600660205260405f2090565b549061166581610d0b848a612ba9565b908482188286100282189788611680575b5050505050611587565b6116f593836116a8936116b58c6116b061169e6116e6998884613cdd565b9788958584613cdd565b948592612b13565b612b13565b93848410611700575b610c4b90610ca86116d495969761162a42613e06565b6116e061154e87612b9b565b55612b13565b915f52600660205260405f2090565b555f80808080611676565b9161171c610c4b91611716866116d49798612b13565b90612ba9565b8594509290506116be565b604051635e18d2a560e01b8152600490fd5b5082821161150f565b5061174c83612b05565b8210611508565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117816107c842613e06565b600181018091116107f9576107e9602091612f8a565b346105ca575f3660031901126105ca5760206109826107c842613e06565b346105ca5760203660031901126105ca576004356117d281610642565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109826107c8610825565b346105ca5760403660031901126105ca5760043561183081610642565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca576106f29260246115b6930190612e2d565b346105ca57602061098261188c36610e87565b906133fc565b346105ca576020806003193601126105ca5760048035906118b282610642565b6118ba613135565b60025460a01c60ff16611a2e576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a01575b50156119f15760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f936119c2575b5050309116036119b35750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109d6613164565b60405163b9f0f17160e01b8152fd5b6119e2929350803d106119ea575b6119da8183610889565b810190612f62565b905f80611954565b503d6119d0565b506040516324e5af8d60e21b8152fd5b611a219150823d8411611a27575b611a198183610889565b810190612f4d565b5f611927565b503d611a0f565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611a56610825565b602435611a61613135565b611a69613631565b60038110611cf35765ffffffffffff9182611a8f60135465ffffffffffff9060601c1690565b168015159081611cdd575b50611bdf575b60015460d01c838083169116818111611bcd571480611bc2575b610b4b57611b97611b6e611b697f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b09611b04611afb6107c842613e06565b600f5490612ba9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b3b6113dc6107c842613e06565b90611b62600f54611b5c611b5160015460d01c90565b65ffffffffffff1690565b90612f77565b9116612ba9565b613e06565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611ba082601055565b6040805165ffffffffffff9290921682526020820192909252a16109d6613164565b5081600f5414611aba565b6040516359dcfd5560e11b8152600490fd5b611bea601154601255565b611c24611bf960015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611c509060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611c5b601454601155565b601354611c929060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611ccd9060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611cd8601054600f55565b611aa0565b9050611ceb611b5142613e06565b10155f611a9a565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611d656107c842613e06565b611d6d613e38565b90805f52600660205260405f205482018092116107f957600181018091116107f9575f52600660205260405f205481018091116107f957604051908152602090f35b346105ca5760403660031901126105ca57602060ff611e01602435611dd381610642565b6004355f525f80516020614af4833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca5760203660031901126105ca57600435611e6481610642565b60018060a01b03165f52600e602052602061098260405f20613f20565b346105ca576040806003193601126105ca57600435611e9f81610642565b6024356001600160401b0381116105ca575f80611f3d93611ec660809436906004016110e2565b908188519283928337810184815203915af43d15611f455760203d611eea816108b9565b90611ef787519283610889565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f80199101168101036060810184520182610889565b805190602001fd5b60206060611f00565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca5760043561200b81610642565b60243561201781610ab8565b61201f613135565b612027613688565b6001600160a01b0382169182156120c1575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120b6916120a4908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109d6613164565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca5760206121176024356120f581610642565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e0160243561214481610642565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca5760206107e9600435612f8a565b346105ca576020806003193601126105ca5760048035906121cc82610642565b6121d4613135565b60035460a01c60ff16612346576001600160a01b03828116939084612234575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109d6613164565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91612329575b50156123185760405163fbfa77cf60e01b815282818581895afa928315610dc9575f936122f9575b5050309116036122ea5750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806121f4565b604051633f3e089160e21b8152fd5b612310929350803d106119ea576119da8183610889565b905f806122b7565b60405163dabc4ad960e01b81528390fd5b6123409150833d8511611a2757611a198183610889565b5f61228f565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561237281610642565b6024359061237e613135565b6001600160a01b0391818316908115612404576123af6106f2946123a183613d6a565b9485915f5460101c16613c06565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b14833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020600f54604051908152f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020610982613e38565b346105ca5760203660031901126105ca576004356124f5613135565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fc457508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca576020610982613eac565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca5760203660031901126105ca576004356125f881610642565b6126046107c842613e06565b61260d82612bfc565b9161261881836130d7565b83018093116107f957600182018092116107f957612635916130d7565b81018091116107f957602090604051908152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca576020610982613062565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca5760403660031901126105ca576109d66024356004356126f382610642565b805f525f80516020614af4833981519152602052612717600160405f2001546136df565b6137a6565b346105ca5760203660031901126105ca57600435612738613135565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fc457508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b1483398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca57602061098260043561282981610642565b602435906130a2565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128f381610642565b6128fb610810565b6001600160401b0391906044358381116105ca5761291d9036906004016110e2565b9092604093845161292d8161084e565b6060815260606020820152606086820152928061298c575b6106f28661297d878761297761295e8984845191612b20565b928561296e6020850151836133fc565b93015190613326565b91613f73565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129bd8761084e565b84358181116105ca57826129d29187016108d4565b875260208501358181116105ca57826129ec9187016108d4565b6020880152858501359081116105ca576106f296612a156129779361295e9361297d98016108d4565b87820152939450612945565b346105ca5760403660031901126105ca57600435612a3e81610642565b602435612a49613135565b6001600160a01b0382161561071d578015612ab557612a78612a69613eac565b612a71613e38565b90836143b6565b335f908152600e60205260409020909290612a9290613f20565b8311612aa3576106d8918391613177565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca576020610982602435612ae981610642565b6004356130d7565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116107f957565b919082039182116107f957565b6001600160a01b03165f908152600e60205260409020610ec59291906134b1565b65ffffffffffff8060135460601c169081158015612b6e575b612b62575090565b905060015460a01c1690565b508181612b7a42613e06565b1610612b5a565b908160209103126105ca575190565b6040513d5f823e3d90fd5b90600182018092116107f957565b919082018092116107f957565b60135465ffffffffffff90818160601c168015908115612be8575b50612bdd5760901c1690565b505060015460d01c90565b905082612bf442613e06565b16105f612bd1565b6001600160a01b03165f908152600e60205260409020612c1b90613f20565b612c23613e38565b612c2b613eac565b90600181018091116107f957600182018092116107f957610ec592613cdd565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cf5576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612cdc575090565b610ec5915060203d602011610dc257610db38183610889565b505f90565b65ffffffffffff91821690821603919082116107f957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d3d57160490565b612d12565b60015465ffffffffffff808316929160a081901c821680851015612dba5750506013549281841690818015918215612db0575b5050612d9e57610ec59361171692612d93611b519360125496612cfa565b9160301c1690612d26565b60405163b7d0949760e01b8152600490fd5b109050815f612d75565b909160135490808260601c1695868015918215612e23575b505015612dfe575050610ec5935061171691612df4611b519260115495612cfa565b9060d01c90612d26565b6117169350611b519250612e18610ec59660145496612cfa565b9160901c1690612d26565b109050865f612dd2565b90612e36613135565b5f926001600160a01b038316928315612404578115612ee0575f5b828110612ebe57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea1918491612e9c9060101c6001600160a01b0316611194565b613c06565b612eb2604051928392339684612f1b565b0390a3906108b7613164565b94612ed9600191611716612ed3898789612f06565b35613d6a565b9501612e51565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f165760051b0190565b612ef2565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610ec581610ab8565b908160209103126105ca5751610ec581610642565b818102929181159184041417156107f957565b6012548082106130505760115480831015612fcb5750611b6990610ec592611b62612fbf6013549365ffffffffffff93612b13565b828460301c1690612f77565b905060145480158015613047575b156130115750610ec59165ffffffffffff613007612ffd611b699460015494612b13565b8360d01c90612f77565b9160a01c16612ba9565b611b699150610ec59261303d6130316013549365ffffffffffff93612b13565b828460901c1690612f77565b9160601c16612ba9565b50808310612fd9565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c16801591821561308d575b50506130875760105490565b600f5490565b90915061309942613e06565b16105f8061307b565b5f5460101c6001600160a01b039081169116036130c557601554610ec591613c5f565b60405163350b944160e11b8152600490fd5b906130fd90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107f957600182018092116107f957610ec592613cdd565b5f80516020614b1483398151915260028154146131525760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b1483398151915255565b335f908152600e602052604090209392919061319242613e06565b335f908152600e602052604090206131a990613f20565b918483039283116107f9576131e47febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361327399613b48565b50506131fe6131f242613e06565b610cbd876116b0613eac565b505061321861320c42613e06565b610ca8846116b0613e38565b50506132c1816132ac6132356132306107c842613e06565b612b9b565b61328b61324a825f52600660205260405f2090565b5461325d835f52600760205260405f2090565b5461326982828b613f73565b9d8e998a93612ba9565b613285855f52600660205260405f2090565b55612ba9565b61329d825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132cc838254612ba9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff809316019182116107f957565b908051156133f25780602080613341935183010191016132f5565b61334a816141e4565b9061335b825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e65782119182613391575b50506133885750610ec590613f94565b60209150015190565b90915061339f600a54612b05565b63ffffffff8316149182156133b8575b50505f80613378565b6133de9192506133d26133cd611b5192613311565b6141e4565b5165ffffffffffff1690565b115f806133af565b50505060209150015190565b50610ec590613f94565b908051156134a75780602080613417935183010191016132f5565b6134208161426e565b90613431825165ffffffffffff1690565b9065ffffffffffff80851692168281146133e6578211918261345e575b50506133885750610ec59061405b565b90915061346c600c54612b05565b63ffffffff831614918215613485575b50505f8061344e565b61349f9192506133d261349a611b5192613311565b61426e565b115f8061347c565b50610ec59061405b565b9180511561357357806020806134cc935183010191016132f5565b916134d783826142ee565b926134e8845165ffffffffffff1690565b9065ffffffffffff8085169216828114613567578211918261351e575b505061351557610ec5925061411b565b50506020015190565b90915061352b8354612b05565b63ffffffff831614918215613544575b50505f80613505565b61355f9192506133d2613559611b5192613311565b856142ee565b115f8061353b565b50505050506020015190565b50610ec59161411b565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fc45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135d0565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135d0565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135d0565b5f8181525f80516020614af483398151915260209081526040808320338452909152902060ff906135d0565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614af4833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561379f575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610869576108b79260405261435c565b600b54811015612f1657600b5f525f80516020614ad483398151915201905f90565b600d54811015612f1657600d5f525f80516020614ab483398151915201905f90565b8054821015612f16575f5260205f2001905f90565b600d54600160401b811015610869576001810180600d55811015612f1657600d5f525f80516020614ab48339815191520155565b600b54600160401b811015610869576001810180600b55811015612f1657600b5f525f80516020614ad48339815191520155565b90815491600160401b83101561086957826139749160016108b7950181556138d4565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a37575b506139a46143ef565b509290918154926139b3613e38565b9481613a22575b50156139ff57505f1982018281116107f95781541115612f16575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a13926001600160d01b031691506145eb565b5050613a1e836138e9565b9190565b65ffffffffffff83811691161490505f6139ba565b600160401b8110156108695760018101808455811015612f16575f908382525f80516020614ab483398151915201555f61399b565b919091600b9081548015613b13575b50613a84614444565b50929091815492613a93613eac565b9481613afe575b5015613adf57505f1982018281116107f95781541115612f16575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613af3926001600160d01b031691506146bb565b5050613a1e8361391d565b65ffffffffffff83811691161490505f613a9a565b600160401b8110156108695760018101808455811015612f16575f908382525f80516020614ad483398151915201555f613a7b565b90929192600182019081548015613bd6575b5084613b6584614499565b50949092845493613b7583613f20565b9681613bc1575b5015613b9e575050505f1981019081116107f9576139748591613a1e936138d4565b613a1e949293613bba926001600160d01b03909116919061475a565b5050613951565b65ffffffffffff83811691161490505f613b7c565b600160401b81101561086957806001613bf292018455836138d4565b8154905f199060031b1b191690555f613b5a565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610869576108b79260405261435c565b8115612d3d570490565b90808202905f1981840990828083109203918083039214613cd057633b9aca009082821115613cbe577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d5d5784831115613d505790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144d2565b505090610ec59250613c55565b90613d776107c842613e06565b8210156130505760ff613da7613d95845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613df457613db733836130d7565b918215613de257613dd5906132ac33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e19571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e7357505f5b6001600160d01b03811615612cf557600d54811015612f1657600d5f525f80516020614ab4833981519152015490565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e43565b600a5480613ee757505f5b6001600160d01b03811615612cf557600b54811015612f1657600b5f525f80516020614ad4833981519152015490565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613eb7565b805480613f5557505f5b6001600160d01b03811615613f4f576001613f4592016138d4565b90549060031b1c90565b50505f90565b5f199080828101116107f957825f5260205f2001015460301c613f2a565b9190600181018091116107f957600182018092116107f957610ec592613cdd565b600a54905f829160058411614002575b613fae935061493f565b80613fd157505f5b6001600160d01b03811615612cf557613f45610ec591613890565b613ff6613fe0613ffd92612b05565b600a5f525f80516020614a948339815191520190565b5460301c90565b613fb6565b919261400d81614814565b81039081116107f957613fae93600a5f5265ffffffffffff80835f80516020614a94833981519152015416908516105f14614049575091613fa4565b92915061405590612b9b565b90613fa4565b600c54905f8291600584116140c2575b61407593506149a8565b8061409857505f5b6001600160d01b03811615612cf557613f45610ec5916138b2565b613ff66140a76140bd92612b05565b600c5f525f80516020614a748339815191520190565b61407d565b91926140cd81614814565b81039081116107f95761407593600c5f5265ffffffffffff80835f80516020614a74833981519152015416908516105f1461410957509161406b565b92915061411590612b9b565b9061406b565b908154905f82916005841161417e575b614136935084614a11565b8061415e57505f905b6001600160d01b03821615613f4f57610ec5916001613f4592016138d4565b613ff661416d61417892612b05565b835f5260205f200190565b9061413f565b919261418981614814565b81039081116107f95761413693855f5265ffffffffffff808360205f20015416908516105f146141ba57509161412b565b9291506141c690612b9b565b9061412b565b604051906141d98261086e565b5f6020838281520152565b6141ec6141cc565b506141f56141cc565b50600a54811015612f1657600a5f526020604051916142138361086e565b5f80516020614a9483398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1657600b5f525f80516020614ad48339815191520154604051916142648361086e565b8252602082015290565b6142766141cc565b5061427f6141cc565b50600c54811015612f1657600c5f5260206040519161429d8361086e565b5f80516020614a7483398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1657600d5f525f80516020614ab48339815191520154604051916142648361086e565b906020600161431261433e936143026141cc565b5061430b6141cc565b50856138d4565b5093604051946143218661086e565b549465ffffffffffff86169586825260301c9384910152016138d4565b9054906040519261434e8461086e565b835260031b1c602082015290565b905f602091828151910182855af115612b90575f513d6143ad57506001600160a01b0381163b155b61438b5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614384565b9190600181018091116107f957600182018092116107f9576143d9828285613cdd565b928215612d3d5709151581018091116107f95790565b600c548061440057505f905f905f90565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061445557505f905f905f90565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144aa5750505f905f905f90565b5f199181838101116107f9575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610869576001820180600c55821015612f1657600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a7483398151915290910155565b600a5490600160401b821015610869576001820180600a55821015612f1657600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a9483398151915290910155565b8054600160401b811015610869576145ad916001820181556138d4565b6145d857815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c549192918015614692576140a761460391612b05565b9081549165ffffffffffff90818416918316808311614680578692036146485761464192509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061467b906146676146596108aa565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144e2565b614641565b604051632520601d60e01b8152600490fd5b506146b6906146a26146596108aa565b6001600160d01b03841660208201526144e2565b5f9190565b600a54919291801561473657613fe06146d391612b05565b9081549165ffffffffffff90818416918316808311614680578692036147115761464192509065ffffffffffff82549181199060301b169116179055565b505061467b906147226146596108aa565b6001600160d01b0385166020820152614539565b506146b6906147466146596108aa565b6001600160d01b0384166020820152614539565b805492939280156147ef5761477161477c91612b05565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614680578793036147bb575061464192509065ffffffffffff82549181199060301b169116179055565b91505061467b916147db6147cd6108aa565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614590565b50906146b6916148006147cd6108aa565b6001600160d01b0385166020830152614590565b6001811115610ec557600181600160801b81101561492d575b6148d56148cb6148c16148b76148ad6148a36148e197600488600160401b6148dc9a1015614920575b640100000000811015614913575b62010000811015614906575b6101008110156148fa575b60108110156148ee575b10156148e6575b60030260011c61489c818b613c55565b0160011c90565b61489c818a613c55565b61489c8189613c55565b61489c8188613c55565b61489c8187613c55565b61489c8186613c55565b8093613c55565b821190565b900390565b60011b61488c565b811c9160021b91614885565b60081c91811b9161487b565b60101c9160081b91614870565b60201c9160101b91614864565b60401c9160201b91614856565b50600160401b9050608082901c61482d565b905b82811061494d57505090565b9091808216906001818418811c83018093116107f957600a5f5265ffffffffffff80845f80516020614a94833981519152015416908616105f14614995575050915b90614941565b9093925081018091116107f9579061498f565b905b8281106149b657505090565b9091808216906001818418811c83018093116107f957600c5f5265ffffffffffff80845f80516020614a74833981519152015416908616105f146149fe575050915b906149aa565b9093925081018091116107f957906149f8565b91905b838210614a215750505090565b909192808316906001818518811c83018093116107f957855f5265ffffffffffff808460205f20015416908516105f14614a60575050925b9190614a14565b9094935081018091116107f95791614a5956fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220b628c0b9f3e70db8b5b588fa46bb1007ca4ba9fc10005163b61cc591385fe60a64736f6c63430008190033","sourceMap":"1252:20708: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;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:20708:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:20708:107;-1:-1:-1;1252:20708:107;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;757:38:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;612:37:108;1252:20708:107;;;;-1:-1:-1;;;;;1252:20708:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;10769:21;10765:75;;10878:10;1252:20708;;;;6047:15;1252:20708;;;;;6047:33;;;:::i;:24::-;:33;:::i;:::-;10854:35;;10850:88;;1057:70:95;5628:21:107;;:::i;:::-;5272:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11045:20:107;;;11041:82;;11148:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;;;;;;11041:82;1252:20708;;-1:-1:-1;;;;;;11088:24:107;;1252:20708;;11088:24;10850:88;1252:20708;;-1:-1:-1;;;10912:15:107;;1252:20708;;10912:15;10765:75;1252:20708;;-1:-1:-1;;;10813:16:107;;1252:20708;;10813:16;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;4919:24:23;1252:20708:107;-1:-1:-1;1252:20708:107;4919:24:23;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;4177:34:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;4331:25;819:34:73;837:15;819:34;:::i;:::-;4331:25:107;:::i;:::-;4680:10;;4676:65;;-1:-1:-1;;1252:20708:107;;;;;;;4757:21;1252:20708;4757:21;;:::i;:::-;1252:20708;;;;;;;;;;:::i;4676:65::-;1252:20708;;-1:-1:-1;;;4713:17:107;;1252:20708;;4713:17;1252:20708;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;;-1:-1:-1;;1252:20708:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;5831:59;1252:20708;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;5831:15;1252:20708;;;;;5831:59;:::i;:::-;1252:20708;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;5350:25:23;1252:20708:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;3202:4:23;4919:24;1252:20708:107;-1:-1:-1;1252:20708:107;4919:24:23;1252:20708:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:20708:107;;;;;;;-1:-1:-1;;1252:20708:107;;;;;2077:28:108;1252:20708:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1329:40:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:20708:107;;6441:34:23;6437:102;;6549:37;1252:20708:107;;;6549:37:23;:::i;6437:102::-;1252:20708:107;;-1:-1:-1;;;6498:30:23;;1252:20708:107;;6498:30:23;1252:20708:107;;;;;;-1:-1:-1;;1252:20708:107;;;;;6206:22;1252:20708;;;;6206:46;;;1252:20708;;;;;;;;;;;6206:46;-1:-1:-1;6232:20:107;1252:20708;;;;;6206:46;;1252:20708;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:20708:107;;;;;;;;;;;15777:26;15773:76;;-1:-1:-1;;1252:20708:107;;;;;-1:-1:-1;1252:20708:107;;;;;;15900:27;;1252:20708;;15900:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;15773:76;1252:20708;;-1:-1:-1;;;15826:12:107;;1252:20708;;15826:12;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;8718:24;;8714:81;;-1:-1:-1;1252:20708:107;;;;8809:55;;;1252:20708;8805:118;;1252:20708;;-1:-1:-1;;;8957:43:107;;;8994:4;8957:43;;;1252:20708;;;;;;;;;;;;;;;;;;;;;;;;;8957:43;;;;;;;;;;-1:-1:-1;8957:43:107;;;1252:20708;;9073:6;1252:20708;;;8994:4;;9046:10;;9073:6;;:::i;:::-;-1:-1:-1;1252:20708:107;;;9108:43;;;8994:4;9108:43;;;1252:20708;;;;;;;;;;9108:43;1252:20708;;;;;;9108:43;1252:20708;;;;;9108:43;;;;;;;:59;:43;-1:-1:-1;9108:43:107;;;1252:20708;9108:59;;;:::i;:::-;9182:20;;;9178:79;;1252:20708;;;;;9271:64;;1252:20708;9267:123;;5628:21;;1252:20708;5628:21;9746:93;5628:21;;:::i;:::-;5272:22;9670:66;5272:22;;:::i;:::-;9593:67;390:70:95;;;;;:::i;:::-;837:15:73;9629:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9629:30:107;;:::i;:::-;9593:67;;:::i;:::-;837:15:73;;9707:28:107;837:15:73;819:34;837:15;819:34;:::i;9707:28:107:-;9670:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:20708:107;;;;;;6047:15;1252:20708;;;;;837:15:73;9797:41:107;837:15:73;6047:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;;;6047:15;1252:20708;;;;;;;6047:33;9797:41;:::i;:::-;9746:93;;:::i;:::-;-1:-1:-1;;1252:20708:107;;;;;;;;;;;9046:10;;9855:62;;1252:20708;;9855:62;3426:1:30;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;;;;;;;9267:123;1252:20708;;-1:-1:-1;;;9358:21:107;;;9271:64;5628:21;9289:31;5628:21;;;:::i;9289:31::-;1252:20708;;-1:-1:-1;9271:64:107;;9178:79;-1:-1:-1;1252:20708:107;;-1:-1:-1;;;9225:21:107;;;9108:43;;;;;;-1:-1:-1;9108:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;8957:::-;9073:6;8957:43;;;;;;;;;;;;;;;:::i;:::-;;;;;8805:118;-1:-1:-1;1252:20708:107;;-1:-1:-1;;;8887:25:107;;;8809:55;-1:-1:-1;8853:10:107;1252:20708;;;;8830:22;1252:20708;;;;;;;;8829:35;8809:55;;8714:81;1252:20708;;-1:-1:-1;;;8765:19:107;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;2241:34:108;1252:20708:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5098:48;1252:20708;;;:::i;:::-;5098:48;;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;;1329:40:108;;1252:20708:107;;4468:23:23;4464:108;;-1:-1:-1;19105:16:107;1252:20708;-1:-1:-1;;;;;1252:20708:107;;;;;;19105:37;;19101:87;;-1:-1:-1;;;;;;1252:20708:107;;;19105:16;1252:20708;;;;;;19249:38;;1252:20708;;19249:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;4464:108:23;1252:20708:107;;;;4514:47:23;;;;;;966:10:28;1252:20708:107;4514:47:23;;1252:20708:107;;;;;4514:47:23;1252:20708:107;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;16605:24;16601:74;;-1:-1:-1;;1252:20708:107;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;16724:25;;1252:20708;;16724:25;3426:1:30;;:::i;1252:20708:107:-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3909:32:108;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;-1:-1:-1;1252:20708:107;2704:59:108;1252:20708:107;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12445:19:107;;;:::i;:::-;12437:27;;12433:82;;12538:22;;;;:::i;:::-;-1:-1:-1;1252:20708:107;;;;12636:19;;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;-1:-1:-1;;;;;1252:20708:107;;;12636:19;1252:20708;;;-1:-1:-1;;;12636:44:107;;;12674:4;12636:44;;;1252:20708;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;12674:4;1252:20708;;;;;;;;12636:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12636:44:107;;;1252:20708;;;12743:5;1252:20708;12764:57;1252:20708;;-1:-1:-1;1252:20708:107;;;;12743:5;;;:::i;:::-;1252:20708;-1:-1:-1;;;12764:57:107;;1252:20708;;;;;;;12785:10;;12764:57;;;:::i;:::-;;;;;;;;;1564:45:108;12764:57:107;-1:-1:-1;12764:57:107;;;1252:20708;12764:73;;12760:128;;1252:20708;;12902:44;;;12674:4;12902:44;;;1252:20708;;;;;;;;;12902:44;1252:20708;;;;;;12902:44;;;;;;;;;;:60;:44;-1:-1:-1;12902:44:107;;;:60;;;:::i;:::-;:67;12898:126;;-1:-1:-1;13038:16:107;1252:20708;-1:-1:-1;;;;;1252:20708:107;;;;13034:116;;1252:20708;3426:1:30;;;:::i;:::-;1252:20708:107;13167:4;1252:20708;;;;;13034:116;13135:3;;;:::i;:::-;13034:116;;;;;12898:126;1252:20708;;-1:-1:-1;;;12992:21:107;;;12760:128;1252:20708;;-1:-1:-1;;;12860:17:107;;1252:20708;;12860:17;12764:57;;;;;;;;;;;;;;:::i;:::-;;;;12636:44;-1:-1:-1;12636:44:107;;;;;;;12764:57;12636:44;;;12743:5;12636:44;;;;-1:-1:-1;12636:44:107;;;;;;:::i;:::-;;;;;;;;;;;;;12433:82;-1:-1:-1;1252:20708:107;;-1:-1:-1;;;12487:17:107;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1041:36:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4486:26;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1564:45:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;1575:42;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3817:36:108;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;2409:32:108;1252:20708:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13366:7:107;1252:20708;13352:21;;-1:-1:-1;;;;;1252:20708:107;;;13352:21;:10;:21;13348:71;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;13500;;;;:::i;:::-;13540:17;;;;:53;;;1252:20708;13539:87;;;;1252:20708;13535:146;;1252:20708;5628:21;15545:48;5628:21;;;:::i;:::-;13775:17;13763:30;13775:17;;;:::i;:::-;1252:20708;;13763:11;1252:20708;;;;;;;13763:30;1252:20708;;13807:29;;;;;13877:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:20708:107;3060:42:68;;13987:17:107;;;13983:384;;13803:1615;;;;;;;15432:17;15428:102;;13803:1615;1252:20708;;;;;;;;;;;;;;;;;;;;;;;15545:48;3426:1:30;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;15428:102;-1:-1:-1;1252:20708:107;15505:13;;1252:20708;;15465:18;;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;;15465:18;13791:1;1252:20708;-1:-1:-1;;;;;1252:20708:107;15505:13;;:::i;:::-;15428:102;;13983:384;14280:29;14048:50;14197:65;14048:50;14233:28;14149:29;14048:50;14292:16;14048:50;14312:40;14048:50;;;:::i;:::-;14149:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14233:28:107;;:::i;14312:40::-;14292:16;;:::i;14280:29::-;1252:20708;13983:384;;;;;;;13803:1615;14420:26;;;;1252:20708;;13763:11;1252:20708;;;;;;;14420:26;1252:20708;14485:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:20708:107;3060:42:68;;14610:17:107;;14606:802;;13803:1615;;;;;;;;14606:802;15331:26;14671:50;;14772:53;14671:50;14872:54;14671:50;14872:29;14671:50;15360:33;14671:50;;;;:::i;:::-;14772:53;;;;;;:::i;:::-;14872:29;;;;:::i;:::-;:54;:::i;:::-;14949:33;;;;14945:194;;14606:802;15157:65;837:15:73;15193:28:107;15273:40;837:15:73;;;819:34;837:15;819:34;:::i;15273:40:107:-;15240:30;15252:17;;;:::i;15240:30::-;1252:20708;15360:33;:::i;:::-;15331:26;1252:20708;;13763:11;1252:20708;;;;;;;15331:26;1252:20708;14606:802;;;;;;;14945:194;15032:33;15006:59;15157:65;15032:33;;;15273:40;15032:33;;;:::i;:::-;15006:59;;:::i;:::-;15087:33;;-1:-1:-1;15087:33:107;;-1:-1:-1;14945:194:107;;13535:146;1252:20708;;-1:-1:-1;;;13649:21:107;;1252:20708;;13649:21;13539:87;13598:28;;;;13539:87;;13540:53;13576:17;;;;:::i;:::-;13561:32;;13540:53;;13348:71;1252:20708;;-1:-1:-1;;;13396:12:107;;1252:20708;;13396:12;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4933:1;1252:20708;;;;;;;4905:30;1252:20708;4905:30;;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;4331:25;819:34:73;837:15;819:34;:::i;1252:20708:107:-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:20708:107;2580:68:108;1252:20708:107;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11735:14;1252:20708;;11735:14;;:::i;1252:20708::-;;;;;5456:47;1252:20708;;;:::i;:::-;5456:47;;:::i;1252:20708::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;19434:22:107;1252:20708;;;;;19430:89;;1252:20708;;-1:-1:-1;;;19534:49:107;;-1:-1:-1;;;;;1252:20708:107;;;19534:49;;;1252:20708;;;;;;;;;;;;;;;19534:49;19544:17;;;1252:20708;19534:49;;;;;;;-1:-1:-1;19534:49:107;;;1252:20708;19533:50;;19529:102;;1252:20708;;-1:-1:-1;;;19645:34:107;;1252:20708;;;;;19645:34;1252:20708;19645:34;1252:20708;;19645:34;;;;;;;-1:-1:-1;19645:34:107;;;1252:20708;19691:4;;;1252:20708;;19645:51;19641:107;;-1:-1:-1;19434:22:107;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;;;-1:-1:-1;;;;;;1252:20708:107;;;;;;;-1:-1:-1;;;1252:20708:107;;;19836:24;-1:-1:-1;;19836:24:107;3426:1:30;;:::i;19641:107:107:-;1252:20708;;-1:-1:-1;;;19719:18:107;;;19645:34;;;;;;;-1:-1:-1;19645:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;19529:102;-1:-1:-1;1252:20708:107;;-1:-1:-1;;;19606:14:107;;;19534:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;19430:89;1252:20708;;-1:-1:-1;;;19479:29:107;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;17327:1:107;17296:32;;17292:106;;1252:20708;;;;17412:22;1252:20708;;;;;;;;;;17412:27;;;:73;;;;1252:20708;17408:505;;;1252:20708;17927:14;1252:20708;;;;;;;;;17927:31;;;17923:94;;18031:32;:96;;;1252:20708;18027:146;;18305:105;18330:80;18331:67;18499:62;837:15:73;18183:67:107;18205:45;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;18222:28;1252:20708;18205:45;;:::i;:::-;18183:67;1252:20708;;18183:67;17412:22;1252:20708;;-1:-1:-1;;;;1252:20708:107;;;;;-1:-1:-1;;;1252:20708:107;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4486:26:107:-;1252:20708;18353:45;18222:28;1252:20708;18353:45;1252:20708;17927:14;1252:20708;;;;;;;;;;18353:45;;;:::i;:::-;1252:20708;;18331:67;:::i;:::-;18330:80;:::i;:::-;17412:22;1252:20708;;-1:-1:-1;;;;1252:20708:107;;;;;;-1:-1:-1;;;1252:20708:107;;;;;;;;18305:105;18420:63;;;1252:20708;;18420:63;1252:20708;;;;;;;;;;;;;;;;;18499:62;3426:1:30;;:::i;18031:96:107:-;1252:20708;;18067:28;1252:20708;18067:60;18031:96;;17923:94;1252:20708;;-1:-1:-1;;;17981:25:107;;1252:20708;;17981:25;17408:505;17501:53;17531:23;1252:20708;17501:53;1252:20708;;17501:53;17568:35;1252:20708;17589:14;1252:20708;;;;;;;17412:22;1252:20708;;;;;;;;;;17412:22;1252:20708;;17568:35;17589:14;1252:20708;17617:43;;1252:20708;;;;;;;;17412:22;1252:20708;;;17412:22;1252:20708;;17617:43;17674:45;17700:19;1252:20708;17531:23;1252:20708;;17674:45;17412:22;1252:20708;17733:35;;1252:20708;;;;17589:14;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;;;;;-1:-1:-1;;;;;;1252:20708:107;;;;;;;;17733:35;17412:22;1252:20708;17782:43;;1252:20708;;;;17589:14;1252:20708;;-1:-1:-1;;;;1252:20708:107;;;;;;-1:-1:-1;;;1252:20708:107;;;;;;;;17782:43;17839:63;17870:32;1252:20708;17839:63;1252:20708;;17839:63;17408:505;;17412:73;837:15:73;;17443:42:107;819:34:73;837:15;819:34;:::i;17443:42:107:-;-1:-1:-1;17443:42:107;17412:73;;;17292:106;1252:20708;;-1:-1:-1;;;17351:36:107;;1252:20708;;17351:36;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;1666:40;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;5628:21;;:::i;:::-;1252:20708;;;;6432:11;1252:20708;;;;;;;;;;;;;6473:1;1252:20708;;;;;;;;;6432:11;1252:20708;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3901:31:23;1252:20708:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;3901:31:23;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;3719:42:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;3625:38:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:20708:107;6047:15;1252:20708;;;6047:33;1252:20708;-1:-1:-1;1252:20708:107;6047:33;:::i;1252:20708::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:20708:107;;;;-1:-1:-1;1252:20708:107;477:31:86;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;477:31:86;;;1252:20708:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;477:31:86;1252:20708:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:20708:107;518:79:86;;1252:20708:107;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;1989:32:108;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;900:35:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;16142:21;;16138:75;;-1:-1:-1;1252:20708:107;;;16227:22;1252:20708;;;;;;;;;;;;;16227:41;16223:91;;-1:-1:-1;;;;;1252:20708:107;;;;;8830:22;1252:20708;;;;;16380:44;;;;16324:40;;:31;1252:20708;;;;;;;;;;;;;;16324:40;1252:20708;;;;;;;;;;;;;;;16380:44;;;;3426:1:30;;:::i;16138:75:107:-;1252:20708;;-1:-1:-1;;;16186:16:107;;1252:20708;;16186:16;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;2939:94:108;1252:20708:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20708:107;2939:94:108;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;2939:94:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3089:92:108;1252:20708:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20708:107;3089:92:108;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;4350:31:108;1252:20708:107;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20003:20:107;1252:20708;;;;;19999:85;;-1:-1:-1;;;;;1252:20708:107;;;;;;20094:312;;1252:20708;20003:20;1252:20708;;-1:-1:-1;;;;1252:20708:107;-1:-1:-1;;;1252:20708:107;;;20416:27;20459:20;-1:-1:-1;20459:20:107;;3426:1:30;;:::i;20094:312:107:-;1252:20708;;-1:-1:-1;;;20141:45:107;;-1:-1:-1;;;;;1252:20708:107;;20141:45;;;1252:20708;;;20141:45;;1252:20708;;;;;;20141:45;20151:15;;;1252:20708;20141:45;;;;;;;-1:-1:-1;20141:45:107;;;20094:312;20140:46;;20136:104;;1252:20708;;-1:-1:-1;;;20258:30:107;;;1252:20708;20258:30;1252:20708;20258:30;;;;;;;;-1:-1:-1;20258:30:107;;;20094:312;20300:4;;;1252:20708;;20258:47;20254:109;;-1:-1:-1;20003:20:107;1252:20708;;-1:-1:-1;;;;;;1252:20708:107;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;20094:312;;;;;;20254:109;1252:20708;;-1:-1:-1;;;20332:16:107;;;20258:30;;;;;;;-1:-1:-1;20258:30:107;;;;;;:::i;:::-;;;;;;20136:104;1252:20708;;-1:-1:-1;;;20213:12:107;;1252:20708;;20213:12;20141:45;;;;;;;;;;;;;;:::i;:::-;;;;19999:85;1252:20708;;-1:-1:-1;;;20046:27:107;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;11356:23;;11352:79;;11517:6;1252:20708;11450:13;;;;:::i;:::-;1252:20708;;;-1:-1:-1;1252:20708:107;;;;11517:6;:::i;:::-;1252:20708;;;;;;;;;;;;11546:10;;11540:43;;1252:20708;11540:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;;;;;;;11352:79;1252:20708;;-1:-1:-1;;;11402:18:107;;1252:20708;;11402:18;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;-1:-1:-1;1252:20708:107;2819:64:108;1252:20708:107;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;2331:22:108;1252:20708:107;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;3423:43:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1183:36:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;5628:21;;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;;900:35:108;;1252:20708:107;;4468:23:23;4464:108;;1252:20708:107;;;;16927:21;16923:71;;1252:20708;;17040:22;1252:20708;;;;;;;;17040:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;5272:22;;:::i;1252:20708::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;4089:32:108;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;7836:24;;;:::i;:::-;7863:29;;;;;:::i;:::-;1252:20708;;;;;;;7917:1;1252:20708;;;;;;;7895:33;;;:::i;:::-;1252:20708;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;3522:47:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3997:36:108;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;2161:24:108;1252:20708:107;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;5767:26:23;1252:20708:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;3202:4:23;4919:24;1252:20708:107;-1:-1:-1;1252:20708:107;4919:24:23;1252:20708:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:20708:107:-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;;1183:36:108;;1252:20708:107;;4468:23:23;4464:108;;1252:20708:107;;18748:12;1252:20708;18748:29;18744:79;;1252:20708;;18876:30;1252:20708;18748:12;1252:20708;;;;;;18876:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;466:39:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;4267:27:108;1252:20708:107;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;1466:3:108;1252:20708:107;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;:::i;:::-;6654:48;;1252:20708;;;;;;;:::i;:::-;;;;;;;;;;;;;;6716:16;;6712:111;;1252:20708;;6915:39;1057:70:95;6915:39:107;;5098:48;6878:77;6915:39;;;;6878:77;;:::i;:::-;6994:36;;5456:47;1252:20708;6994:36;;;5456:47;;:::i;:::-;7071:37;;;5098:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;6712:111;6771:41;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5098:48;1252:20708;6878:77;1252:20708;1057:70:95;1252:20708:107;;;:::i;:::-;;;;;6712:111;;;;;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:20708:107;;10134:21;10130:75;;10219:11;;10215:73;;845:69:95;5272:22:107;;:::i;:::-;5628:21;;:::i;:::-;845:69:95;;;:::i;:::-;10424:10:107;1252:20708;;;;6047:15;1252:20708;;;;;10424:10;;;6047:33;;;:::i;:::-;10394:41;;10390:96;;10511:40;;;;;:::i;10390:96::-;1252:20708;;-1:-1:-1;;;10458:17:107;;1252:20708;;10458:17;10215:73;1252:20708;;-1:-1:-1;;;10253:24:107;;1252:20708;;10253:24;1252:20708;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5704:193::-;-1:-1:-1;;;;;1252:20708:107;-1:-1:-1;1252:20708:107;;;5831:15;1252:20708;;;;;5831:59;;5704:193;;5831:59;:::i;2517:241::-;1252:20708;;2589:22;1252:20708;;;;2589:27;;;:72;;;;2517:241;2585:128;;2722:29;2517:241;:::o;2585:128::-;1252:20708;;2684:18;1252:20708;;;;2677:25;:::o;2589:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20708:107;2620:41;2589:72;;1252:20708;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13791:1;1252:20708;;;;;;;:::o;:::-;;;;;;;;;;:::o;2240:229::-;2308:22;1252:20708;;;;;;;;2308:27;;:72;;;;;2240:229;2304:124;;;1252:20708;;;2240:229;:::o;2304:124::-;1252:20708;;2403:14;1252:20708;;;2396:21;:::o;2308:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20708:107;2339:41;2308:72;;;7174:191;-1:-1:-1;;;;;1252:20708:107;-1:-1:-1;1252:20708:107;;;6047:15;1252:20708;;;;;6047:33;;;:::i;:::-;5628:21;;:::i;:::-;5272:22;;:::i;:::-;1252:20708;1884:1:95;1252:20708:107;;;;;;;1884:1:95;1252:20708:107;;;;;;;9478:25:68;;;:::i;1252:20708:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;:::o;7996:218::-;8109:10;1252:20708;;;-1:-1:-1;;;;;1252:20708:107;;;;;8136:20;;1252:20708;;8159:44;1252:20708;;;;;;;;;;;8159:44;;8197:4;8159:44;;;1252:20708;8159:44;;;;;;;8109:10;8159:44;;;8136:71;7996:218;:::o;8159:44::-;;;;;;;;;;;;;;:::i;8136:71::-;;8109:10;7996:218;:::o;1252:20708::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2806:693::-;2911:18;1252:20708;;;;;;;;;;;;;2899:30;;;;;;1252:20708;;2949:22;1252:20708;;;;;2949:27;;;;:65;;;;;2895:598;2945:129;;;;3094:87;1252:20708;3094:87;1252:20708;3125:34;3124:57;1252:20708;3094:27;1252:20708;3125:34;;:::i;:::-;1252:20708;;;;3124:57;;:::i;2945:129::-;1252:20708;;-1:-1:-1;;;3041:18:107;;;;;2949:65;2980:34;;-1:-1:-1;2949:65:107;;;;2895:598;1252:20708;;3202:22;1252:20708;;;;;;;3202:27;;;;:65;;;;;2895:598;-1:-1:-1;;3198:295:107;;;1252:20708;;3290:75;1252:20708;;3290:75;1252:20708;3317:30;3316:49;1252:20708;3290:23;1252:20708;3317:30;;:::i;:::-;1252:20708;;;3316:49;;:::i;3198:295::-;3403:79;1252:20708;;3425:57;1252:20708;;3426:34;3403:79;1252:20708;3403:19;1252:20708;3426:34;;:::i;:::-;1252:20708;;;;3425:57;;:::i;3202:65::-;3233:34;;-1:-1:-1;3202:65:107;;;;3361:103:30;;;;:::i;:::-;1252:20708:107;;-1:-1:-1;;;;;1252:20708:107;;;11765:23;;11761:79;;11894:11;;11890:70;;1252:20708;11986:10;;;;;;-1:-1:-1;1252:20708:107;;12131:49;;1252:20708;;;;12108:6;;1252:20708;;12065:18;;1252:20708;;-1:-1:-1;;;;;1252:20708:107;;;12065:18;12108:6;:::i;:::-;12131:49;1252:20708;;12142:10;;;;12131:49;;;:::i;:::-;;;;3426:1:30;;;:::i;11998:3:107:-;12034:9;12017:27;1252:20708;12034:9;12027:17;12034:9;;;;;:::i;:::-;1252:20708;12027:17;:::i;12017:27::-;11998:3;1252:20708;11975:9;;11890:70;1252:20708;;-1:-1:-1;;;11928:21:107;;;;;1252:20708;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3547:665::-;3647:27;1252:20708;3639:35;;;3635:87;;3744:23;1252:20708;3736:31;;;;;;1252:20708;3791:83;1252:20708;3790:96;1252:20708;3816:58;3817:35;3791:22;1252:20708;;;3817:35;;:::i;:::-;1252:20708;;;;;3816:58;;:::i;3732:474::-;1252:20708;;3907:19;1252:20708;3907:24;;:55;;;;3732:474;3903:303;;;1252:20708;3985:84;1252:20708;;4007:50;4008:31;3986:71;1252:20708;3986:18;1252:20708;4008:31;;:::i;:::-;1252:20708;;;4007:50;;:::i;:::-;1252:20708;;;;3986:71;:::i;3903:303::-;4108:75;1252:20708;;4107:88;1252:20708;4133:50;4134:27;4108:22;1252:20708;;;4134:27;;:::i;:::-;1252:20708;;;;;4133:50;;:::i;:::-;1252:20708;;;;4108:75;:::i;3907:55::-;3935:27;;;;3907:55;;3635:87;1252:20708;;-1:-1:-1;;;3697:14:107;;;;;1918:274;1252:20708;;2003:22;1252:20708;;;;2003:27;;:72;;;;;1918:274;1999:138;;;;2153:32;1252:20708;1918:274;:::o;1999:138::-;2098:28;1252:20708;2091:35;:::o;2003:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20708:107;2034:41;2003:72;;;;8275:228;8376:10;1252:20708;;;-1:-1:-1;;;;;1252:20708:107;;;;;8367:19;8363:75;;8467:12;1252:20708;8454:42;;;:::i;8363:75::-;1252:20708;;-1:-1:-1;;;8409:18:107;;;;;7413:227;;7553:34;7413:227;1252:20708;-1:-1:-1;1252:20708:107;7553:18;1252:20708;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;;;;;;;7553:34;1252:20708;;-1:-1:-1;1252:20708:107;7589:11;1252:20708;;;-1:-1:-1;1252:20708:107;;7609:16;1252:20708;;;-1:-1:-1;1252:20708:107;;;1884:1:95;1252:20708:107;;;;;;;1884:1:95;1252:20708:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:20708:107;;3670:20:30;3666:88;;1991:1;1252:20708:107;;3470:384:30:o;3666:88::-;1252:20708:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:20708:107;3860:283:30:o;20492:960:107:-;20671:10;1252:20708;;;;6047:15;1252:20708;;;;;;20492:960;;;819:34:73;837:15;819:34;:::i;:::-;20671:10:107;1252:20708;;;;6047:15;1252:20708;;;;;6047:33;;;:::i;:::-;1252:20708;;;;;;;;;20655:93;21371:74;20655:93;;;21196:30;20655:93;;:::i;:::-;837:15:73;;20758:67:107;819:34:73;837:15;819:34;:::i;:::-;20795:29:107;5272:22;;;:::i;20758:67::-;837:15:73;;20835:68:107;819:34:73;837:15;819:34;:::i;:::-;20871:31:107;5628:21;;;:::i;20835:68::-;837:15:73;;21305:34:107;837:15:73;21305:25:107;20930:18;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;20930:18;:::i;:::-;21262:33;20981:18;;1252:20708;;13763:11;1252:20708;;;;;;;20981:18;1252:20708;21038:23;;1252:20708;;21038:16;1252:20708;;;;;;;21038:23;1252:20708;390:70:95;;;;;:::i;:::-;21196:30:107;;;;;;:::i;:::-;21175:18;;1252:20708;;13763:11;1252:20708;;;;;;;21175:18;1252:20708;21262:33;:::i;:::-;21236:23;;1252:20708;;21038:16;1252:20708;;;;;;;21236:23;1252:20708;;;21305:18;1252:20708;;;;;;;21305:25;1252:20708;;;;;;;;;;;;;;;;21305:34;:50;1252:20708;;;21305:50;:::i;:::-;1252:20708;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;20671:10;;1252:20708;;21371:74;20492:960::o;1252:20708::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:20708:107;;7686:17:94;7682:83;;1252:20708:107;7789:27:94;1252:20708:107;7789:27:94;1252:20708:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:20708: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:20708:107;8075:24:94;:::o;7975:84::-;1252:20708:107;;;8009:16:94;5098:13:107;1252:20708;8009:16:94;:::i;:::-;1252:20708: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:20708:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:20708:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:20708:107;;7686:17:94;7682:83;;1252:20708:107;7789:27:94;1252:20708:107;7789:27:94;1252:20708:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:20708:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:20708:107;;;8009:16:94;5456:12:107;1252:20708;8009:16:94;:::i;:::-;1252:20708: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:20708:107;;7686:17:94;7682:83;;1252:20708:107;7789:27:94;1252:20708:107;7789:27:94;1252:20708:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:20708: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:20708:107;8075:24:94;:::o;7975:84::-;1252:20708:107;;;8009:16:94;1252:20708:107;;8009:16:94;:::i;:::-;1252:20708: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:20708:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;466:39:108;;1252:20708:107;;3901:31:23;1252:20708:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;757:38:108;;1252:20708:107;;3901:31:23;1252:20708:107;4148:103:23;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;1041:36:108;;1252:20708:107;;3901:31:23;1252:20708:107;4148:103:23;966:10:28;-1:-1:-1;1252:20708:107;;;;;;;;;612:37:108;;1252:20708:107;;3901:31:23;1252:20708:107;4148:103:23;-1:-1:-1;1252:20708:107;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;966:10:28;1252:20708:107;;;;;;;;;3901:31:23;1252:20708:107;7270:387:23;-1:-1:-1;1252:20708:107;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;-1:-1:-1;;1252:20708:107;7509:4:23;1252:20708:107;;;966:10:28;;-1:-1:-1;;;;;1252:20708: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:20708:107;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;966:10:28;;-1:-1:-1;;;;;1252:20708:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:20708:107;8209:11:23;:::o;1670:188:55:-;1252:20708:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:20708:107;;;1797:53:55;;;1252:20708:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:20708:107;;;;;;;-1:-1:-1;;;;;1252:20708:107;;;;;1797:53:55;1252:20708:107;;;1797:53:55;:::i;1252:20708:107:-;7178:12:94;1252:20708:107;;;;;;7178:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;-1:-1:-1;1252:20708:107;:::o;:::-;7178:12:94;1252:20708:107;;;;;;7178:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;-1:-1:-1;1252:20708:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:20708:107;;-1:-1:-1;1252:20708:107;;;-1:-1:-1;1252:20708:107;:::o;:::-;6360:12:94;1252:20708:107;-1:-1:-1;;;1252:20708:107;;;;;;;;;6360:12:94;1252:20708:107;;;;;;6360:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;:::o;:::-;6360:12:94;1252:20708:107;-1:-1:-1;;;1252:20708:107;;;;;;;;;6360:12:94;1252:20708:107;;;;;;6360:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:20708:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:20708:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:20708:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:20708:107;;;;;;;;;-1:-1:-1;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;6798:25:94;1252:20708:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:20708:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:20708:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;6356:75:94;;;6246:584;;;;6360:12;1252:20708:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:20708:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:20708:107;;;;;;;;;-1:-1:-1;1252:20708:107;;;-1:-1:-1;1252:20708:107;;;;;;6798:25:94;1252:20708:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:20708:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:20708:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20708:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20708:107;;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:20708:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:20708:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:20708:107;;8310:38:71;;-1:-1:-1;;;;;1252:20708:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:20708:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20708:107;;;;;;6360:12:94;1252:20708:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:20708:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:20708:107;;;1380:43:55;;;1252:20708:107;;;;;;;;;1380:43:55;;;1252:20708:107;;;;-1:-1:-1;;;;;1252:20708:107;;;;;;;;1380:43:55;1252:20708:107;;;1380:43:55;:::i;1252:20708:107:-;;;;;;;:::o;4996:4226:68:-;;1252:20708:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:108;6270:20:68;;;;;6266:143;;1252:20708:107;6695:300:68;;;;;;;;1252:20708:107;;6695:300:68;;7259:375;;7700:21;1252:20708:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1252:20708:107;;1466:3:108;1252:20708:107;;;6119:26:68;:::o;4996:4226::-;;1252:20708:107;;;;-1:-1:-1;;1252:20708: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:20708:107;;8075:1:68;1252:20708:107;8074:21:68;1252:20708:107;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;;;;940:4:59;;1252:20708:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:20708:107;6695:300:68;;7259:375;7700:21;1252:20708:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:20708:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;21458:460:107:-;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;21551:23;;;21547:75;;1252:20708;21636:39;:27;;1252:20708;;21636:20;1252:20708;;;;;;;21636:27;21664:10;1252:20708;;;;;;;;;;;;;;21636:39;1252:20708;;21632:93;;21744:32;21664:10;21744:32;;:::i;:::-;21791:11;;;21787:68;;21865:39;21664:10;21865:27;21664:10;21865:27;1252:20708;;21636:20;1252:20708;;;;;;;21865:39;1252:20708;;-1:-1:-1;;1252:20708:107;21907:4;1252:20708;;;21458:460::o;21787:68::-;1252:20708;;-1:-1:-1;;;21825:19:107;;;;;21632:93;1252:20708;;-1:-1:-1;;;21698:16:107;;;;;14296:213:69;1252:20708:107;14374:24:69;;;;14370:103;;1252:20708:107;14296:213:69;:::o;14370:103::-;1252:20708:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:20708:107;;;;;14421:41:69;10580:184:94;5628:12:107;1252:20708;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20708:107;;10726:7:94;1252:20708:107;;10736:12:94;1252:20708:107;;;;;;10736:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;10580:184:94;:::o;10446:63:71:-;1252:20708:107;;;;;;;;5628:12;-1:-1:-1;14439:109:71;;;1252:20708:107;;;10446:63:71;;10580:184:94;5272:13:107;1252:20708;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20708:107;;10726:7:94;1252:20708:107;;10736:12:94;1252:20708:107;;;;;;10736:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;10580:184:94;:::o;10446:63:71:-;1252:20708:107;;;;;;;;5272:13;-1:-1:-1;14439:109:71;;;1252:20708:107;;;10446:63:71;;10580:184:94;1252:20708:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20708:107;;10726:7:94;1252:20708:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:20708:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:20708:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:20708:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:20708:107;;;;;;;1884:1:95;1252:20708:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5098:13:107;1252:20708;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:20708:107;;7168:7:94;1252:20708:107;;7178:17:94;1252:20708: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:20708:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:20708:107;;;;;;;10049:53:71;14439:109;5098:13:107;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20708:107;;;;;9870:48:71;9866:149;1252:20708:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5456:12:107;1252:20708;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:20708:107;;7168:7:94;1252:20708:107;;7178:17:94;1252:20708: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:20708:107;;;;;;;10049:53:71;14439:109;5456:12:107;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20708:107;;;;;9870:48:71;9866:149;1252:20708:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:20708: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:20708:107;;7168:7:94;1252:20708: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:20708:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:20708:107;;;;;9870:48:71;9866:149;1252:20708:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:20708:107;;;;;;;:::i;:::-;-1:-1:-1;1252:20708:107;;;;;;;:::o;11486:272:94:-;1252:20708:107;;:::i;:::-;;;;:::i;:::-;;5098:13;1252:20708;;;;;;5098:13;-1:-1:-1;1252:20708:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;;;;;;;;;;11718:12:94;1252:20708:107;;;;;;11718:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:20708:107;11486:272:94;:::o;:::-;1252:20708:107;;:::i;:::-;;;;:::i;:::-;;5456:12;1252:20708;;;;;;5456:12;-1:-1:-1;1252:20708:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;;;;;;;;;;11718:12:94;1252:20708:107;;;;;;11718:12:94;-1:-1:-1;1252:20708:107;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;;;;;:::i;11486:272:94:-;;1252:20708:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:20708:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:20708:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:20708:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:20708: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:20708:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:20708:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:20708:107;;;8401:40:55;;;1252:20708:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:20708:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:20708:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5628:12:107;1252:20708;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20708:107;;;;;;;;5628:12;10833:17:71;14439:109;;;1252:20708:107;11014:1:71;;1252:20708:107;;;;;;;11030:37:71:o;10695:389::-;5272:13:107;1252:20708;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20708:107;;;;;;;;5272:13;10833:17:71;14439:109;;;1252:20708:107;11014:1:71;;1252:20708:107;;;;;;;11030:37:71:o;10695:389::-;1252:20708:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20708:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:20708:107;11014:1:71;1252:20708:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:20708:107;5628:12;1252:20708;;-1:-1:-1;;;1252:20708:107;;;;;;;;;5628:12;1252:20708;;;;;;5628:12;-1:-1:-1;1252:20708:107;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;:::o;:::-;5272:13;1252:20708;;-1:-1:-1;;;1252:20708:107;;;;;;;;;5272:13;1252:20708;;;;;;5272:13;-1:-1:-1;1252:20708:107;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:20708:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:20708:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:20708:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5628:12:107;1252:20708;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:20708:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:20708:107;;;;;;;;;;;;;;;;;12285:19:71;1252:20708:107;;12423:25:71;;:::o;12247:163::-;1252:20708:107;;12343:52:71;1252:20708:107;12353:41:71;1252:20708:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:20708:107;;12353:41:71;;;1252:20708:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:20708:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:20708:107;12479:52:71;1252:20708:107;12489:41:71;1252:20708:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20708:107;;12489:41:71;;;1252:20708:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5272:13:107;1252:20708;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:20708:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:20708:107;;;;;;;;;;;;;;;;;12247:163:71;1252:20708:107;;12343:52:71;1252:20708:107;12353:41:71;1252:20708:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:20708:107;;12353:41:71;;;1252:20708:107;12343:52:71;:::i;11860:713::-;1252:20708:107;12479:52:71;1252:20708:107;12489:41:71;1252:20708:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20708:107;;12489:41:71;;;1252:20708:107;12343:52:71;:::i;11657:922::-;1252:20708:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:20708:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:20708:107;;;;;;;;;;;;;;;;;12247:163:71;1252:20708:107;;;12343:52:71;1252:20708:107;12353:41:71;1252:20708:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:20708:107;;12353:41:71;;;1252:20708:107;12343:52:71;:::i;11860:713::-;1252:20708:107;;12479:52:71;1252:20708:107;12489:41:71;1252:20708:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20708:107;;12489:41:71;;;1252:20708: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:20708:107;18246:1:68;1252:20708:107;22284:6:68;;;;:::i;:::-;1252:20708: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:20708:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:20708:107;19887:61:68;;19787:87;1252:20708:107;;;;;19787:87:68;;;19687;1252:20708:107;;;;;19687:87:68;;;19585:89;1252:20708:107;;;;;19585:89:68;;;19482:90;1252:20708:107;;;;;19482:90:68;;;19379;1252:20708:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:20708:107;-1:-1:-1;1252:20708:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:20708:107;;3731:5:68;;;1252:20708:107;;;;;;;;;5098:13;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20708:107;;;;;-1:-1:-1;13189:136:71;1252:20708:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:20708:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:20708:107;;3731:5:68;;;1252:20708:107;;;;;;;;;5456:12;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20708:107;;;;;-1:-1:-1;13189:136:71;1252:20708:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:20708:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:20708:107;;3731:5:68;;;1252:20708:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:20708:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:20708:107;;;;;-1:-1:-1;13189:136:71;1252:20708:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:20708:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"69978":[{"start":5168,"length":32},{"start":6391,"length":32}],"69981":[{"start":7450,"length":32},{"start":8799,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","_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","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","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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\":\"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\":\"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\":\"_Vault_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\":\"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\":[{\"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\":\"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\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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.\"},\"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.\"},\"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.\"},\"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.\"},\"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\":\"0xe5c0c6312561f10b2a225d81dcf400ec0e66e5b3f70f790d745aa99cf7d18e08\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e9d7430dff0c612aaea0f6a12a966e530171bf951185b899744826106a23fe15\",\"dweb:/ipfs/QmVnH26Wph2BD9hed15nCzuuZHcTRUAoe8jEDPSL9xppCw\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a\",\"dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68\",\"dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb\"]}},\"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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":"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":"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":"nonpayable","type":"function","name":"_Vault_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":"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":[{"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":"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"}},"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."},"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."},"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."},"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":"0xe5c0c6312561f10b2a225d81dcf400ec0e66e5b3f70f790d745aa99cf7d18e08","urls":["bzz-raw://e9d7430dff0c612aaea0f6a12a966e530171bf951185b899744826106a23fe15","dweb:/ipfs/QmVnH26Wph2BD9hed15nCzuuZHcTRUAoe8jEDPSL9xppCw"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f","urls":["bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a","dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea","urls":["bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68","dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb"],"license":"MIT"}},"version":1},"id":107} \ No newline at end of file +{"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":"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":"_Vault_init","inputs":[],"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":"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":"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":"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":"AcceptEpochDuration","inputs":[],"anonymous":false},{"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":"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":"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":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614c2e38819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614b8190816100ad823960805181818161143801526118fe015260a051818181611d2101526122660152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780631415519b1461056f5780631b66c9e11461056a5780631e9a695014610565578063248a9ca3146105605780632749f9c41461055b57806327810b6e14610556578063281f5752146105515780632d73c69c1461054c5780632f2ff15d146105475780632fa27fae1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a57806350861adc1461051557806350f220681461051057806352741a401461050b5780635346e34f1461050657806359f769a9146105015780635a36aa74146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e3578063653b04cd146104de5780636da3e06d146104d95780636e0f2455146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806376671808146104c0578063794b15b7146104bb5780637953b33b146104b65780637c04c80a146104b1578063810da75d146104ac57806383cd9cc3146104a757806383f46c2c146104a257806387df07881461049d5780638b0e9f3f1461049857806391d148541461049357806398ccba4a1461048e5780639b4bae3e146104895780639d66201b146104845780639f86fd851461047f5780639f9962dd1461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bba6ff4a14610439578063bc46f72214610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c1bc6f5114610420578063c31e8dd71461041b578063c4db46fc14610416578063c642b05014610411578063cc52aee71461040c578063ce9b793014610407578063d547741f14610402578063d626811b146103fd578063d8dfeb45146103f8578063d9d98ce4146103f3578063db388715146103ee578063dc0b1d71146103e9578063e945da7f146103e4578063ecc98f05146103df578063ecf70858146103da578063efb559d6146103d5578063f3fef3a3146103d05763f5e7ee0f146103cb575f80fd5b612ace565b612a28565b6128dd565b6128c0565b6128a2565b612885565b612873565b612839565b61280e565b6127e3565b612723565b6126d7565b6126af565b612687565b61266d565b612650565b6125e2565b6125ba565b6125a0565b6124e0565b6124c6565b61248c565b61246f565b612447565b61241d565b61235c565b6121b3565b612195565b61216d565b612127565b6120da565b611ff5565b611fbb565b611fa1565b611f7d565b611f55565b611e88565b611e4e565b611e31565b611e14565b611db6565b611d50565b611d0c565b611a44565b611899565b611880565b61181a565b6117fc565b6117bc565b61179e565b61176c565b6114b1565b61148c565b611467565b611423565b6113e9565b6113c3565b611389565b611362565b61110f565b6110b8565b611090565b611069565b610fe2565b610ee1565b610ec8565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109d8565b61098a565b61091a565b6107ac565b610784565b610767565b61072e565b610653565b610608565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca5760043561067081610642565b6024359061067c61314d565b6001600160a01b0381161561071d57335f908152600e602052604090206106a790613f38565b613f38565b821161070b576106c76106b8613e50565b6106c0613ec4565b9084613f8b565b9182156106f657826106d89261318f565b906106e161317c565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614b0c8339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107cd6107c842613e1e565b612d49565b80156107fe575f1981019081116107f9576107e9602091612f91565b65ffffffffffff60405191168152f35b612af8565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761086957604052565b61083a565b604081019081106001600160401b0382111761086957604052565b90601f801991011681019081106001600160401b0382111761086957604052565b604051906108b78261086e565b565b6001600160401b03811161086957601f01601f191660200190565b81601f820112156105ca578035906108eb826108b9565b926108f96040519485610889565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca5760043561093781610642565b61093f610810565b90604435906001600160401b0382116105ca576020926109666109829336906004016108d4565b6001600160a01b039092165f908152600e8552604090206134c9565b604051908152f35b346105ca5760403660031901126105ca576109d66024356004356109ad82610642565b805f525f80516020614b0c8339815191526020526109d1600160405f2001546136f7565b613723565b005b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f81610642565b336001600160a01b03821603610a6b576109d6906004356137be565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae761314d565b610aef613595565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b2c83398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca5760206107e9612b48565b346105ca576040806003193601126105ca576004803591610b9783610642565b610b9f61314d565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613850565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b1a565b938415610d8d5760081c60ff1680610d78575b610d6a5750906106f291610d16610c7a613e50565b95610cc3610c86613ec4565b610cae610c948a838b613f8b565b99610ca88a610ca242613e1e565b92612bb0565b906139a4565b5050610cbd89610ca242613e1e565b90613a84565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106a2610cf042613e1e565b6001600160a01b039095165f908152600e6020526040902090565b612bb0565b91613b60565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d5461317c565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e50565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db38183610889565b810190612b88565b5f80610c4b565b503d610da9565b612b97565b610c13919350610dea90853d8711610dc257610db38183610889565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca5760206107e9612bbd565b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610ec5916004016108d4565b90565b346105ca576020610982610edb36610e87565b9061333e565b346105ca5760203660031901126105ca57600435610efe81610642565b610f0661314d565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fc457506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b2c83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca57600435610fff81610ab8565b61100761314d565b61100f6135f2565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109d661317c565b346105ca5760203660031901126105ca57602061098260043561108b81610642565b612c03565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca57600480359061112e82610642565b60243561113a81610642565b604435916064356001600160401b0381116105ca5761115c90369083016110e2565b61116794919461314d565b61117084612c9c565b8211611351576111e49061118483866130a9565b5f549095906111a69060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610dc9578c968f8f95978c988f955f9d61131c575b50916112188961123395935f98979516809a613c1e565b516323e30c8b60e01b8152998a988997889633908801612c52565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112ff575b50036112ef57875190815230858201908152909383918591908290819060200103915afa8015610dc95785936112a3935f92610d9c575050612b1a565b036112e15750806112c2575b826112b861317c565b5160018152602090f35b6016546112da92906001600160a01b03165b90613c1e565b5f806112af565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b6113169150853d8711610dc257610db38183610889565b5f611266565b5f969593919d50896112339593611342611218938e803d10610dc257610db38183610889565b9f939597985093955050611201565b60405163347177ad60e21b81528390fd5b346105ca5760203660031901126105ca57602061098260043561138481610642565b612c9c565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206107e96113e46107c842613e1e565b612f91565b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114cd610810565b6114d561314d565b6003546114ea906001600160a01b031661119a565b330361175a576114fc6107c842613e1e565b9061150681612d49565b9082151580611749575b8015611740575b61172e576106f2937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611549613e50565b9461156461155682612ba2565b5f52600660205260405f2090565b549082810361164857506115788187612bb0565b838118818510028118968780611601575b50505050505b836115ce575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115be61317c565b6040519081529081906020820190565b5f546115fc9085906115eb9060101c6001600160a01b031661119a565b6001546001600160a01b03166112d4565b611595565b61163d93610c4b83610ca8611627611620611556986116379888613cf5565b8096612b1a565b9461163142613e1e565b92612b1a565b92612ba2565b555f80808087611589565b915061165c825f52600660205260405f2090565b549061166c81610d0b848a612bb0565b908482188286100282189788611687575b505050505061158f565b6116fc93836116af936116bc8c6116b76116a56116ed998884613cf5565b9788958584613cf5565b948592612b1a565b612b1a565b93848410611707575b610c4b90610ca86116db95969761163142613e1e565b6116e761155687612ba2565b55612b1a565b915f52600660205260405f2090565b555f8080808061167d565b91611723610c4b9161171d866116db9798612b1a565b90612bb0565b8594509290506116c5565b604051635e18d2a560e01b8152600490fd5b50828211611517565b5061175383612b0c565b8210611510565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117886107c842613e1e565b600181018091116107f9576107e9602091612f91565b346105ca575f3660031901126105ca5760206109826107c842613e1e565b346105ca5760203660031901126105ca576004356117d981610642565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109826107c8610825565b346105ca5760403660031901126105ca5760043561183781610642565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca576106f29260246115be930190612e34565b346105ca57602061098261189336610e87565b90613414565b346105ca576020806003193601126105ca5760048035906118b982610642565b6118c161314d565b60025460a01c60ff16611a35576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a08575b50156119f85760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f936119c9575b5050309116036119ba5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109d661317c565b60405163b9f0f17160e01b8152fd5b6119e9929350803d106119f1575b6119e18183610889565b810190612f69565b905f8061195b565b503d6119d7565b506040516324e5af8d60e21b8152fd5b611a289150823d8411611a2e575b611a208183610889565b810190612f54565b5f61192e565b503d611a16565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611a5d610825565b602435611a6861314d565b611a70613649565b60038110611cfa5765ffffffffffff9182611a9660135465ffffffffffff9060601c1690565b168015159081611ce4575b50611be6575b60015460d01c838083169116818111611bd4571480611bc9575b610b4b57611b9e611b75611b707f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b10611b0b611b026107c842613e1e565b600f5490612bb0565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b426113e46107c842613e1e565b90611b69600f54611b63611b5860015460d01c90565b65ffffffffffff1690565b90612f7e565b9116612bb0565b613e1e565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611ba782601055565b6040805165ffffffffffff9290921682526020820192909252a16109d661317c565b5081600f5414611ac1565b6040516359dcfd5560e11b8152600490fd5b611bf1601154601255565b611c2b611c0060015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611c579060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611c62601454601155565b601354611c999060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611cd49060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611cdf601054600f55565b611aa7565b9050611cf2611b5842613e1e565b10155f611aa1565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611d6c6107c842613e1e565b611d74613e50565b90805f52600660205260405f205482018092116107f957600181018091116107f9575f52600660205260405f205481018091116107f957604051908152602090f35b346105ca5760403660031901126105ca57602060ff611e08602435611dda81610642565b6004355f525f80516020614b0c833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca5760203660031901126105ca57600435611e6b81610642565b60018060a01b03165f52600e602052602061098260405f20613f38565b346105ca576040806003193601126105ca57600435611ea681610642565b6024356001600160401b0381116105ca575f80611f4493611ecd60809436906004016110e2565b908188519283928337810184815203915af43d15611f4c5760203d611ef1816108b9565b90611efe87519283610889565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f80199101168101036060810184520182610889565b805190602001fd5b60206060611f07565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca5760043561201281610642565b60243561201e81610ab8565b61202661314d565b61202e6136a0565b6001600160a01b0382169182156120c8575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120bd916120ab908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109d661317c565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca57602061211e6024356120fc81610642565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e0860243561214b81610642565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca5760206107e9600435612f91565b346105ca576020806003193601126105ca5760048035906121d382610642565b6121db61314d565b60035460a01c60ff1661234d576001600160a01b0382811693908461223b575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109d661317c565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91612330575b501561231f5760405163fbfa77cf60e01b815282818581895afa928315610dc9575f93612300575b5050309116036122f15750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806121fb565b604051633f3e089160e21b8152fd5b612317929350803d106119f1576119e18183610889565b905f806122be565b60405163dabc4ad960e01b81528390fd5b6123479150833d8511611a2e57611a208183610889565b5f612296565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561237981610642565b6024359061238561314d565b6001600160a01b039181831690811561240b576123b66106f2946123a883613d82565b9485915f5460101c16613c1e565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b2c833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020600f54604051908152f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020610982613e50565b346105ca5760203660031901126105ca576004356124fc61314d565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fc457508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b2c83398151915255005b346105ca575f3660031901126105ca576020610982613ec4565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca5760203660031901126105ca576004356125ff81610642565b61260b6107c842613e1e565b61261482612c03565b9161261f81836130ef565b83018093116107f957600182018092116107f95761263c916130ef565b81018091116107f957602090604051908152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca576020610982613069565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca5760403660031901126105ca576109d66024356004356126fa82610642565b805f525f80516020614b0c83398151915260205261271e600160405f2001546136f7565b6137be565b346105ca5760203660031901126105ca5760043561273f61314d565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fc457508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b2c83398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca57602061098260043561283081610642565b602435906130a9565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128fa81610642565b612902610810565b6001600160401b0391906044358381116105ca576129249036906004016110e2565b909260409384516129348161084e565b60608152606060208201526060868201529280612993575b6106f286612984878761297e6129658984845191612b27565b9285612975602085015183613414565b9301519061333e565b91613f8b565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129c48761084e565b84358181116105ca57826129d99187016108d4565b875260208501358181116105ca57826129f39187016108d4565b6020880152858501359081116105ca576106f296612a1c61297e936129659361298498016108d4565b8782015293945061294c565b346105ca5760403660031901126105ca57600435612a4581610642565b602435612a5061314d565b6001600160a01b0382161561071d578015612abc57612a7f612a70613ec4565b612a78613e50565b90836143ce565b335f908152600e60205260409020909290612a9990613f38565b8311612aaa576106d891839161318f565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca576020610982602435612af081610642565b6004356130ef565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116107f957565b919082039182116107f957565b6001600160a01b03165f908152600e60205260409020610ec59291906134c9565b65ffffffffffff8060135460601c169081158015612b75575b612b69575090565b905060015460a01c1690565b508181612b8142613e1e565b1610612b61565b908160209103126105ca575190565b6040513d5f823e3d90fd5b90600182018092116107f957565b919082018092116107f957565b60135465ffffffffffff90818160601c168015908115612bef575b50612be45760901c1690565b505060015460d01c90565b905082612bfb42613e1e565b16105f612bd8565b6001600160a01b03165f908152600e60205260409020612c2290613f38565b612c2a613e50565b612c32613ec4565b90600181018091116107f957600182018092116107f957610ec592613cf5565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cfc576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612ce3575090565b610ec5915060203d602011610dc257610db38183610889565b505f90565b65ffffffffffff91821690821603919082116107f957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d4457160490565b612d19565b60015465ffffffffffff808316929160a081901c821680851015612dc15750506013549281841690818015918215612db7575b5050612da557610ec59361171d92612d9a611b589360125496612d01565b9160301c1690612d2d565b60405163b7d0949760e01b8152600490fd5b109050815f612d7c565b909160135490808260601c1695868015918215612e2a575b505015612e05575050610ec5935061171d91612dfb611b589260115495612d01565b9060d01c90612d2d565b61171d9350611b589250612e1f610ec59660145496612d01565b9160901c1690612d2d565b109050865f612dd9565b90612e3d61314d565b5f926001600160a01b03831692831561240b578115612ee7575f5b828110612ec557505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea8918491612ea39060101c6001600160a01b031661119a565b613c1e565b612eb9604051928392339684612f22565b0390a3906108b761317c565b94612ee060019161171d612eda898789612f0d565b35613d82565b9501612e58565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f1d5760051b0190565b612ef9565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610ec581610ab8565b908160209103126105ca5751610ec581610642565b818102929181159184041417156107f957565b6012548082106130575760115480831015612fd25750611b7090610ec592611b69612fc66013549365ffffffffffff93612b1a565b828460301c1690612f7e565b90506014548015801561304e575b156130185750610ec59165ffffffffffff61300e613004611b709460015494612b1a565b8360d01c90612f7e565b9160a01c16612bb0565b611b709150610ec5926130446130386013549365ffffffffffff93612b1a565b828460901c1690612f7e565b9160601c16612bb0565b50808310612fe0565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613094575b505061308e5760105490565b600f5490565b9091506130a042613e1e565b16105f80613082565b5f546001600160a01b039160109190911c8216908216036130dd57601654166130d157505f90565b601554610ec591613c77565b60405163350b944160e11b8152600490fd5b9061311590825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107f957600182018092116107f957610ec592613cf5565b5f80516020614b2c833981519152600281541461316a5760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b2c83398151915255565b335f908152600e60205260409020939291906131aa42613e1e565b335f908152600e602052604090206131c190613f38565b918483039283116107f9576131fc7febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361328b99613b60565b505061321661320a42613e1e565b610cbd876116b7613ec4565b505061323061322442613e1e565b610ca8846116b7613e50565b50506132d9816132c461324d6132486107c842613e1e565b612ba2565b6132a3613262825f52600660205260405f2090565b54613275835f52600760205260405f2090565b5461328182828b613f8b565b9d8e998a93612bb0565b61329d855f52600660205260405f2090565b55612bb0565b6132b5825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132e4838254612bb0565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff809316019182116107f957565b9080511561340a57806020806133599351830101910161330d565b613362816141fc565b90613373825165ffffffffffff1690565b9065ffffffffffff80851692168281146133fe57821191826133a9575b50506133a05750610ec590613fac565b60209150015190565b9091506133b7600a54612b0c565b63ffffffff8316149182156133d0575b50505f80613390565b6133f69192506133ea6133e5611b5892613329565b6141fc565b5165ffffffffffff1690565b115f806133c7565b50505060209150015190565b50610ec590613fac565b908051156134bf578060208061342f9351830101910161330d565b61343881614286565b90613449825165ffffffffffff1690565b9065ffffffffffff80851692168281146133fe5782119182613476575b50506133a05750610ec590614073565b909150613484600c54612b0c565b63ffffffff83161491821561349d575b50505f80613466565b6134b79192506133ea6134b2611b5892613329565b614286565b115f80613494565b50610ec590614073565b9180511561358b57806020806134e49351830101910161330d565b916134ef8382614306565b92613500845165ffffffffffff1690565b9065ffffffffffff808516921682811461357f5782119182613536575b505061352d57610ec59250614133565b50506020015190565b9091506135438354612b0c565b63ffffffff83161491821561355c575b50505f8061351d565b6135779192506133ea613571611b5892613329565b85614306565b115f80613553565b50505050506020015190565b50610ec591614133565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fc45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135e8565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135e8565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135e8565b5f8181525f80516020614b0c83398151915260209081526040808320338452909152902060ff906135e8565b5f8181525f80516020614b0c833981519152602081815260408084206001600160a01b03871685529091529091205460ff166137b7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614b0c833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156137b7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610869576108b792604052614374565b600b54811015612f1d57600b5f525f80516020614aec83398151915201905f90565b600d54811015612f1d57600d5f525f80516020614acc83398151915201905f90565b8054821015612f1d575f5260205f2001905f90565b600d54600160401b811015610869576001810180600d55811015612f1d57600d5f525f80516020614acc8339815191520155565b600b54600160401b811015610869576001810180600b55811015612f1d57600b5f525f80516020614aec8339815191520155565b90815491600160401b831015610869578261398c9160016108b7950181556138ec565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a4f575b506139bc614407565b509290918154926139cb613e50565b9481613a3a575b5015613a1757505f1982018281116107f95781541115612f1d575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a2b926001600160d01b03169150614603565b5050613a3683613901565b9190565b65ffffffffffff83811691161490505f6139d2565b600160401b8110156108695760018101808455811015612f1d575f908382525f80516020614acc83398151915201555f6139b3565b919091600b9081548015613b2b575b50613a9c61445c565b50929091815492613aab613ec4565b9481613b16575b5015613af757505f1982018281116107f95781541115612f1d575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613b0b926001600160d01b031691506146d3565b5050613a3683613935565b65ffffffffffff83811691161490505f613ab2565b600160401b8110156108695760018101808455811015612f1d575f908382525f80516020614aec83398151915201555f613a93565b90929192600182019081548015613bee575b5084613b7d846144b1565b50949092845493613b8d83613f38565b9681613bd9575b5015613bb6575050505f1981019081116107f95761398c8591613a36936138ec565b613a36949293613bd2926001600160d01b039091169190614772565b5050613969565b65ffffffffffff83811691161490505f613b94565b600160401b81101561086957806001613c0a92018455836138ec565b8154905f199060031b1b191690555f613b72565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610869576108b792604052614374565b8115612d44570490565b90808202905f1981840990828083109203918083039214613ce857633b9aca009082821115613cd6577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d755784831115613d685790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144ea565b505090610ec59250613c6d565b90613d8f6107c842613e1e565b8210156130575760ff613dbf613dad845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613e0c57613dcf33836130ef565b918215613dfa57613ded906132c433915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e8b57505f5b6001600160d01b03811615612cfc57600d54811015612f1d57600d5f525f80516020614acc833981519152015490565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e5b565b600a5480613eff57505f5b6001600160d01b03811615612cfc57600b54811015612f1d57600b5f525f80516020614aec833981519152015490565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613ecf565b805480613f6d57505f5b6001600160d01b03811615613f67576001613f5d92016138ec565b90549060031b1c90565b50505f90565b5f199080828101116107f957825f5260205f2001015460301c613f42565b9190600181018091116107f957600182018092116107f957610ec592613cf5565b600a54905f82916005841161401a575b613fc69350614957565b80613fe957505f5b6001600160d01b03811615612cfc57613f5d610ec5916138a8565b61400e613ff861401592612b0c565b600a5f525f80516020614aac8339815191520190565b5460301c90565b613fce565b91926140258161482c565b81039081116107f957613fc693600a5f5265ffffffffffff80835f80516020614aac833981519152015416908516105f14614061575091613fbc565b92915061406d90612ba2565b90613fbc565b600c54905f8291600584116140da575b61408d93506149c0565b806140b057505f5b6001600160d01b03811615612cfc57613f5d610ec5916138ca565b61400e6140bf6140d592612b0c565b600c5f525f80516020614a8c8339815191520190565b614095565b91926140e58161482c565b81039081116107f95761408d93600c5f5265ffffffffffff80835f80516020614a8c833981519152015416908516105f14614121575091614083565b92915061412d90612ba2565b90614083565b908154905f829160058411614196575b61414e935084614a29565b8061417657505f905b6001600160d01b03821615613f6757610ec5916001613f5d92016138ec565b61400e61418561419092612b0c565b835f5260205f200190565b90614157565b91926141a18161482c565b81039081116107f95761414e93855f5265ffffffffffff808360205f20015416908516105f146141d2575091614143565b9291506141de90612ba2565b90614143565b604051906141f18261086e565b5f6020838281520152565b6142046141e4565b5061420d6141e4565b50600a54811015612f1d57600a5f5260206040519161422b8361086e565b5f80516020614aac83398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1d57600b5f525f80516020614aec83398151915201546040519161427c8361086e565b8252602082015290565b61428e6141e4565b506142976141e4565b50600c54811015612f1d57600c5f526020604051916142b58361086e565b5f80516020614a8c83398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1d57600d5f525f80516020614acc83398151915201546040519161427c8361086e565b906020600161432a6143569361431a6141e4565b506143236141e4565b50856138ec565b5093604051946143398661086e565b549465ffffffffffff86169586825260301c9384910152016138ec565b905490604051926143668461086e565b835260031b1c602082015290565b905f602091828151910182855af115612b97575f513d6143c557506001600160a01b0381163b155b6143a35750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561439c565b9190600181018091116107f957600182018092116107f9576143f1828285613cf5565b928215612d445709151581018091116107f95790565b600c548061441857505f905f905f90565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061446d57505f905f905f90565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144c25750505f905f905f90565b5f199181838101116107f9575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610869576001820180600c55821015612f1d57600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a8c83398151915290910155565b600a5490600160401b821015610869576001820180600a55821015612f1d57600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614aac83398151915290910155565b8054600160401b811015610869576145c5916001820181556138ec565b6145f057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156146aa576140bf61461b91612b0c565b9081549165ffffffffffff90818416918316808311614698578692036146605761465992509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506146939061467f6146716108aa565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144fa565b614659565b604051632520601d60e01b8152600490fd5b506146ce906146ba6146716108aa565b6001600160d01b03841660208201526144fa565b5f9190565b600a54919291801561474e57613ff86146eb91612b0c565b9081549165ffffffffffff90818416918316808311614698578692036147295761465992509065ffffffffffff82549181199060301b169116179055565b50506146939061473a6146716108aa565b6001600160d01b0385166020820152614551565b506146ce9061475e6146716108aa565b6001600160d01b0384166020820152614551565b805492939280156148075761478961479491612b0c565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614698578793036147d3575061465992509065ffffffffffff82549181199060301b169116179055565b915050614693916147f36147e56108aa565b65ffffffffffff9093168352565b6001600160d01b03861660208301526145a8565b50906146ce916148186147e56108aa565b6001600160d01b03851660208301526145a8565b6001811115610ec557600181600160801b811015614945575b6148ed6148e36148d96148cf6148c56148bb6148f997600488600160401b6148f49a1015614938575b64010000000081101561492b575b6201000081101561491e575b610100811015614912575b6010811015614906575b10156148fe575b60030260011c6148b4818b613c6d565b0160011c90565b6148b4818a613c6d565b6148b48189613c6d565b6148b48188613c6d565b6148b48187613c6d565b6148b48186613c6d565b8093613c6d565b821190565b900390565b60011b6148a4565b811c9160021b9161489d565b60081c91811b91614893565b60101c9160081b91614888565b60201c9160101b9161487c565b60401c9160201b9161486e565b50600160401b9050608082901c614845565b905b82811061496557505090565b9091808216906001818418811c83018093116107f957600a5f5265ffffffffffff80845f80516020614aac833981519152015416908616105f146149ad575050915b90614959565b9093925081018091116107f957906149a7565b905b8281106149ce57505090565b9091808216906001818418811c83018093116107f957600c5f5265ffffffffffff80845f80516020614a8c833981519152015416908616105f14614a16575050915b906149c2565b9093925081018091116107f95790614a10565b91905b838210614a395750505090565b909192808316906001818518811c83018093116107f957855f5265ffffffffffff808460205f20015416908516105f14614a78575050925b9190614a2c565b9094935081018091116107f95791614a7156fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a26469706673582212209a08630ecac45f83fdb7d85909764f45aa928f3197a3b8c81dbd5fc71b9410b664736f6c63430008190033","sourceMap":"1252:20722:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:20722;;;;;;;;1785:36;1252:20722;;;;;;;;;;1831:32;1252:20722;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;-1:-1:-1;1252:20722:107;;;;;-1:-1:-1;1252:20722:107;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780631415519b1461056f5780631b66c9e11461056a5780631e9a695014610565578063248a9ca3146105605780632749f9c41461055b57806327810b6e14610556578063281f5752146105515780632d73c69c1461054c5780632f2ff15d146105475780632fa27fae1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a57806350861adc1461051557806350f220681461051057806352741a401461050b5780635346e34f1461050657806359f769a9146105015780635a36aa74146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e3578063653b04cd146104de5780636da3e06d146104d95780636e0f2455146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806376671808146104c0578063794b15b7146104bb5780637953b33b146104b65780637c04c80a146104b1578063810da75d146104ac57806383cd9cc3146104a757806383f46c2c146104a257806387df07881461049d5780638b0e9f3f1461049857806391d148541461049357806398ccba4a1461048e5780639b4bae3e146104895780639d66201b146104845780639f86fd851461047f5780639f9962dd1461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bba6ff4a14610439578063bc46f72214610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c1bc6f5114610420578063c31e8dd71461041b578063c4db46fc14610416578063c642b05014610411578063cc52aee71461040c578063ce9b793014610407578063d547741f14610402578063d626811b146103fd578063d8dfeb45146103f8578063d9d98ce4146103f3578063db388715146103ee578063dc0b1d71146103e9578063e945da7f146103e4578063ecc98f05146103df578063ecf70858146103da578063efb559d6146103d5578063f3fef3a3146103d05763f5e7ee0f146103cb575f80fd5b612ace565b612a28565b6128dd565b6128c0565b6128a2565b612885565b612873565b612839565b61280e565b6127e3565b612723565b6126d7565b6126af565b612687565b61266d565b612650565b6125e2565b6125ba565b6125a0565b6124e0565b6124c6565b61248c565b61246f565b612447565b61241d565b61235c565b6121b3565b612195565b61216d565b612127565b6120da565b611ff5565b611fbb565b611fa1565b611f7d565b611f55565b611e88565b611e4e565b611e31565b611e14565b611db6565b611d50565b611d0c565b611a44565b611899565b611880565b61181a565b6117fc565b6117bc565b61179e565b61176c565b6114b1565b61148c565b611467565b611423565b6113e9565b6113c3565b611389565b611362565b61110f565b6110b8565b611090565b611069565b610fe2565b610ee1565b610ec8565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109d8565b61098a565b61091a565b6107ac565b610784565b610767565b61072e565b610653565b610608565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca5760043561067081610642565b6024359061067c61314d565b6001600160a01b0381161561071d57335f908152600e602052604090206106a790613f38565b613f38565b821161070b576106c76106b8613e50565b6106c0613ec4565b9084613f8b565b9182156106f657826106d89261318f565b906106e161317c565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614b0c8339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107cd6107c842613e1e565b612d49565b80156107fe575f1981019081116107f9576107e9602091612f91565b65ffffffffffff60405191168152f35b612af8565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761086957604052565b61083a565b604081019081106001600160401b0382111761086957604052565b90601f801991011681019081106001600160401b0382111761086957604052565b604051906108b78261086e565b565b6001600160401b03811161086957601f01601f191660200190565b81601f820112156105ca578035906108eb826108b9565b926108f96040519485610889565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca5760043561093781610642565b61093f610810565b90604435906001600160401b0382116105ca576020926109666109829336906004016108d4565b6001600160a01b039092165f908152600e8552604090206134c9565b604051908152f35b346105ca5760403660031901126105ca576109d66024356004356109ad82610642565b805f525f80516020614b0c8339815191526020526109d1600160405f2001546136f7565b613723565b005b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f81610642565b336001600160a01b03821603610a6b576109d6906004356137be565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae761314d565b610aef613595565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b2c83398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca5760206107e9612b48565b346105ca576040806003193601126105ca576004803591610b9783610642565b610b9f61314d565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613850565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b1a565b938415610d8d5760081c60ff1680610d78575b610d6a5750906106f291610d16610c7a613e50565b95610cc3610c86613ec4565b610cae610c948a838b613f8b565b99610ca88a610ca242613e1e565b92612bb0565b906139a4565b5050610cbd89610ca242613e1e565b90613a84565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106a2610cf042613e1e565b6001600160a01b039095165f908152600e6020526040902090565b612bb0565b91613b60565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d5461317c565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e50565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db38183610889565b810190612b88565b5f80610c4b565b503d610da9565b612b97565b610c13919350610dea90853d8711610dc257610db38183610889565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca5760206107e9612bbd565b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610ec5916004016108d4565b90565b346105ca576020610982610edb36610e87565b9061333e565b346105ca5760203660031901126105ca57600435610efe81610642565b610f0661314d565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fc457506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b2c83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca57600435610fff81610ab8565b61100761314d565b61100f6135f2565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109d661317c565b346105ca5760203660031901126105ca57602061098260043561108b81610642565b612c03565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca57600480359061112e82610642565b60243561113a81610642565b604435916064356001600160401b0381116105ca5761115c90369083016110e2565b61116794919461314d565b61117084612c9c565b8211611351576111e49061118483866130a9565b5f549095906111a69060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610dc9578c968f8f95978c988f955f9d61131c575b50916112188961123395935f98979516809a613c1e565b516323e30c8b60e01b8152998a988997889633908801612c52565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112ff575b50036112ef57875190815230858201908152909383918591908290819060200103915afa8015610dc95785936112a3935f92610d9c575050612b1a565b036112e15750806112c2575b826112b861317c565b5160018152602090f35b6016546112da92906001600160a01b03165b90613c1e565b5f806112af565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b6113169150853d8711610dc257610db38183610889565b5f611266565b5f969593919d50896112339593611342611218938e803d10610dc257610db38183610889565b9f939597985093955050611201565b60405163347177ad60e21b81528390fd5b346105ca5760203660031901126105ca57602061098260043561138481610642565b612c9c565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206107e96113e46107c842613e1e565b612f91565b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114cd610810565b6114d561314d565b6003546114ea906001600160a01b031661119a565b330361175a576114fc6107c842613e1e565b9061150681612d49565b9082151580611749575b8015611740575b61172e576106f2937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611549613e50565b9461156461155682612ba2565b5f52600660205260405f2090565b549082810361164857506115788187612bb0565b838118818510028118968780611601575b50505050505b836115ce575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115be61317c565b6040519081529081906020820190565b5f546115fc9085906115eb9060101c6001600160a01b031661119a565b6001546001600160a01b03166112d4565b611595565b61163d93610c4b83610ca8611627611620611556986116379888613cf5565b8096612b1a565b9461163142613e1e565b92612b1a565b92612ba2565b555f80808087611589565b915061165c825f52600660205260405f2090565b549061166c81610d0b848a612bb0565b908482188286100282189788611687575b505050505061158f565b6116fc93836116af936116bc8c6116b76116a56116ed998884613cf5565b9788958584613cf5565b948592612b1a565b612b1a565b93848410611707575b610c4b90610ca86116db95969761163142613e1e565b6116e761155687612ba2565b55612b1a565b915f52600660205260405f2090565b555f8080808061167d565b91611723610c4b9161171d866116db9798612b1a565b90612bb0565b8594509290506116c5565b604051635e18d2a560e01b8152600490fd5b50828211611517565b5061175383612b0c565b8210611510565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117886107c842613e1e565b600181018091116107f9576107e9602091612f91565b346105ca575f3660031901126105ca5760206109826107c842613e1e565b346105ca5760203660031901126105ca576004356117d981610642565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109826107c8610825565b346105ca5760403660031901126105ca5760043561183781610642565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca576106f29260246115be930190612e34565b346105ca57602061098261189336610e87565b90613414565b346105ca576020806003193601126105ca5760048035906118b982610642565b6118c161314d565b60025460a01c60ff16611a35576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a08575b50156119f85760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f936119c9575b5050309116036119ba5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109d661317c565b60405163b9f0f17160e01b8152fd5b6119e9929350803d106119f1575b6119e18183610889565b810190612f69565b905f8061195b565b503d6119d7565b506040516324e5af8d60e21b8152fd5b611a289150823d8411611a2e575b611a208183610889565b810190612f54565b5f61192e565b503d611a16565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611a5d610825565b602435611a6861314d565b611a70613649565b60038110611cfa5765ffffffffffff9182611a9660135465ffffffffffff9060601c1690565b168015159081611ce4575b50611be6575b60015460d01c838083169116818111611bd4571480611bc9575b610b4b57611b9e611b75611b707f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b10611b0b611b026107c842613e1e565b600f5490612bb0565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b426113e46107c842613e1e565b90611b69600f54611b63611b5860015460d01c90565b65ffffffffffff1690565b90612f7e565b9116612bb0565b613e1e565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611ba782601055565b6040805165ffffffffffff9290921682526020820192909252a16109d661317c565b5081600f5414611ac1565b6040516359dcfd5560e11b8152600490fd5b611bf1601154601255565b611c2b611c0060015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611c579060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611c62601454601155565b601354611c999060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611cd49060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611cdf601054600f55565b611aa7565b9050611cf2611b5842613e1e565b10155f611aa1565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611d6c6107c842613e1e565b611d74613e50565b90805f52600660205260405f205482018092116107f957600181018091116107f9575f52600660205260405f205481018091116107f957604051908152602090f35b346105ca5760403660031901126105ca57602060ff611e08602435611dda81610642565b6004355f525f80516020614b0c833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca5760203660031901126105ca57600435611e6b81610642565b60018060a01b03165f52600e602052602061098260405f20613f38565b346105ca576040806003193601126105ca57600435611ea681610642565b6024356001600160401b0381116105ca575f80611f4493611ecd60809436906004016110e2565b908188519283928337810184815203915af43d15611f4c5760203d611ef1816108b9565b90611efe87519283610889565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f80199101168101036060810184520182610889565b805190602001fd5b60206060611f07565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca5760043561201281610642565b60243561201e81610ab8565b61202661314d565b61202e6136a0565b6001600160a01b0382169182156120c8575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120bd916120ab908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109d661317c565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca57602061211e6024356120fc81610642565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e0860243561214b81610642565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca5760206107e9600435612f91565b346105ca576020806003193601126105ca5760048035906121d382610642565b6121db61314d565b60035460a01c60ff1661234d576001600160a01b0382811693908461223b575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109d661317c565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91612330575b501561231f5760405163fbfa77cf60e01b815282818581895afa928315610dc9575f93612300575b5050309116036122f15750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806121fb565b604051633f3e089160e21b8152fd5b612317929350803d106119f1576119e18183610889565b905f806122be565b60405163dabc4ad960e01b81528390fd5b6123479150833d8511611a2e57611a208183610889565b5f612296565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561237981610642565b6024359061238561314d565b6001600160a01b039181831690811561240b576123b66106f2946123a883613d82565b9485915f5460101c16613c1e565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b2c833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020600f54604051908152f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020610982613e50565b346105ca5760203660031901126105ca576004356124fc61314d565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fc457508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b2c83398151915255005b346105ca575f3660031901126105ca576020610982613ec4565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca5760203660031901126105ca576004356125ff81610642565b61260b6107c842613e1e565b61261482612c03565b9161261f81836130ef565b83018093116107f957600182018092116107f95761263c916130ef565b81018091116107f957602090604051908152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca576020610982613069565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca5760403660031901126105ca576109d66024356004356126fa82610642565b805f525f80516020614b0c83398151915260205261271e600160405f2001546136f7565b6137be565b346105ca5760203660031901126105ca5760043561273f61314d565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fc457508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b2c83398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca57602061098260043561283081610642565b602435906130a9565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128fa81610642565b612902610810565b6001600160401b0391906044358381116105ca576129249036906004016110e2565b909260409384516129348161084e565b60608152606060208201526060868201529280612993575b6106f286612984878761297e6129658984845191612b27565b9285612975602085015183613414565b9301519061333e565b91613f8b565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129c48761084e565b84358181116105ca57826129d99187016108d4565b875260208501358181116105ca57826129f39187016108d4565b6020880152858501359081116105ca576106f296612a1c61297e936129659361298498016108d4565b8782015293945061294c565b346105ca5760403660031901126105ca57600435612a4581610642565b602435612a5061314d565b6001600160a01b0382161561071d578015612abc57612a7f612a70613ec4565b612a78613e50565b90836143ce565b335f908152600e60205260409020909290612a9990613f38565b8311612aaa576106d891839161318f565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca576020610982602435612af081610642565b6004356130ef565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116107f957565b919082039182116107f957565b6001600160a01b03165f908152600e60205260409020610ec59291906134c9565b65ffffffffffff8060135460601c169081158015612b75575b612b69575090565b905060015460a01c1690565b508181612b8142613e1e565b1610612b61565b908160209103126105ca575190565b6040513d5f823e3d90fd5b90600182018092116107f957565b919082018092116107f957565b60135465ffffffffffff90818160601c168015908115612bef575b50612be45760901c1690565b505060015460d01c90565b905082612bfb42613e1e565b16105f612bd8565b6001600160a01b03165f908152600e60205260409020612c2290613f38565b612c2a613e50565b612c32613ec4565b90600181018091116107f957600182018092116107f957610ec592613cf5565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cfc576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612ce3575090565b610ec5915060203d602011610dc257610db38183610889565b505f90565b65ffffffffffff91821690821603919082116107f957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d4457160490565b612d19565b60015465ffffffffffff808316929160a081901c821680851015612dc15750506013549281841690818015918215612db7575b5050612da557610ec59361171d92612d9a611b589360125496612d01565b9160301c1690612d2d565b60405163b7d0949760e01b8152600490fd5b109050815f612d7c565b909160135490808260601c1695868015918215612e2a575b505015612e05575050610ec5935061171d91612dfb611b589260115495612d01565b9060d01c90612d2d565b61171d9350611b589250612e1f610ec59660145496612d01565b9160901c1690612d2d565b109050865f612dd9565b90612e3d61314d565b5f926001600160a01b03831692831561240b578115612ee7575f5b828110612ec557505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea8918491612ea39060101c6001600160a01b031661119a565b613c1e565b612eb9604051928392339684612f22565b0390a3906108b761317c565b94612ee060019161171d612eda898789612f0d565b35613d82565b9501612e58565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f1d5760051b0190565b612ef9565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610ec581610ab8565b908160209103126105ca5751610ec581610642565b818102929181159184041417156107f957565b6012548082106130575760115480831015612fd25750611b7090610ec592611b69612fc66013549365ffffffffffff93612b1a565b828460301c1690612f7e565b90506014548015801561304e575b156130185750610ec59165ffffffffffff61300e613004611b709460015494612b1a565b8360d01c90612f7e565b9160a01c16612bb0565b611b709150610ec5926130446130386013549365ffffffffffff93612b1a565b828460901c1690612f7e565b9160601c16612bb0565b50808310612fe0565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613094575b505061308e5760105490565b600f5490565b9091506130a042613e1e565b16105f80613082565b5f546001600160a01b039160109190911c8216908216036130dd57601654166130d157505f90565b601554610ec591613c77565b60405163350b944160e11b8152600490fd5b9061311590825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107f957600182018092116107f957610ec592613cf5565b5f80516020614b2c833981519152600281541461316a5760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b2c83398151915255565b335f908152600e60205260409020939291906131aa42613e1e565b335f908152600e602052604090206131c190613f38565b918483039283116107f9576131fc7febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361328b99613b60565b505061321661320a42613e1e565b610cbd876116b7613ec4565b505061323061322442613e1e565b610ca8846116b7613e50565b50506132d9816132c461324d6132486107c842613e1e565b612ba2565b6132a3613262825f52600660205260405f2090565b54613275835f52600760205260405f2090565b5461328182828b613f8b565b9d8e998a93612bb0565b61329d855f52600660205260405f2090565b55612bb0565b6132b5825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132e4838254612bb0565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff809316019182116107f957565b9080511561340a57806020806133599351830101910161330d565b613362816141fc565b90613373825165ffffffffffff1690565b9065ffffffffffff80851692168281146133fe57821191826133a9575b50506133a05750610ec590613fac565b60209150015190565b9091506133b7600a54612b0c565b63ffffffff8316149182156133d0575b50505f80613390565b6133f69192506133ea6133e5611b5892613329565b6141fc565b5165ffffffffffff1690565b115f806133c7565b50505060209150015190565b50610ec590613fac565b908051156134bf578060208061342f9351830101910161330d565b61343881614286565b90613449825165ffffffffffff1690565b9065ffffffffffff80851692168281146133fe5782119182613476575b50506133a05750610ec590614073565b909150613484600c54612b0c565b63ffffffff83161491821561349d575b50505f80613466565b6134b79192506133ea6134b2611b5892613329565b614286565b115f80613494565b50610ec590614073565b9180511561358b57806020806134e49351830101910161330d565b916134ef8382614306565b92613500845165ffffffffffff1690565b9065ffffffffffff808516921682811461357f5782119182613536575b505061352d57610ec59250614133565b50506020015190565b9091506135438354612b0c565b63ffffffff83161491821561355c575b50505f8061351d565b6135779192506133ea613571611b5892613329565b85614306565b115f80613553565b50505050506020015190565b50610ec591614133565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fc45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135e8565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135e8565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135e8565b5f8181525f80516020614b0c83398151915260209081526040808320338452909152902060ff906135e8565b5f8181525f80516020614b0c833981519152602081815260408084206001600160a01b03871685529091529091205460ff166137b7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614b0c833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156137b7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610869576108b792604052614374565b600b54811015612f1d57600b5f525f80516020614aec83398151915201905f90565b600d54811015612f1d57600d5f525f80516020614acc83398151915201905f90565b8054821015612f1d575f5260205f2001905f90565b600d54600160401b811015610869576001810180600d55811015612f1d57600d5f525f80516020614acc8339815191520155565b600b54600160401b811015610869576001810180600b55811015612f1d57600b5f525f80516020614aec8339815191520155565b90815491600160401b831015610869578261398c9160016108b7950181556138ec565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a4f575b506139bc614407565b509290918154926139cb613e50565b9481613a3a575b5015613a1757505f1982018281116107f95781541115612f1d575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a2b926001600160d01b03169150614603565b5050613a3683613901565b9190565b65ffffffffffff83811691161490505f6139d2565b600160401b8110156108695760018101808455811015612f1d575f908382525f80516020614acc83398151915201555f6139b3565b919091600b9081548015613b2b575b50613a9c61445c565b50929091815492613aab613ec4565b9481613b16575b5015613af757505f1982018281116107f95781541115612f1d575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613b0b926001600160d01b031691506146d3565b5050613a3683613935565b65ffffffffffff83811691161490505f613ab2565b600160401b8110156108695760018101808455811015612f1d575f908382525f80516020614aec83398151915201555f613a93565b90929192600182019081548015613bee575b5084613b7d846144b1565b50949092845493613b8d83613f38565b9681613bd9575b5015613bb6575050505f1981019081116107f95761398c8591613a36936138ec565b613a36949293613bd2926001600160d01b039091169190614772565b5050613969565b65ffffffffffff83811691161490505f613b94565b600160401b81101561086957806001613c0a92018455836138ec565b8154905f199060031b1b191690555f613b72565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610869576108b792604052614374565b8115612d44570490565b90808202905f1981840990828083109203918083039214613ce857633b9aca009082821115613cd6577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d755784831115613d685790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144ea565b505090610ec59250613c6d565b90613d8f6107c842613e1e565b8210156130575760ff613dbf613dad845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613e0c57613dcf33836130ef565b918215613dfa57613ded906132c433915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e8b57505f5b6001600160d01b03811615612cfc57600d54811015612f1d57600d5f525f80516020614acc833981519152015490565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e5b565b600a5480613eff57505f5b6001600160d01b03811615612cfc57600b54811015612f1d57600b5f525f80516020614aec833981519152015490565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613ecf565b805480613f6d57505f5b6001600160d01b03811615613f67576001613f5d92016138ec565b90549060031b1c90565b50505f90565b5f199080828101116107f957825f5260205f2001015460301c613f42565b9190600181018091116107f957600182018092116107f957610ec592613cf5565b600a54905f82916005841161401a575b613fc69350614957565b80613fe957505f5b6001600160d01b03811615612cfc57613f5d610ec5916138a8565b61400e613ff861401592612b0c565b600a5f525f80516020614aac8339815191520190565b5460301c90565b613fce565b91926140258161482c565b81039081116107f957613fc693600a5f5265ffffffffffff80835f80516020614aac833981519152015416908516105f14614061575091613fbc565b92915061406d90612ba2565b90613fbc565b600c54905f8291600584116140da575b61408d93506149c0565b806140b057505f5b6001600160d01b03811615612cfc57613f5d610ec5916138ca565b61400e6140bf6140d592612b0c565b600c5f525f80516020614a8c8339815191520190565b614095565b91926140e58161482c565b81039081116107f95761408d93600c5f5265ffffffffffff80835f80516020614a8c833981519152015416908516105f14614121575091614083565b92915061412d90612ba2565b90614083565b908154905f829160058411614196575b61414e935084614a29565b8061417657505f905b6001600160d01b03821615613f6757610ec5916001613f5d92016138ec565b61400e61418561419092612b0c565b835f5260205f200190565b90614157565b91926141a18161482c565b81039081116107f95761414e93855f5265ffffffffffff808360205f20015416908516105f146141d2575091614143565b9291506141de90612ba2565b90614143565b604051906141f18261086e565b5f6020838281520152565b6142046141e4565b5061420d6141e4565b50600a54811015612f1d57600a5f5260206040519161422b8361086e565b5f80516020614aac83398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1d57600b5f525f80516020614aec83398151915201546040519161427c8361086e565b8252602082015290565b61428e6141e4565b506142976141e4565b50600c54811015612f1d57600c5f526020604051916142b58361086e565b5f80516020614a8c83398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1d57600d5f525f80516020614acc83398151915201546040519161427c8361086e565b906020600161432a6143569361431a6141e4565b506143236141e4565b50856138ec565b5093604051946143398661086e565b549465ffffffffffff86169586825260301c9384910152016138ec565b905490604051926143668461086e565b835260031b1c602082015290565b905f602091828151910182855af115612b97575f513d6143c557506001600160a01b0381163b155b6143a35750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561439c565b9190600181018091116107f957600182018092116107f9576143f1828285613cf5565b928215612d445709151581018091116107f95790565b600c548061441857505f905f905f90565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061446d57505f905f905f90565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144c25750505f905f905f90565b5f199181838101116107f9575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610869576001820180600c55821015612f1d57600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a8c83398151915290910155565b600a5490600160401b821015610869576001820180600a55821015612f1d57600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614aac83398151915290910155565b8054600160401b811015610869576145c5916001820181556138ec565b6145f057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156146aa576140bf61461b91612b0c565b9081549165ffffffffffff90818416918316808311614698578692036146605761465992509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506146939061467f6146716108aa565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144fa565b614659565b604051632520601d60e01b8152600490fd5b506146ce906146ba6146716108aa565b6001600160d01b03841660208201526144fa565b5f9190565b600a54919291801561474e57613ff86146eb91612b0c565b9081549165ffffffffffff90818416918316808311614698578692036147295761465992509065ffffffffffff82549181199060301b169116179055565b50506146939061473a6146716108aa565b6001600160d01b0385166020820152614551565b506146ce9061475e6146716108aa565b6001600160d01b0384166020820152614551565b805492939280156148075761478961479491612b0c565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614698578793036147d3575061465992509065ffffffffffff82549181199060301b169116179055565b915050614693916147f36147e56108aa565b65ffffffffffff9093168352565b6001600160d01b03861660208301526145a8565b50906146ce916148186147e56108aa565b6001600160d01b03851660208301526145a8565b6001811115610ec557600181600160801b811015614945575b6148ed6148e36148d96148cf6148c56148bb6148f997600488600160401b6148f49a1015614938575b64010000000081101561492b575b6201000081101561491e575b610100811015614912575b6010811015614906575b10156148fe575b60030260011c6148b4818b613c6d565b0160011c90565b6148b4818a613c6d565b6148b48189613c6d565b6148b48188613c6d565b6148b48187613c6d565b6148b48186613c6d565b8093613c6d565b821190565b900390565b60011b6148a4565b811c9160021b9161489d565b60081c91811b91614893565b60101c9160081b91614888565b60201c9160101b9161487c565b60401c9160201b9161486e565b50600160401b9050608082901c614845565b905b82811061496557505090565b9091808216906001818418811c83018093116107f957600a5f5265ffffffffffff80845f80516020614aac833981519152015416908616105f146149ad575050915b90614959565b9093925081018091116107f957906149a7565b905b8281106149ce57505090565b9091808216906001818418811c83018093116107f957600c5f5265ffffffffffff80845f80516020614a8c833981519152015416908616105f14614a16575050915b906149c2565b9093925081018091116107f95790614a10565b91905b838210614a395750505090565b909192808316906001818518811c83018093116107f957855f5265ffffffffffff808460205f20015416908516105f14614a78575050925b9190614a2c565b9094935081018091116107f95791614a7156fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a26469706673582212209a08630ecac45f83fdb7d85909764f45aa928f3197a3b8c81dbd5fc71b9410b664736f6c63430008190033","sourceMap":"1252:20722: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;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:20722:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:20722:107;-1:-1:-1;1252:20722:107;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;757:38:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;612:37:108;1252:20722:107;;;;-1:-1:-1;;;;;1252:20722:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;10806:21;10802:75;;10915:10;1252:20722;;;;6047:15;1252:20722;;;;;6047:33;;;:::i;:24::-;:33;:::i;:::-;10891:35;;10887:88;;1057:70:95;5628:21:107;;:::i;:::-;5272:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11082:20:107;;;11078:82;;11185:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;;;;;;11078:82;1252:20722;;-1:-1:-1;;;;;;11125:24:107;;1252:20722;;11125:24;10887:88;1252:20722;;-1:-1:-1;;;10949:15:107;;1252:20722;;10949:15;10802:75;1252:20722;;-1:-1:-1;;;10850:16:107;;1252:20722;;10850:16;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;4919:24:23;1252:20722:107;-1:-1:-1;1252:20722:107;4919:24:23;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;4177:34:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;4331:25;819:34:73;837:15;819:34;:::i;:::-;4331:25:107;:::i;:::-;4680:10;;4676:65;;-1:-1:-1;;1252:20722:107;;;;;;;4757:21;1252:20722;4757:21;;:::i;:::-;1252:20722;;;;;;;;;;:::i;4676:65::-;1252:20722;;-1:-1:-1;;;4713:17:107;;1252:20722;;4713:17;1252:20722;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;;-1:-1:-1;;1252:20722:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;5831:59;1252:20722;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;5831:15;1252:20722;;;;;5831:59;:::i;:::-;1252:20722;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;5350:25:23;1252:20722:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;3202:4:23;4919:24;1252:20722:107;-1:-1:-1;1252:20722:107;4919:24:23;1252:20722:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:20722:107;;;;;;;-1:-1:-1;;1252:20722:107;;;;;2077:28:108;1252:20722:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1329:40:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:20722:107;;6441:34:23;6437:102;;6549:37;1252:20722:107;;;6549:37:23;:::i;6437:102::-;1252:20722:107;;-1:-1:-1;;;6498:30:23;;1252:20722:107;;6498:30:23;1252:20722:107;;;;;;-1:-1:-1;;1252:20722:107;;;;;6206:22;1252:20722;;;;6206:46;;;1252:20722;;;;;;;;;;;6206:46;-1:-1:-1;6232:20:107;1252:20722;;;;;6206:46;;1252:20722;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:20722:107;;;;;;;;;;;15791:26;15787:76;;-1:-1:-1;;1252:20722:107;;;;;-1:-1:-1;1252:20722:107;;;;;;15914:27;;1252:20722;;15914:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;15787:76;1252:20722;;-1:-1:-1;;;15840:12:107;;1252:20722;;15840:12;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;8755:24;;8751:81;;-1:-1:-1;1252:20722:107;;;;8846:55;;;1252:20722;8842:118;;1252:20722;;-1:-1:-1;;;8994:43:107;;;9031:4;8994:43;;;1252:20722;;;;;;;;;;;;;;;;;;;;;;;;;8994:43;;;;;;;;;;-1:-1:-1;8994:43:107;;;1252:20722;;9110:6;1252:20722;;;9031:4;;9083:10;;9110:6;;:::i;:::-;-1:-1:-1;1252:20722:107;;;9145:43;;;9031:4;9145:43;;;1252:20722;;;;;;;;;;9145:43;1252:20722;;;;;;9145:43;1252:20722;;;;;9145:43;;;;;;;:59;:43;-1:-1:-1;9145:43:107;;;1252:20722;9145:59;;;:::i;:::-;9219:20;;;9215:79;;1252:20722;;;;;9308:64;;1252:20722;9304:123;;5628:21;;1252:20722;5628:21;9783:93;5628:21;;:::i;:::-;5272:22;9707:66;5272:22;;:::i;:::-;9630:67;390:70:95;;;;;:::i;:::-;837:15:73;9666:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9666:30:107;;:::i;:::-;9630:67;;:::i;:::-;837:15:73;;9744:28:107;837:15:73;819:34;837:15;819:34;:::i;9744:28:107:-;9707:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:20722:107;;;;;;6047:15;1252:20722;;;;;837:15:73;9834:41:107;837:15:73;6047:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;;;6047:15;1252:20722;;;;;;;6047:33;9834:41;:::i;:::-;9783:93;;:::i;:::-;-1:-1:-1;;1252:20722:107;;;;;;;;;;;9083:10;;9892:62;;1252:20722;;9892:62;3426:1:30;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;;;;;;;9304:123;1252:20722;;-1:-1:-1;;;9395:21:107;;;9308:64;5628:21;9326:31;5628:21;;;:::i;9326:31::-;1252:20722;;-1:-1:-1;9308:64:107;;9215:79;-1:-1:-1;1252:20722:107;;-1:-1:-1;;;9262:21:107;;;9145:43;;;;;;-1:-1:-1;9145:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;8994:::-;9110:6;8994:43;;;;;;;;;;;;;;;:::i;:::-;;;;;8842:118;-1:-1:-1;1252:20722:107;;-1:-1:-1;;;8924:25:107;;;8846:55;-1:-1:-1;8890:10:107;1252:20722;;;;8867:22;1252:20722;;;;;;;;8866:35;8846:55;;8751:81;1252:20722;;-1:-1:-1;;;8802:19:107;;;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;2241:34:108;1252:20722:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5098:48;1252:20722;;;:::i;:::-;5098:48;;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;;1329:40:108;;1252:20722:107;;4468:23:23;4464:108;;-1:-1:-1;19119:16:107;1252:20722;-1:-1:-1;;;;;1252:20722:107;;;;;;19119:37;;19115:87;;-1:-1:-1;;;;;;1252:20722:107;;;19119:16;1252:20722;;;;;;19263:38;;1252:20722;;19263:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;4464:108:23;1252:20722:107;;;;4514:47:23;;;;;;966:10:28;1252:20722:107;4514:47:23;;1252:20722:107;;;;;4514:47:23;1252:20722:107;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;16619:24;16615:74;;-1:-1:-1;;1252:20722:107;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;16738:25;;1252:20722;;16738:25;3426:1:30;;:::i;1252:20722:107:-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3909:32:108;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;-1:-1:-1;1252:20722:107;2704:59:108;1252:20722:107;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12482:19:107;;;:::i;:::-;12474:27;;12470:82;;12673:44;12575:22;;;;;:::i;:::-;-1:-1:-1;1252:20722:107;;;;12673:19;;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;-1:-1:-1;;;;;1252:20722:107;;;12673:19;1252:20722;;;-1:-1:-1;;;12673:44:107;;;12711:4;12673:44;;;1252:20722;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;;12673:44;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12673:44:107;;;1252:20722;;;12780:5;1252:20722;12801:57;1252:20722;;-1:-1:-1;1252:20722:107;;;;12780:5;;;:::i;:::-;1252:20722;-1:-1:-1;;;12801:57:107;;1252:20722;;;;;;;12822:10;;12801:57;;;:::i;:::-;;;;;;;;;1564:45:108;12801:57:107;-1:-1:-1;12801:57:107;;;1252:20722;12801:73;;12797:128;;1252:20722;;12939:44;;;12711:4;12939:44;;;1252:20722;;;;;;;;;12939:44;1252:20722;;;;;;12939:44;;;;;;;;;;:60;:44;-1:-1:-1;12939:44:107;;;:60;;;:::i;:::-;:67;12935:126;;13075:7;;13071:93;;1252:20722;3426:1:30;;;:::i;:::-;1252:20722:107;13181:4;1252:20722;;;;;13071:93;13131:16;1252:20722;13149:3;;1252:20722;-1:-1:-1;;;;;1252:20722:107;;13149:3;;:::i;:::-;13071:93;;;;12935:126;1252:20722;;-1:-1:-1;;;13029:21:107;;;12797:128;1252:20722;;-1:-1:-1;;;12897:17:107;;1252:20722;;12897:17;12801:57;;;;;;;;;;;;;;:::i;:::-;;;;12673:44;-1:-1:-1;12673:44:107;;;;;;;12801:57;12673:44;;;12780:5;12673:44;;;;-1:-1:-1;12673:44:107;;;;;;:::i;:::-;;;;;;;;;;;;;12470:82;1252:20722;;-1:-1:-1;;;12524:17:107;;1252:20722;;12524:17;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1041:36:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4486:26;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1564:45:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;1575:42;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3817:36:108;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;2409:32:108;1252:20722:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13380:7:107;1252:20722;13366:21;;-1:-1:-1;;;;;1252:20722:107;;;13366:21;:10;:21;13362:71;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;13514;;;;:::i;:::-;13554:17;;;;:53;;;1252:20722;13553:87;;;;1252:20722;13549:146;;1252:20722;5628:21;15559:48;5628:21;;;:::i;:::-;13789:17;13777:30;13789:17;;;:::i;:::-;1252:20722;;13777:11;1252:20722;;;;;;;13777:30;1252:20722;;13821:29;;;;;13891:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:20722:107;3060:42:68;;14001:17:107;;;13997:384;;13817:1615;;;;;;;15446:17;15442:102;;13817:1615;1252:20722;;;;;;;;;;;;;;;;;;;;;;;15559:48;3426:1:30;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;15442:102;-1:-1:-1;1252:20722:107;15519:13;;1252:20722;;15479:18;;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;;15479:18;13805:1;1252:20722;-1:-1:-1;;;;;1252:20722:107;;;15519:13;15442:102;;13997:384;14294:29;14062:50;14211:65;14062:50;14247:28;14163:29;14062:50;14306:16;14062:50;14326:40;14062:50;;;:::i;:::-;14163:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14247:28:107;;:::i;14326:40::-;14306:16;;:::i;14294:29::-;1252:20722;13997:384;;;;;;;13817:1615;14434:26;;;;1252:20722;;13777:11;1252:20722;;;;;;;14434:26;1252:20722;14499:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:20722:107;3060:42:68;;14624:17:107;;14620:802;;13817:1615;;;;;;;;14620:802;15345:26;14685:50;;14786:53;14685:50;14886:54;14685:50;14886:29;14685:50;15374:33;14685:50;;;;:::i;:::-;14786:53;;;;;;:::i;:::-;14886:29;;;;:::i;:::-;:54;:::i;:::-;14963:33;;;;14959:194;;14620:802;15171:65;837:15:73;15207:28:107;15287:40;837:15:73;;;819:34;837:15;819:34;:::i;15287:40:107:-;15254:30;15266:17;;;:::i;15254:30::-;1252:20722;15374:33;:::i;:::-;15345:26;1252:20722;;13777:11;1252:20722;;;;;;;15345:26;1252:20722;14620:802;;;;;;;14959:194;15046:33;15020:59;15171:65;15046:33;;;15287:40;15046:33;;;:::i;:::-;15020:59;;:::i;:::-;15101:33;;-1:-1:-1;15101:33:107;;-1:-1:-1;14959:194:107;;13549:146;1252:20722;;-1:-1:-1;;;13663:21:107;;1252:20722;;13663:21;13553:87;13612:28;;;;13553:87;;13554:53;13590:17;;;;:::i;:::-;13575:32;;13554:53;;13362:71;1252:20722;;-1:-1:-1;;;13410:12:107;;1252:20722;;13410:12;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4933:1;1252:20722;;;;;;;4905:30;1252:20722;4905:30;;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;4331:25;819:34:73;837:15;819:34;:::i;1252:20722:107:-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:20722:107;2580:68:108;1252:20722:107;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11772:14;1252:20722;;11772:14;;:::i;1252:20722::-;;;;;5456:47;1252:20722;;;:::i;:::-;5456:47;;:::i;1252:20722::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;19448:22:107;1252:20722;;;;;19444:89;;1252:20722;;-1:-1:-1;;;19548:49:107;;-1:-1:-1;;;;;1252:20722:107;;;19548:49;;;1252:20722;;;;;;;;;;;;;;;19548:49;19558:17;;;1252:20722;19548:49;;;;;;;-1:-1:-1;19548:49:107;;;1252:20722;19547:50;;19543:102;;1252:20722;;-1:-1:-1;;;19659:34:107;;1252:20722;;;;;19659:34;1252:20722;19659:34;1252:20722;;19659:34;;;;;;;-1:-1:-1;19659:34:107;;;1252:20722;19705:4;;;1252:20722;;19659:51;19655:107;;-1:-1:-1;19448:22:107;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;;;-1:-1:-1;;;;;;1252:20722:107;;;;;;;-1:-1:-1;;;1252:20722:107;;;19850:24;-1:-1:-1;;19850:24:107;3426:1:30;;:::i;19655:107:107:-;1252:20722;;-1:-1:-1;;;19733:18:107;;;19659:34;;;;;;;-1:-1:-1;19659:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;19543:102;-1:-1:-1;1252:20722:107;;-1:-1:-1;;;19620:14:107;;;19548:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;19444:89;1252:20722;;-1:-1:-1;;;19493:29:107;;;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;17341:1:107;17310:32;;17306:106;;1252:20722;;;;17426:22;1252:20722;;;;;;;;;;17426:27;;;:73;;;;1252:20722;17422:505;;;1252:20722;17941:14;1252:20722;;;;;;;;;17941:31;;;17937:94;;18045:32;:96;;;1252:20722;18041:146;;18319:105;18344:80;18345:67;18513:62;837:15:73;18197:67:107;18219:45;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;18236:28;1252:20722;18219:45;;:::i;:::-;18197:67;1252:20722;;18197:67;17426:22;1252:20722;;-1:-1:-1;;;;1252:20722:107;;;;;-1:-1:-1;;;1252:20722:107;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4486:26:107:-;1252:20722;18367:45;18236:28;1252:20722;18367:45;1252:20722;17941:14;1252:20722;;;;;;;;;;18367:45;;;:::i;:::-;1252:20722;;18345:67;:::i;:::-;18344:80;:::i;:::-;17426:22;1252:20722;;-1:-1:-1;;;;1252:20722:107;;;;;;-1:-1:-1;;;1252:20722:107;;;;;;;;18319:105;18434:63;;;1252:20722;;18434:63;1252:20722;;;;;;;;;;;;;;;;;18513:62;3426:1:30;;:::i;18045:96:107:-;1252:20722;;18081:28;1252:20722;18081:60;18045:96;;17937:94;1252:20722;;-1:-1:-1;;;17995:25:107;;1252:20722;;17995:25;17422:505;17515:53;17545:23;1252:20722;17515:53;1252:20722;;17515:53;17582:35;1252:20722;17603:14;1252:20722;;;;;;;17426:22;1252:20722;;;;;;;;;;17426:22;1252:20722;;17582:35;17603:14;1252:20722;17631:43;;1252:20722;;;;;;;;17426:22;1252:20722;;;17426:22;1252:20722;;17631:43;17688:45;17714:19;1252:20722;17545:23;1252:20722;;17688:45;17426:22;1252:20722;17747:35;;1252:20722;;;;17603:14;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;;;;;-1:-1:-1;;;;;;1252:20722:107;;;;;;;;17747:35;17426:22;1252:20722;17796:43;;1252:20722;;;;17603:14;1252:20722;;-1:-1:-1;;;;1252:20722:107;;;;;;-1:-1:-1;;;1252:20722:107;;;;;;;;17796:43;17853:63;17884:32;1252:20722;17853:63;1252:20722;;17853:63;17422:505;;17426:73;837:15:73;;17457:42:107;819:34:73;837:15;819:34;:::i;17457:42:107:-;-1:-1:-1;17457:42:107;17426:73;;;17306:106;1252:20722;;-1:-1:-1;;;17365:36:107;;1252:20722;;17365:36;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;1666:40;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;5628:21;;:::i;:::-;1252:20722;;;;6432:11;1252:20722;;;;;;;;;;;;;6473:1;1252:20722;;;;;;;;;6432:11;1252:20722;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3901:31:23;1252:20722:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;3901:31:23;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;3719:42:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;3625:38:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:20722:107;6047:15;1252:20722;;;6047:33;1252:20722;-1:-1:-1;1252:20722:107;6047:33;:::i;1252:20722::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:20722:107;;;;-1:-1:-1;1252:20722:107;477:31:86;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;477:31:86;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;477:31:86;1252:20722:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:20722:107;518:79:86;;1252:20722:107;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;1989:32:108;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;900:35:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;16156:21;;16152:75;;-1:-1:-1;1252:20722:107;;;16241:22;1252:20722;;;;;;;;;;;;;16241:41;16237:91;;-1:-1:-1;;;;;1252:20722:107;;;;;8867:22;1252:20722;;;;;16394:44;;;;16338:40;;:31;1252:20722;;;;;;;;;;;;;;16338:40;1252:20722;;;;;;;;;;;;;;;16394:44;;;;3426:1:30;;:::i;16152:75:107:-;1252:20722;;-1:-1:-1;;;16200:16:107;;1252:20722;;16200:16;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;2939:94:108;1252:20722:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20722:107;2939:94:108;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;2939:94:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3089:92:108;1252:20722:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20722:107;3089:92:108;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;4350:31:108;1252:20722:107;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20017:20:107;1252:20722;;;;;20013:85;;-1:-1:-1;;;;;1252:20722:107;;;;;;20108:312;;1252:20722;20017:20;1252:20722;;-1:-1:-1;;;;1252:20722:107;-1:-1:-1;;;1252:20722:107;;;20430:27;20473:20;-1:-1:-1;20473:20:107;;3426:1:30;;:::i;20108:312:107:-;1252:20722;;-1:-1:-1;;;20155:45:107;;-1:-1:-1;;;;;1252:20722:107;;20155:45;;;1252:20722;;;20155:45;;1252:20722;;;;;;20155:45;20165:15;;;1252:20722;20155:45;;;;;;;-1:-1:-1;20155:45:107;;;20108:312;20154:46;;20150:104;;1252:20722;;-1:-1:-1;;;20272:30:107;;;1252:20722;20272:30;1252:20722;20272:30;;;;;;;;-1:-1:-1;20272:30:107;;;20108:312;20314:4;;;1252:20722;;20272:47;20268:109;;-1:-1:-1;20017:20:107;1252:20722;;-1:-1:-1;;;;;;1252:20722:107;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;20108:312;;;;;;20268:109;1252:20722;;-1:-1:-1;;;20346:16:107;;;20272:30;;;;;;;-1:-1:-1;20272:30:107;;;;;;:::i;:::-;;;;;;20150:104;1252:20722;;-1:-1:-1;;;20227:12:107;;1252:20722;;20227:12;20155:45;;;;;;;;;;;;;;:::i;:::-;;;;20013:85;1252:20722;;-1:-1:-1;;;20060:27:107;;;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;11393:23;;11389:79;;11554:6;1252:20722;11487:13;;;;:::i;:::-;1252:20722;;;-1:-1:-1;1252:20722:107;;;;11554:6;:::i;:::-;1252:20722;;;;;;;;;;;;11583:10;;11577:43;;1252:20722;11577:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;;;;;;;11389:79;1252:20722;;-1:-1:-1;;;11439:18:107;;1252:20722;;11439:18;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;-1:-1:-1;1252:20722:107;2819:64:108;1252:20722:107;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;2331:22:108;1252:20722:107;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;3423:43:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1183:36:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;5628:21;;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;;900:35:108;;1252:20722:107;;4468:23:23;4464:108;;1252:20722:107;;;;16941:21;16937:71;;1252:20722;;17054:22;1252:20722;;;;;;;;17054:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;5272:22;;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;4089:32:108;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;7836:24;;;:::i;:::-;7863:29;;;;;:::i;:::-;1252:20722;;;;;;;7917:1;1252:20722;;;;;;;7895:33;;;:::i;:::-;1252:20722;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;3522:47:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3997:36:108;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;2161:24:108;1252:20722:107;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;5767:26:23;1252:20722:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;3202:4:23;4919:24;1252:20722:107;-1:-1:-1;1252:20722:107;4919:24:23;1252:20722:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:20722:107:-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;;1183:36:108;;1252:20722:107;;4468:23:23;4464:108;;1252:20722:107;;18762:12;1252:20722;18762:29;18758:79;;1252:20722;;18890:30;1252:20722;18762:12;1252:20722;;;;;;18890:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;466:39:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;4267:27:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1466:3:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;:::i;:::-;6654:48;;1252:20722;;;;;;;:::i;:::-;;;;;;;;;;;;;;6716:16;;6712:111;;1252:20722;;6915:39;1057:70:95;6915:39:107;;5098:48;6878:77;6915:39;;;;6878:77;;:::i;:::-;6994:36;;5456:47;1252:20722;6994:36;;;5456:47;;:::i;:::-;7071:37;;;5098:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;6712:111;6771:41;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5098:48;1252:20722;6878:77;1252:20722;1057:70:95;1252:20722:107;;;:::i;:::-;;;;;6712:111;;;;;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;10171:21;10167:75;;10256:11;;10252:73;;845:69:95;5272:22:107;;:::i;:::-;5628:21;;:::i;:::-;845:69:95;;;:::i;:::-;10461:10:107;1252:20722;;;;6047:15;1252:20722;;;;;10461:10;;;6047:33;;;:::i;:::-;10431:41;;10427:96;;10548:40;;;;;:::i;10427:96::-;1252:20722;;-1:-1:-1;;;10495:17:107;;1252:20722;;10495:17;10252:73;1252:20722;;-1:-1:-1;;;10290:24:107;;1252:20722;;10290:24;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5704:193::-;-1:-1:-1;;;;;1252:20722:107;-1:-1:-1;1252:20722:107;;;5831:15;1252:20722;;;;;5831:59;;5704:193;;5831:59;:::i;2517:241::-;1252:20722;;2589:22;1252:20722;;;;2589:27;;;:72;;;;2517:241;2585:128;;2722:29;2517:241;:::o;2585:128::-;1252:20722;;2684:18;1252:20722;;;;2677:25;:::o;2589:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20722:107;2620:41;2589:72;;1252:20722;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13805:1;1252:20722;;;;;;;:::o;:::-;;;;;;;;;;:::o;2240:229::-;2308:22;1252:20722;;;;;;;;2308:27;;:72;;;;;2240:229;2304:124;;;1252:20722;;;2240:229;:::o;2304:124::-;1252:20722;;2403:14;1252:20722;;;2396:21;:::o;2308:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20722:107;2339:41;2308:72;;;7174:191;-1:-1:-1;;;;;1252:20722:107;-1:-1:-1;1252:20722:107;;;6047:15;1252:20722;;;;;6047:33;;;:::i;:::-;5628:21;;:::i;:::-;5272:22;;:::i;:::-;1252:20722;1884:1:95;1252:20722:107;;;;;;;1884:1:95;1252:20722:107;;;;;;;9478:25:68;;;:::i;1252:20722:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;:::o;7996:218::-;8109:10;1252:20722;;;-1:-1:-1;;;;;1252:20722:107;;;;;8136:20;;1252:20722;;8159:44;1252:20722;;;;;;;;;;;8159:44;;8197:4;8159:44;;;1252:20722;8159:44;;;;;;;8109:10;8159:44;;;8136:71;7996:218;:::o;8159:44::-;;;;;;;;;;;;;;:::i;8136:71::-;;8109:10;7996:218;:::o;1252:20722::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2806:693::-;2911:18;1252:20722;;;;;;;;;;;;;2899:30;;;;;;1252:20722;;2949:22;1252:20722;;;;;2949:27;;;;:65;;;;;2895:598;2945:129;;;;3094:87;1252:20722;3094:87;1252:20722;3125:34;3124:57;1252:20722;3094:27;1252:20722;3125:34;;:::i;:::-;1252:20722;;;;3124:57;;:::i;2945:129::-;1252:20722;;-1:-1:-1;;;3041:18:107;;;;;2949:65;2980:34;;-1:-1:-1;2949:65:107;;;;2895:598;1252:20722;;3202:22;1252:20722;;;;;;;3202:27;;;;:65;;;;;2895:598;-1:-1:-1;;3198:295:107;;;1252:20722;;3290:75;1252:20722;;3290:75;1252:20722;3317:30;3316:49;1252:20722;3290:23;1252:20722;3317:30;;:::i;:::-;1252:20722;;;3316:49;;:::i;3198:295::-;3403:79;1252:20722;;3425:57;1252:20722;;3426:34;3403:79;1252:20722;3403:19;1252:20722;3426:34;;:::i;:::-;1252:20722;;;;3425:57;;:::i;3202:65::-;3233:34;;-1:-1:-1;3202:65:107;;;;3361:103:30;;;;:::i;:::-;1252:20722:107;;-1:-1:-1;;;;;1252:20722:107;;;11802:23;;11798:79;;11931:11;;11927:70;;1252:20722;12023:10;;;;;;-1:-1:-1;1252:20722:107;;12168:49;;1252:20722;;;;12145:6;;1252:20722;;12102:18;;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;;12102:18;12145:6;:::i;:::-;12168:49;1252:20722;;12179:10;;;;12168:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12035:3:107:-;12071:9;12054:27;1252:20722;12071:9;12064:17;12071:9;;;;;:::i;:::-;1252:20722;12064:17;:::i;12054:27::-;12035:3;1252:20722;12012:9;;11927:70;1252:20722;;-1:-1:-1;;;11965:21:107;;;;;1252:20722;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3547:665::-;3647:27;1252:20722;3639:35;;;3635:87;;3744:23;1252:20722;3736:31;;;;;;1252:20722;3791:83;1252:20722;3790:96;1252:20722;3816:58;3817:35;3791:22;1252:20722;;;3817:35;;:::i;:::-;1252:20722;;;;;3816:58;;:::i;3732:474::-;1252:20722;;3907:19;1252:20722;3907:24;;:55;;;;3732:474;3903:303;;;1252:20722;3985:84;1252:20722;;4007:50;4008:31;3986:71;1252:20722;3986:18;1252:20722;4008:31;;:::i;:::-;1252:20722;;;4007:50;;:::i;:::-;1252:20722;;;;3986:71;:::i;3903:303::-;4108:75;1252:20722;;4107:88;1252:20722;4133:50;4134:27;4108:22;1252:20722;;;4134:27;;:::i;:::-;1252:20722;;;;;4133:50;;:::i;:::-;1252:20722;;;;4108:75;:::i;3907:55::-;3935:27;;;;3907:55;;3635:87;1252:20722;;-1:-1:-1;;;3697:14:107;;;;;1918:274;1252:20722;;2003:22;1252:20722;;;;2003:27;;:72;;;;;1918:274;1999:138;;;;2153:32;1252:20722;1918:274;:::o;1999:138::-;2098:28;1252:20722;2091:35;:::o;2003:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20722:107;2034:41;2003:72;;;;8275:265;8376:10;1252:20722;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;8367:19;8363:75;;8454:16;1252:20722;;8454:79;;;8376:10;8275:265;:::o;8454:79::-;8504:12;1252:20722;8491:42;;;:::i;8363:75::-;1252:20722;;-1:-1:-1;;;8409:18:107;;;;;7413:227;;7553:34;7413:227;1252:20722;-1:-1:-1;1252:20722:107;7553:18;1252:20722;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;7553:34;1252:20722;;-1:-1:-1;1252:20722:107;7589:11;1252:20722;;;-1:-1:-1;1252:20722:107;;7609:16;1252:20722;;;-1:-1:-1;1252:20722:107;;;1884:1:95;1252:20722:107;;;;;;;1884:1:95;1252:20722:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:20722:107;;3670:20:30;3666:88;;1991:1;1252:20722:107;;3470:384:30:o;3666:88::-;1252:20722:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:20722:107;3860:283:30:o;20506:960:107:-;20685:10;1252:20722;;;;6047:15;1252:20722;;;;;;20506:960;;;819:34:73;837:15;819:34;:::i;:::-;20685:10:107;1252:20722;;;;6047:15;1252:20722;;;;;6047:33;;;:::i;:::-;1252:20722;;;;;;;;;20669:93;21385:74;20669:93;;;21210:30;20669:93;;:::i;:::-;837:15:73;;20772:67:107;819:34:73;837:15;819:34;:::i;:::-;20809:29:107;5272:22;;;:::i;20772:67::-;837:15:73;;20849:68:107;819:34:73;837:15;819:34;:::i;:::-;20885:31:107;5628:21;;;:::i;20849:68::-;837:15:73;;21319:34:107;837:15:73;21319:25:107;20944:18;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;20944:18;:::i;:::-;21276:33;20995:18;;1252:20722;;13777:11;1252:20722;;;;;;;20995:18;1252:20722;21052:23;;1252:20722;;21052:16;1252:20722;;;;;;;21052:23;1252:20722;390:70:95;;;;;:::i;:::-;21210:30:107;;;;;;:::i;:::-;21189:18;;1252:20722;;13777:11;1252:20722;;;;;;;21189:18;1252:20722;21276:33;:::i;:::-;21250:23;;1252:20722;;21052:16;1252:20722;;;;;;;21250:23;1252:20722;;;21319:18;1252:20722;;;;;;;21319:25;1252:20722;;;;;;;;;;;;;;;;21319:34;:50;1252:20722;;;21319:50;:::i;:::-;1252:20722;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;20685:10;;1252:20722;;21385:74;20506:960::o;1252:20722::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:20722:107;;7686:17:94;7682:83;;1252:20722:107;7789:27:94;1252:20722:107;7789:27:94;1252:20722:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:20722: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:20722:107;8075:24:94;:::o;7975:84::-;1252:20722:107;;;8009:16:94;5098:13:107;1252:20722;8009:16:94;:::i;:::-;1252:20722: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:20722:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:20722:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:20722:107;;7686:17:94;7682:83;;1252:20722:107;7789:27:94;1252:20722:107;7789:27:94;1252:20722:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:20722:107;;;8009:16:94;5456:12:107;1252:20722;8009:16:94;:::i;:::-;1252:20722: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:20722:107;;7686:17:94;7682:83;;1252:20722:107;7789:27:94;1252:20722:107;7789:27:94;1252:20722:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:20722: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:20722:107;8075:24:94;:::o;7975:84::-;1252:20722:107;;;8009:16:94;1252:20722:107;;8009:16:94;:::i;:::-;1252:20722: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:20722:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;466:39:108;;1252:20722:107;;3901:31:23;1252:20722:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;757:38:108;;1252:20722:107;;3901:31:23;1252:20722:107;4148:103:23;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;1041:36:108;;1252:20722:107;;3901:31:23;1252:20722:107;4148:103:23;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;612:37:108;;1252:20722:107;;3901:31:23;1252:20722:107;4148:103:23;-1:-1:-1;1252:20722:107;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;966:10:28;1252:20722:107;;;;;;;;;3901:31:23;1252:20722:107;7270:387:23;-1:-1:-1;1252:20722:107;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;-1:-1:-1;;1252:20722:107;7509:4:23;1252:20722:107;;;966:10:28;;-1:-1:-1;;;;;1252:20722: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:20722:107;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;966:10:28;;-1:-1:-1;;;;;1252:20722:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:20722:107;8209:11:23;:::o;1670:188:55:-;1252:20722:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:20722:107;;;1797:53:55;;;1252:20722:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:20722:107;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;1797:53:55;1252:20722:107;;;1797:53:55;:::i;1252:20722:107:-;7178:12:94;1252:20722:107;;;;;;7178:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;-1:-1:-1;1252:20722:107;:::o;:::-;7178:12:94;1252:20722:107;;;;;;7178:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;-1:-1:-1;1252:20722:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:20722:107;;-1:-1:-1;1252:20722:107;;;-1:-1:-1;1252:20722:107;:::o;:::-;6360:12:94;1252:20722:107;-1:-1:-1;;;1252:20722:107;;;;;;;;;6360:12:94;1252:20722:107;;;;;;6360:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;:::o;:::-;6360:12:94;1252:20722:107;-1:-1:-1;;;1252:20722:107;;;;;;;;;6360:12:94;1252:20722:107;;;;;;6360:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:20722:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:20722:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:20722:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:20722:107;;;;;;;;;-1:-1:-1;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;6798:25:94;1252:20722:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:20722:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:20722:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;6356:75:94;;;6246:584;;;;6360:12;1252:20722:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:20722:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:20722:107;;;;;;;;;-1:-1:-1;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;6798:25:94;1252:20722:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:20722:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:20722:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:20722:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:20722:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:20722:107;;8310:38:71;;-1:-1:-1;;;;;1252:20722:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:20722:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20722:107;;;;;;6360:12:94;1252:20722:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:20722:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:20722:107;;;1380:43:55;;;1252:20722:107;;;;;;;;;1380:43:55;;;1252:20722:107;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;1380:43:55;1252:20722:107;;;1380:43:55;:::i;1252:20722:107:-;;;;;;;:::o;4996:4226:68:-;;1252:20722:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:108;6270:20:68;;;;;6266:143;;1252:20722:107;6695:300:68;;;;;;;;1252:20722:107;;6695:300:68;;7259:375;;7700:21;1252:20722:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1252:20722:107;;1466:3:108;1252:20722:107;;;6119:26:68;:::o;4996:4226::-;;1252:20722:107;;;;-1:-1:-1;;1252:20722: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:20722:107;;8075:1:68;1252:20722:107;8074:21:68;1252:20722:107;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:20722:107;6695:300:68;;7259:375;7700:21;1252:20722:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:20722:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;21472:460:107:-;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;21565:23;;;21561:75;;1252:20722;21650:39;:27;;1252:20722;;21650:20;1252:20722;;;;;;;21650:27;21678:10;1252:20722;;;;;;;;;;;;;;21650:39;1252:20722;;21646:93;;21758:32;21678:10;21758:32;;:::i;:::-;21805:11;;;21801:68;;21879:39;21678:10;21879:27;21678:10;21879:27;1252:20722;;21650:20;1252:20722;;;;;;;21879:39;1252:20722;;-1:-1:-1;;1252:20722:107;21921:4;1252:20722;;;21472:460::o;21801:68::-;1252:20722;;-1:-1:-1;;;21839:19:107;;;;;21646:93;1252:20722;;-1:-1:-1;;;21712:16:107;;;;;14296:213:69;1252:20722:107;14374:24:69;;;;14370:103;;1252:20722:107;14296:213:69;:::o;14370:103::-;1252:20722:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:20722:107;;;;;14421:41:69;10580:184:94;5628:12:107;1252:20722;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20722:107;;10726:7:94;1252:20722:107;;10736:12:94;1252:20722:107;;;;;;10736:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;10580:184:94;:::o;10446:63:71:-;1252:20722:107;;;;;;;;5628:12;-1:-1:-1;14439:109:71;;;1252:20722:107;;;10446:63:71;;10580:184:94;5272:13:107;1252:20722;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20722:107;;10726:7:94;1252:20722:107;;10736:12:94;1252:20722:107;;;;;;10736:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;10580:184:94;:::o;10446:63:71:-;1252:20722:107;;;;;;;;5272:13;-1:-1:-1;14439:109:71;;;1252:20722:107;;;10446:63:71;;10580:184:94;1252:20722:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20722:107;;10726:7:94;1252:20722:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:20722:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:20722:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:20722:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:20722:107;;;;;;;1884:1:95;1252:20722:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5098:13:107;1252:20722;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:20722:107;;7168:7:94;1252:20722:107;;7178:17:94;1252:20722: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:20722:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:20722:107;;;;;;;10049:53:71;14439:109;5098:13:107;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20722:107;;;;;9870:48:71;9866:149;1252:20722:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5456:12:107;1252:20722;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:20722:107;;7168:7:94;1252:20722:107;;7178:17:94;1252:20722: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:20722:107;;;;;;;10049:53:71;14439:109;5456:12:107;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20722:107;;;;;9870:48:71;9866:149;1252:20722:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:20722: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:20722:107;;7168:7:94;1252:20722: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:20722:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:20722:107;;;;;9870:48:71;9866:149;1252:20722:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:20722:107;;;;;;;:::i;:::-;-1:-1:-1;1252:20722:107;;;;;;;:::o;11486:272:94:-;1252:20722:107;;:::i;:::-;;;;:::i;:::-;;5098:13;1252:20722;;;;;;5098:13;-1:-1:-1;1252:20722:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;;;;;;;;;;11718:12:94;1252:20722:107;;;;;;11718:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:20722:107;11486:272:94;:::o;:::-;1252:20722:107;;:::i;:::-;;;;:::i;:::-;;5456:12;1252:20722;;;;;;5456:12;-1:-1:-1;1252:20722:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;;;;;;;;;;11718:12:94;1252:20722:107;;;;;;11718:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;:::i;11486:272:94:-;;1252:20722:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:20722:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:20722:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:20722: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:20722:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:20722:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:20722:107;;;8401:40:55;;;1252:20722:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:20722:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:20722:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5628:12:107;1252:20722;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20722:107;;;;;;;;5628:12;10833:17:71;14439:109;;;1252:20722:107;11014:1:71;;1252:20722:107;;;;;;;11030:37:71:o;10695:389::-;5272:13:107;1252:20722;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20722:107;;;;;;;;5272:13;10833:17:71;14439:109;;;1252:20722:107;11014:1:71;;1252:20722:107;;;;;;;11030:37:71:o;10695:389::-;1252:20722:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20722:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:20722:107;11014:1:71;1252:20722:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:20722:107;5628:12;1252:20722;;-1:-1:-1;;;1252:20722:107;;;;;;;;;5628:12;1252:20722;;;;;;5628:12;-1:-1:-1;1252:20722:107;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;:::o;:::-;5272:13;1252:20722;;-1:-1:-1;;;1252:20722:107;;;;;;;;;5272:13;1252:20722;;;;;;5272:13;-1:-1:-1;1252:20722:107;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:20722:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5628:12:107;1252:20722;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:20722:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:20722:107;;;;;;;;;;;;;;;;;12285:19:71;1252:20722:107;;12423:25:71;;:::o;12247:163::-;1252:20722:107;;12343:52:71;1252:20722:107;12353:41:71;1252:20722:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:20722:107;;12353:41:71;;;1252:20722:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:20722:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:20722:107;12479:52:71;1252:20722:107;12489:41:71;1252:20722:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20722:107;;12489:41:71;;;1252:20722:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5272:13:107;1252:20722;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:20722:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:20722:107;;;;;;;;;;;;;;;;;12247:163:71;1252:20722:107;;12343:52:71;1252:20722:107;12353:41:71;1252:20722:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:20722:107;;12353:41:71;;;1252:20722:107;12343:52:71;:::i;11860:713::-;1252:20722:107;12479:52:71;1252:20722:107;12489:41:71;1252:20722:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20722:107;;12489:41:71;;;1252:20722:107;12343:52:71;:::i;11657:922::-;1252:20722:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:20722:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:20722:107;;;;;;;;;;;;;;;;;12247:163:71;1252:20722:107;;;12343:52:71;1252:20722:107;12353:41:71;1252:20722:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:20722:107;;12353:41:71;;;1252:20722:107;12343:52:71;:::i;11860:713::-;1252:20722:107;;12479:52:71;1252:20722:107;12489:41:71;1252:20722:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20722:107;;12489:41:71;;;1252:20722: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:20722:107;18246:1:68;1252:20722:107;22284:6:68;;;;:::i;:::-;1252:20722: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:20722:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:20722:107;19887:61:68;;19787:87;1252:20722:107;;;;;19787:87:68;;;19687;1252:20722:107;;;;;19687:87:68;;;19585:89;1252:20722:107;;;;;19585:89:68;;;19482:90;1252:20722:107;;;;;19482:90:68;;;19379;1252:20722:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:20722:107;-1:-1:-1;1252:20722:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:20722:107;;3731:5:68;;;1252:20722:107;;;;;;;;;5098:13;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20722:107;;;;;-1:-1:-1;13189:136:71;1252:20722:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:20722:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:20722:107;;3731:5:68;;;1252:20722:107;;;;;;;;;5456:12;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20722:107;;;;;-1:-1:-1;13189:136:71;1252:20722:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:20722:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:20722:107;;3731:5:68;;;1252:20722:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:20722:107;;;;;-1:-1:-1;13189:136:71;1252:20722:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:20722:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"69978":[{"start":5176,"length":32},{"start":6398,"length":32}],"69981":[{"start":7457,"length":32},{"start":8806,"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","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","_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","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","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\":\"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\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"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\":\"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\":\"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\":\"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\":\"_Vault_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\":\"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\":[{\"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\":\"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\"}},\"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\"}},\"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\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"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.\"},\"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.\"},\"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.\"},\"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.\"},\"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\":\"0xafbc3a4da1e80aa55e19549d6f7c672a97c9a39be21a2aa843ea8d1f5496e4a3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d02d13e4508aa5579876b25224f8cef992222d1da872ec77c7d8aa1c7932ef8\",\"dweb:/ipfs/QmX7JKMFvaALVnoUwNUueKfmnTTgGhomkrCmTZ8ombm5Be\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a\",\"dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs\"]},\"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\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68\",\"dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb\"]}},\"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":"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":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"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":"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":"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":"nonpayable","type":"function","name":"_Vault_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":"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":[{"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":"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"}},"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."},"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."},"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."},"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":"0xafbc3a4da1e80aa55e19549d6f7c672a97c9a39be21a2aa843ea8d1f5496e4a3","urls":["bzz-raw://6d02d13e4508aa5579876b25224f8cef992222d1da872ec77c7d8aa1c7932ef8","dweb:/ipfs/QmX7JKMFvaALVnoUwNUueKfmnTTgGhomkrCmTZ8ombm5Be"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f","urls":["bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a","dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs"],"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":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea","urls":["bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68","dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb"],"license":"MIT"}},"version":1},"id":107} \ 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 036a0c8..bf1ba00 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -259,7 +259,7 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran if (token != collateral) { revert UnsupportedToken(); } - return value.mulDiv(flashFeeRate, FLASH_FEE_BASE); + return flashFeeReceiver == address(0) ? 0 : value.mulDiv(flashFeeRate, FLASH_FEE_BASE); } /** @@ -412,7 +412,7 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran revert InvalidReturnAmount(); } - if (flashFeeReceiver != address(0)) { + if (fee > 0) { IERC20(collateral_).safeTransfer(flashFeeReceiver, fee); } diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index 117bbbe..f79f0a7 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -3148,6 +3148,12 @@ contract VaultTest is Test { _grantFlashFeeReceiverSetRole(alice, alice); _setFlashFeeReceiver(alice, flashFeeReceiver); assertEq(vault.flashFeeReceiver(), flashFeeReceiver); + + if (flashFeeReceiver != address(0)) { + assertEq(vault.flashFee(address(collateral), 100 ether), vault.flashFeeRate().mulDiv(100 ether, 10 ** 9)); + } else { + assertEq(vault.flashFee(address(collateral), 100 ether), 0); + } } function test_SetFlashFeeReceiverRevertAlreadySet( @@ -3822,7 +3828,7 @@ contract VaultTest is Test { depositLimit: 0, epochDurationSetEpochsDelay: 3, flashFeeRate: 0, - flashFeeReceiver: address(0), + flashFeeReceiver: alice, defaultAdminRoleHolder: alice, depositWhitelistSetRoleHolder: alice, depositorWhitelistRoleHolder: alice,