@pimlico/alto 0.0.0-main.20251204T111226 → 0.0.0-main.20260101T133101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/EIP712.sol/EIP712.json +1 -1
- package/contracts/ERC165.sol/ERC165.json +1 -1
- package/contracts/ERC20.sol/ERC20.json +1 -1
- package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
- package/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
- package/contracts/Exec.sol/Exec.json +1 -1
- package/contracts/IAccount.sol/IAccount.json +1 -1
- package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
- package/contracts/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/IERC165.sol/IERC165.json +1 -1
- package/contracts/IERC5267.sol/IERC5267.json +1 -1
- package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride08.json +1 -1
- package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride09.json +1 -0
- package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
- package/contracts/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
- package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
- package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/LibBytes.sol/LibBytes.json +1 -1
- package/contracts/Math.sol/Math.json +1 -1
- package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
- package/contracts/NonceManager.sol/NonceManager.json +1 -1
- package/contracts/Panic.sol/Panic.json +1 -1
- package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -1
- package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
- package/contracts/SafeCast.sol/SafeCast.json +1 -1
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
- package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
- package/contracts/SignedMath.sol/SignedMath.json +1 -1
- package/contracts/SimulationOverrideHelper.sol/SimulationOverrideHelper.json +1 -1
- package/contracts/StakeManager.sol/StakeManager.json +1 -1
- package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
- package/contracts/Strings.sol/Strings.json +1 -1
- package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
- package/contracts/UserOperation.sol/UserOperationLib.json +1 -1
- package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
- package/contracts/account-abstraction-v9/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -0
- package/contracts/build-info/{006aa55b425148d5.json → 338795fc743ca612.json} +1 -1
- package/contracts/build-info/44a9648cfe32a468.json +1 -0
- package/contracts/build-info/{416ffb069999d6eb.json → 8dbf8a4ad39019b5.json} +1 -1
- package/contracts/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/core/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/core/NonceManager.sol/NonceManager.json +1 -0
- package/contracts/core/SenderCreator.sol/SenderCreator.json +1 -0
- package/contracts/core/StakeManager.sol/StakeManager.json +1 -0
- package/contracts/core/UserOperationLib.sol/UserOperationLib.json +1 -0
- package/contracts/interfaces/IAccount.sol/IAccount.json +1 -0
- package/contracts/interfaces/IAccountExecute.sol/IAccountExecute.json +1 -0
- package/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/interfaces/IPaymaster.sol/IPaymaster.json +1 -0
- package/contracts/interfaces/ISenderCreator.sol/ISenderCreator.json +1 -0
- package/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/overrides/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/overrides/NonceManager.sol/NonceManager.json +1 -0
- package/contracts/overrides/SenderCreator.sol/SenderCreator.json +1 -0
- package/contracts/overrides/StakeManager.sol/StakeManager.json +1 -0
- package/contracts/overrides/UserOperationLib.sol/UserOperationLib.json +1 -0
- package/contracts/utils/Exec.sol/Exec.json +1 -1
- package/contracts/utils/StorageSlot.sol/StorageSlot.json +1 -1
- package/contracts/v09/EntryPoint.sol/EntryPoint.json +1 -0
- package/esm/cli/config/bundler.d.ts +68 -50
- package/esm/cli/config/bundler.js +5 -2
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +17 -1
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/deploySimulationsContract.d.ts +1 -0
- package/esm/cli/deploySimulationsContract.js +41 -5
- package/esm/cli/deploySimulationsContract.js.map +1 -1
- package/esm/cli/handler.js +14 -0
- package/esm/cli/handler.js.map +1 -1
- package/esm/cli/setupServer.js +3 -4
- package/esm/cli/setupServer.js.map +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
- package/esm/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
- package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/esm/executor/bundleManager.js +1 -2
- package/esm/executor/bundleManager.js.map +1 -1
- package/esm/executor/filterOpsAndEstimateGas.js +12 -0
- package/esm/executor/filterOpsAndEstimateGas.js.map +1 -1
- package/esm/executor/utils.js +2 -2
- package/esm/executor/utils.js.map +1 -1
- package/esm/handlers/eventManager.d.ts +6 -6
- package/esm/handlers/eventManager.js +47 -57
- package/esm/handlers/eventManager.js.map +1 -1
- package/esm/mempool/mempool.d.ts +34 -0
- package/esm/mempool/mempool.js +14 -4
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/rpc/estimation/gasEstimations07.js +7 -6
- package/esm/rpc/estimation/gasEstimations07.js.map +1 -1
- package/esm/rpc/estimation/preVerificationGasCalculator.js +1 -1
- package/esm/rpc/estimation/preVerificationGasCalculator.js.map +1 -1
- package/esm/rpc/methods/boost_sendUserOperation.d.ts +304 -0
- package/esm/rpc/methods/debug_bundler_dumpMempool.d.ts +338 -0
- package/esm/rpc/methods/eth_estimateUserOperationGas.d.ts +622 -14
- package/esm/rpc/methods/eth_getUserOperationByHash.d.ts +621 -11
- package/esm/rpc/methods/eth_sendUserOperation.d.ts +304 -0
- package/esm/rpc/methods/pimlico_sendUserOperationNow.d.ts +304 -0
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js +3 -12
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
- package/esm/rpc/methods/pimlico_simulateAssetChange.d.ts +620 -12
- package/esm/rpc/validation/SafeValidator.js +5 -5
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/store/createMempoolStore.js +8 -2
- package/esm/store/createMempoolStore.js.map +1 -1
- package/esm/store/outstanding/memory.js +26 -17
- package/esm/store/outstanding/memory.js.map +1 -1
- package/esm/store/outstanding/redis.js +46 -18
- package/esm/store/outstanding/redis.js.map +1 -1
- package/esm/store/outstanding/types.d.ts +2 -1
- package/esm/store/processing/memory.d.ts +3 -1
- package/esm/store/processing/memory.js +14 -2
- package/esm/store/processing/memory.js.map +1 -1
- package/esm/store/processing/redis.d.ts +4 -2
- package/esm/store/processing/redis.js +20 -4
- package/esm/store/processing/redis.js.map +1 -1
- package/esm/store/processing/types.d.ts +2 -1
- package/esm/store/types.d.ts +1 -0
- package/esm/types/contracts/PimlicoSimulations.d.ts +81 -0
- package/esm/types/contracts/PimlicoSimulations.js +105 -0
- package/esm/types/contracts/PimlicoSimulations.js.map +1 -1
- package/esm/types/schemas.d.ts +13039 -4597
- package/esm/types/schemas.js +92 -2
- package/esm/types/schemas.js.map +1 -1
- package/esm/utils/entryPointOverrides.js +7 -0
- package/esm/utils/entryPointOverrides.js.map +1 -1
- package/esm/utils/metrics.d.ts +0 -1
- package/esm/utils/metrics.js +0 -7
- package/esm/utils/metrics.js.map +1 -1
- package/esm/utils/userop.d.ts +76 -2
- package/esm/utils/userop.js +71 -79
- package/esm/utils/userop.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_accountValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_paymasterValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_validatePrepayment","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"validatePaymasterPrepayment","type":"bool","internalType":"bool"}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addStake","inputs":[{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"delegateAndRevert","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositTo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"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":"getDepositInfo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"info","type":"tuple","internalType":"struct IStakeManager.DepositInfo","components":[{"name":"deposit","type":"uint256","internalType":"uint256"},{"name":"staked","type":"bool","internalType":"bool"},{"name":"stake","type":"uint112","internalType":"uint112"},{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"},{"name":"withdrawTime","type":"uint48","internalType":"uint48"}]}],"stateMutability":"view"},{"type":"function","name":"getDomainSeparatorV4","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPackedUserOpTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"getSenderAddress","inputs":[{"name":"initCode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getUserOpHash","inputs":[{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"handleAggregatedOps","inputs":[{"name":"","type":"tuple[]","internalType":"struct IEntryPoint.UserOpsPerAggregator[]","components":[{"name":"userOps","type":"tuple[]","internalType":"struct PackedUserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"aggregator","type":"address","internalType":"contract IAggregator"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleOps","inputs":[{"name":"","type":"tuple[]","internalType":"struct PackedUserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"incrementNonce","inputs":[{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"innerHandleOp","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"opInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"context","type":"bytes","internalType":"bytes"},{"name":"preGas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"nonceSequenceNumber","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"senderCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISenderCreator"}],"stateMutability":"view"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"withdrawAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AccountDeployed","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"paymaster","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeforeExecution","inputs":[],"anonymous":false},{"type":"event","name":"Deposited","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalDeposit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"PostOpRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"SignatureAggregatorChanged","inputs":[{"name":"aggregator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakeLocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeUnlocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawTime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeWithdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationEvent","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"paymaster","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"actualGasCost","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actualGasUsed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationPrefundTooLow","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CallPhaseReverted","inputs":[{"name":"reason","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"DelegateAndRevert","inputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"FailedOp","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"FailedOpWithRevert","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"},{"name":"inner","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"PostOpReverted","inputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SenderAddressResult","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureValidationFailed","inputs":[{"name":"aggregator","type":"address","internalType":"address"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x610160604052346101275760405161001860408261012b565b600781526020810190664552433433333760c81b82526040519161003d60408461012b565b600183526020830191603160f81b835261005681610162565b61012052610063846102fd565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c08261012b565b5190206080523060c052604051612e559081610436823960805181611e08015260a05181611ec5015260c05181611dd9015260e05181611e5701526101005181611e7d01526101205181610992015261014051816109bc0152f35b5f80fd5b601f909101601f19168101906001600160401b0382119082101761014e57604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f146101dc575090601f81511161019c57602081519101516020821061018d571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161014e57600254600181811c911680156102f3575b60208210146102df57601f81116102ac575b50602092601f821160011461024b57928192935f92610240575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610227565b601f1982169360025f52805f20915f5b868110610294575083600195961061027c575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f808061026e565b9192602060018192868501518155019401920161025b565b60025f52601f60205f20910160051c810190601f830160051c015b8181106102d4575061020d565b5f81556001016102c7565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101fb565b908151602081105f14610328575090601f81511161019c57602081519101516020821061018d571790565b6001600160401b03811161014e57600354600181811c9116801561042b575b60208210146102df57601f81116103f8575b50602092601f821160011461039757928192935f9261038c575b50508160011b915f199060031b1c19161760035560ff90565b015190505f80610373565b601f1982169360035f52805f20915f5b8681106103e057508360019596106103c8575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806103ba565b919260206001819286850151815501940192016103a7565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104205750610359565b5f8155600101610413565b90607f169061034756fe6080806040526004361015610025575b50361561001a575f80fd5b61002333611d76565b005b5f905f3560e01c9081630396cb60146114d55750806309ccb880146114aa5780630bd28e3b146114595780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199e565b91611c58565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179c565b126104cd576040516101ae816117cc565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f32565b6040519961027b84611b2c565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248a565b986103216001600160a01b038651166020870151906126c5565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120aa565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186d565b611d76565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2a565b6001600160a01b0361088f611a58565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d56565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117e9565b810190611d37565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186d565b5060243567ffffffffffffffff81116104d557610973903690600401611a2a565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0d565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d4f565b906020610a42604051936109f483866117e9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a06565b908682036040880152611a06565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186d565b1681528083522054604051908152f35b503461013e57610ae536611897565b9190915a92815193610af78583611f32565b610b0082611b2c565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248a565b9760206001600160a01b03825116910151906126c5565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186d565b8260808551610c778161179c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186d565b916001600160a01b03610d4d611786565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2c565b604051908152f35b503461013e57606090610ddd36611897565b908392935082936001600160a01b0360e08451610dfa8186611f32565b610e0385611b2c565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120aa565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186d565b926001600160a01b03610fc9611786565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dcf565b50346113bb576102203660031901126113bb5760043567ffffffffffffffff81116113bb57611072903690600401611827565b3660231901906101c082126113bb57610140604051926110918461179c565b126113bb576040516110a2816117cc565b6024356001600160a01b03811681036113bb57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113bb5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113bb5761115f903690600401611827565b908251906060820151815190816113cd575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54806113c7575048905b01808210156113bf5750935b6111e86001600160a01b0360e08401511693606084015190830361270c565b01925f928061126e575050516001600160a01b0316935b5a900301010292518381105f14611238576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112619203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611282575b5050506111ff565b9197509192505a9660a05a930191825190823b156113bb575f916112e491836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a06565b8d8d0260448301528d60648301520393f190816113a6575b5061138a573d896108008211611380575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061130d565b61139d915a9003965a900390519061270c565b905f808061127a565b6113b3919a505f906117e9565b5f985f6112fc565b5f80fd5b9050936111c9565b906111bd565b5f80949360206001600160a01b0383965116910192f1156113f1575f808080611171565b3d6108008111611450575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a06565b506108006113fc565b346113bb5760203660031901126113bb576004356001600160c01b03811681036113bb57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a68154611ae2565b9055005b346113bb575f3660031901126113bb5760206114c4611a58565b6001600160a01b0360405191168152f35b60203660031901126113bb5760043563ffffffff81168091036113bb57335f525f60205260405f209181156117445750600182015463ffffffff8160781c168210611700576dffffffffffffffffffffffffffff9060081c16913483018093116116ec5782156116a8576dffffffffffffffffffffffffffff83116116645754604051611631916115658261179c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113bb57565b60a0810190811067ffffffffffffffff8211176117b857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b857604052565b90601f8019910116810190811067ffffffffffffffff8211176117b857604052565b67ffffffffffffffff81116117b857601f01601f191660200190565b81601f820112156113bb5780359061183e8261180b565b9261184c60405194856117e9565b828452602083830101116113bb57815f926020809301838601378301015290565b600435906001600160a01b03821682036113bb57565b35906001600160a01b03821682036113bb57565b6102006003198201126113bb576004359160243567ffffffffffffffff81116113bb5761012081840360031901126113bb57600401916043190160446101c082126113bb57610140604051926118ec8461179c565b126113bb576101a090604051611901816117cc565b61190a82611883565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195460e08301611883565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113bb5760043567ffffffffffffffff81116113bb5760040182601f820112156113bb5780359267ffffffffffffffff84116113bb576020808301928560051b0101116113bb5791906024356001600160a01b03811681036113bb5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113bb5782359167ffffffffffffffff83116113bb57602083818601950101116113bb57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad7575f91611a98575090565b90506020813d602011611acf575b81611ab3602093836117e9565b810103126113bb57516001600160a01b03811681036113bb5790565b3d9150611aa6565b6040513d5f823e3d90fd5b5f1981146116ec5760010190565b919082039182116116ec57565b3d15611b27573d90611b0e8261180b565b91611b1c60405193846117e9565b82523d5f602084013e565b606090565b604290611b38816122f0565b611b40611dcf565b91611b4a81611eeb565b918015611c3b57905b60c0611b626060830183611eff565b90816040519182372091611b7960e0820182611eff565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c03610140826117e9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c496040820182611eff565b90816040519182372090611b53565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d0f5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113bb57516001600160a01b03811681036113bb5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec2575b15611e2a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebc60c0826117e9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e01565b356001600160a01b03811681036113bb5790565b903590601e19813603018212156113bb570180359067ffffffffffffffff82116113bb576020019181360383136113bb57565b611fb6906001600160a01b03611f4782611eeb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611eff565b919082611fc257505050565b6034831061206657826014116113bb57803560601c92602481106113bb576014820135906034116113bb576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120225760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d2604083019384519061272b565b156122a4575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461213f608085960151966121316040519c8d926020860151905191602085019d8e5260248501612782565b03601f1981018c528b6117e9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612298575b508115612286575b506121fd57601f801991011601928360405294955a90031161218e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b6108009150612209565b9050601f605f1983019101105f61216e565b6040141591505f612166565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fd6040820182611eff565b90916123098284612864565b156124835761231790611eeb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f5575060181b91601482116123a35750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebc6034826117e9565b816014116113bb576040516bffffffffffffffffffffffff199093166020848101918252909392611ebc92849190601319820190601401603484013781015f838201520301601f1981018352826117e9565b3b1561243f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124b96124b16040860186611eff565b908c8b6128a6565b015116915f9215978861268b575b5f60209392612527836125196001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612782565b03601f1981018752866117e9565b838287875193f1925f519360203d03612684575b83604052156125ae575050509461255157505050565b61255a9161272b565b156125625750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126025760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061260e565b505f61253b565b92509060205f8193878252818352604082205487811183146126ba5750612527825b96935050929350506124c7565b6125279088036126ad565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270584611ae2565b9055161490565b90619c40820181111561272557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248357039055600190565b9035601e19823603018112156113bb57016020813591019167ffffffffffffffff82116113bb5781360383136113bb57565b61285a60409295949395606083526001600160a01b036127a182611883565b1660608401526020810135608084015261284761283b6127fb6127dc6127c988860186612750565b61012060a08a0152610180890191611d56565b6127e96060860186612750565b888303605f190160c08a015290611d56565b608084013560e087015260a084013561010087015260c084013561012087015261282860e0850185612750565b878303605f190161014089015290611d56565b91610100810190612750565b848303605f190161016086015290611d56565b9460208201520152565b906002116128a157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128b9575b5050505050565b6001600160a01b0384515116946128d08285612864565b612b5b57853b612b0f5760148210612ac3578260206001600160a01b036128f5611a58565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129238c8b6024840191611d56565b0393f1908115612ab8578491612a99575b506001600160a01b0381168015612a4d578703612a01573b156129b5575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b2565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab2915060203d6020116109265761091881836117e9565b5f612934565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6e575b50505050565b60406001600160a01b03612b80611a58565b169351015190826014116113bb57833b156113bb575f8094612be796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d56565b0393f18015611ad757612bfd575b808080612b68565b5f612c07916117e9565b5f612bf5565b60ff8114612c6c5760ff811690601f8211612c445760405191612c316040846117e9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d45575b602084108314612d31578385528492908115612d125750600114612cb3575b612cb0925003826117e9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf6575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612cde565b60209250612cb094915060ff191682840152151560051b820101612ca4565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c85565b60ff8114612d735760ff811690601f8211612c445760405191612c316040846117e9565b506040515f6003548060011c9160018216918215612e15575b602084108314612d31578385528492908115612d125750600114612db657612cb0925003826117e9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612df9575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612de1565b92607f1692612d8c56fea26469706673582212208540fc57b4bbdffc7dc8e1b4d317c55f5adfdbd8c8e186b6a1b40eb9967bae2864736f6c634300081c0033","sourceMap":"1031:33023:27:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;:::i;:::-;1977:9;1031:33023;;;1977:9;;;-1:-1:-1;;;1977:9:27;;3401:45:20;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;1031:33023:27;3542:22:20;;3528:36;;;;1031:33023:27;3591:25:20;;3574:42;;;3644:13;3627:30;;1031:33023:27;;4204:80:20;1031:33023:27;4204:80:20;;2079:95;;;;1031:33023:27;2079:95:20;;;;;;;3644:13;2079:95;;;;4278:4;3627:30;2079:95;;;3627:30;4204:80;;;;;;:::i;:::-;1031:33023:27;4194:91:20;;2079:95;3667:48;4278:4;4204:80;3725:27;1031:33023:27;;;;;;;;2079:95:20;1031:33023:27;;;;;3627:30:20;1031:33023:27;;;;;4204:80:20;1031:33023:27;;;;;3528:36:20;1031:33023:27;;;;;3574:42:20;1031:33023:27;;;;;3393:53:20;1031:33023:27;;;;;3456:62:20;1031:33023:27;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;2887:340:16;;1031:33023:27;;3032:2:16;3010:24;;3006:215;3032:2;;;1031:33023:27;;1854:2:16;1031:33023:27;;1840:16:16;1836:72;;3032:2;1031:33023:27;;;;2079:95:20;3032:2:16;1031:33023:27;;;;1949:36:16;3050:27;:::o;1031:33023:27:-;;;;3032:2:16;1031:33023:27;;;;;1949:36:16;3050:27;:::o;1836:72::-;1031:33023:27;3032:2:16;1031:33023:27;;;1879:18:16;;;;;;;;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;1854:2:16;1031:33023:27;-1:-1:-1;;1031:33023:27;;;1879:18:16;;;;3006:215;-1:-1:-1;;;;;1031:33023:27;;;;3432:13:20;1031:33023:27;;;;;;;;;;;3006:215:16;3032:2;1031:33023:27;;;;;;;;;;3006:215:16;1031:33023:27;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;3432:13:20;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;3432:13:20;1031:33023:27;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:16;;1031:33023:27;;3032:2:16;3010:24;;3006:215;3032:2;;;1031:33023:27;;1854:2:16;1031:33023:27;;1840:16:16;1836:72;;3032:2;1031:33023:27;;;;2079:95:20;3032:2:16;1031:33023:27;;;;1949:36:16;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;1031:33023:27;;;;3501:16:20;1031:33023:27;;;;;;;;;;;3006:215:16;3032:2;1031:33023:27;;;;;;;;;;3006:215:16;1031:33023:27;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:20;1031:33023:27;;;;;3501:16:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;3501:16:20;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;;;;3501:16:20;1031:33023:27;;;;;;;;;;;;;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;3501:16:20;1031:33023:27;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610025575b50361561001a575f80fd5b61002333611d76565b005b5f905f3560e01c9081630396cb60146114d55750806309ccb880146114aa5780630bd28e3b146114595780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199e565b91611c58565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179c565b126104cd576040516101ae816117cc565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f32565b6040519961027b84611b2c565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248a565b986103216001600160a01b038651166020870151906126c5565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120aa565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186d565b611d76565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2a565b6001600160a01b0361088f611a58565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d56565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117e9565b810190611d37565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186d565b5060243567ffffffffffffffff81116104d557610973903690600401611a2a565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0d565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d4f565b906020610a42604051936109f483866117e9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a06565b908682036040880152611a06565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186d565b1681528083522054604051908152f35b503461013e57610ae536611897565b9190915a92815193610af78583611f32565b610b0082611b2c565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248a565b9760206001600160a01b03825116910151906126c5565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186d565b8260808551610c778161179c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186d565b916001600160a01b03610d4d611786565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2c565b604051908152f35b503461013e57606090610ddd36611897565b908392935082936001600160a01b0360e08451610dfa8186611f32565b610e0385611b2c565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120aa565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186d565b926001600160a01b03610fc9611786565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dcf565b50346113bb576102203660031901126113bb5760043567ffffffffffffffff81116113bb57611072903690600401611827565b3660231901906101c082126113bb57610140604051926110918461179c565b126113bb576040516110a2816117cc565b6024356001600160a01b03811681036113bb57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113bb5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113bb5761115f903690600401611827565b908251906060820151815190816113cd575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54806113c7575048905b01808210156113bf5750935b6111e86001600160a01b0360e08401511693606084015190830361270c565b01925f928061126e575050516001600160a01b0316935b5a900301010292518381105f14611238576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112619203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611282575b5050506111ff565b9197509192505a9660a05a930191825190823b156113bb575f916112e491836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a06565b8d8d0260448301528d60648301520393f190816113a6575b5061138a573d896108008211611380575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061130d565b61139d915a9003965a900390519061270c565b905f808061127a565b6113b3919a505f906117e9565b5f985f6112fc565b5f80fd5b9050936111c9565b906111bd565b5f80949360206001600160a01b0383965116910192f1156113f1575f808080611171565b3d6108008111611450575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a06565b506108006113fc565b346113bb5760203660031901126113bb576004356001600160c01b03811681036113bb57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a68154611ae2565b9055005b346113bb575f3660031901126113bb5760206114c4611a58565b6001600160a01b0360405191168152f35b60203660031901126113bb5760043563ffffffff81168091036113bb57335f525f60205260405f209181156117445750600182015463ffffffff8160781c168210611700576dffffffffffffffffffffffffffff9060081c16913483018093116116ec5782156116a8576dffffffffffffffffffffffffffff83116116645754604051611631916115658261179c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113bb57565b60a0810190811067ffffffffffffffff8211176117b857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b857604052565b90601f8019910116810190811067ffffffffffffffff8211176117b857604052565b67ffffffffffffffff81116117b857601f01601f191660200190565b81601f820112156113bb5780359061183e8261180b565b9261184c60405194856117e9565b828452602083830101116113bb57815f926020809301838601378301015290565b600435906001600160a01b03821682036113bb57565b35906001600160a01b03821682036113bb57565b6102006003198201126113bb576004359160243567ffffffffffffffff81116113bb5761012081840360031901126113bb57600401916043190160446101c082126113bb57610140604051926118ec8461179c565b126113bb576101a090604051611901816117cc565b61190a82611883565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195460e08301611883565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113bb5760043567ffffffffffffffff81116113bb5760040182601f820112156113bb5780359267ffffffffffffffff84116113bb576020808301928560051b0101116113bb5791906024356001600160a01b03811681036113bb5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113bb5782359167ffffffffffffffff83116113bb57602083818601950101116113bb57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad7575f91611a98575090565b90506020813d602011611acf575b81611ab3602093836117e9565b810103126113bb57516001600160a01b03811681036113bb5790565b3d9150611aa6565b6040513d5f823e3d90fd5b5f1981146116ec5760010190565b919082039182116116ec57565b3d15611b27573d90611b0e8261180b565b91611b1c60405193846117e9565b82523d5f602084013e565b606090565b604290611b38816122f0565b611b40611dcf565b91611b4a81611eeb565b918015611c3b57905b60c0611b626060830183611eff565b90816040519182372091611b7960e0820182611eff565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c03610140826117e9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c496040820182611eff565b90816040519182372090611b53565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d0f5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113bb57516001600160a01b03811681036113bb5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec2575b15611e2a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebc60c0826117e9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e01565b356001600160a01b03811681036113bb5790565b903590601e19813603018212156113bb570180359067ffffffffffffffff82116113bb576020019181360383136113bb57565b611fb6906001600160a01b03611f4782611eeb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611eff565b919082611fc257505050565b6034831061206657826014116113bb57803560601c92602481106113bb576014820135906034116113bb576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120225760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d2604083019384519061272b565b156122a4575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461213f608085960151966121316040519c8d926020860151905191602085019d8e5260248501612782565b03601f1981018c528b6117e9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612298575b508115612286575b506121fd57601f801991011601928360405294955a90031161218e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b6108009150612209565b9050601f605f1983019101105f61216e565b6040141591505f612166565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fd6040820182611eff565b90916123098284612864565b156124835761231790611eeb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f5575060181b91601482116123a35750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebc6034826117e9565b816014116113bb576040516bffffffffffffffffffffffff199093166020848101918252909392611ebc92849190601319820190601401603484013781015f838201520301601f1981018352826117e9565b3b1561243f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124b96124b16040860186611eff565b908c8b6128a6565b015116915f9215978861268b575b5f60209392612527836125196001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612782565b03601f1981018752866117e9565b838287875193f1925f519360203d03612684575b83604052156125ae575050509461255157505050565b61255a9161272b565b156125625750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126025760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061260e565b505f61253b565b92509060205f8193878252818352604082205487811183146126ba5750612527825b96935050929350506124c7565b6125279088036126ad565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270584611ae2565b9055161490565b90619c40820181111561272557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248357039055600190565b9035601e19823603018112156113bb57016020813591019167ffffffffffffffff82116113bb5781360383136113bb57565b61285a60409295949395606083526001600160a01b036127a182611883565b1660608401526020810135608084015261284761283b6127fb6127dc6127c988860186612750565b61012060a08a0152610180890191611d56565b6127e96060860186612750565b888303605f190160c08a015290611d56565b608084013560e087015260a084013561010087015260c084013561012087015261282860e0850185612750565b878303605f190161014089015290611d56565b91610100810190612750565b848303605f190161016086015290611d56565b9460208201520152565b906002116128a157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128b9575b5050505050565b6001600160a01b0384515116946128d08285612864565b612b5b57853b612b0f5760148210612ac3578260206001600160a01b036128f5611a58565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129238c8b6024840191611d56565b0393f1908115612ab8578491612a99575b506001600160a01b0381168015612a4d578703612a01573b156129b5575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b2565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab2915060203d6020116109265761091881836117e9565b5f612934565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6e575b50505050565b60406001600160a01b03612b80611a58565b169351015190826014116113bb57833b156113bb575f8094612be796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d56565b0393f18015611ad757612bfd575b808080612b68565b5f612c07916117e9565b5f612bf5565b60ff8114612c6c5760ff811690601f8211612c445760405191612c316040846117e9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d45575b602084108314612d31578385528492908115612d125750600114612cb3575b612cb0925003826117e9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf6575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612cde565b60209250612cb094915060ff191682840152151560051b820101612ca4565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c85565b60ff8114612d735760ff811690601f8211612c445760405191612c316040846117e9565b506040515f6003548060011c9160018216918215612e15575b602084108314612d31578385528492908115612d125750600114612db657612cb0925003826117e9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612df9575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612de1565b92607f1692612d8c56fea26469706673582212208540fc57b4bbdffc7dc8e1b4d317c55f5adfdbd8c8e186b6a1b40eb9967bae2864736f6c634300081c0033","sourceMap":"1031:33023:27:-:0;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;1441:10:31;;;:::i;:::-;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25999:20;1031:33023;25999:20;;;1031:33023;;;;;2102:156;1031:33023;2102:156;;;1031:33023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2264:167;;:::i;1031:33023::-;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23141:31;23244:9;;23293:17;;;23348:7;;;;;:::i;:::-;1031:33023;33278:67;23513:21;;;;:::i;:::-;1031:33023;;33561:66;1031:33023;33561:66;1031:33023;23763:28;;1031:33023;23824:26;1031:33023;23824:26;1031:33023;23824:26;;1031:33023;23824:49;1031:33023;23876:20;;1031:33023;23824:72;1031:33023;23911:37;;1031:33023;23824:124;1031:33023;23951:31;;1031:33023;23824:158;1031:33023;23985:20;;1031:33023;23824:181;1031:33023;24020:28;;1031:33023;23824:224;24066:33;1031:33023;;24184:28;24296:108;24184:28;;;10020:20;9803:28;;;1031:33023;9834:20;;;1031:33023;1679:4;9873:37;;;1031:33023;1679:4;9913:31;;;1031:33023;1679:4;9947:26;;;1031:33023;1679:4;10020:20;;1031:33023;;9633:424;;24184:28;1031:33023;;;;3472:23:32;;1031:33023:27;;;24296:108;;;;;:::i;:::-;1031:33023;24423:54;-1:-1:-1;;;;;1031:33023:27;;;;24463:13;;1031:33023;24423:54;;:::i;:::-;1031:33023;;;24575:9;1679:4;;24566:41;24562:138;;1031:33023;24773:9;-1:-1:-1;;;;;1031:33023:27;24773:9;24796:17;;1031:33023;;24796:31;;:62;;;;1031:33023;24792:186;;;1031:33023;25036:9;;;25021:24;25036:9;;25021:24;;:::i;:::-;1031:33023;25049:3;1031:33023;;;;;;25049:3;1031:33023;;;;;;;;;;;;;;;;;;;25195:9;1679:4;;25207:25;;1031:33023;1679:4;1031:33023;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;24792:186;25021:24;24911:56;;;;;;;:::i;:::-;24874:93;;24792:186;;;;;;24796:62;;;;;;24562:138;1031:33023;;;-1:-1:-1;;;24634:51:27;;1031:33023;24634:51;;1031:33023;;;;;;;;;;;;;;;;;;;;;;24634:51;;;;1031:33023;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;24634:51;1031:33023;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;:::i;:::-;4109:10:31;1031:33023:27;;;;;4146:10:31;1031:33023:27;;;4146:10:31;1031:33023:27;;;;;;;;4174:9:31;;;1031:33023:27;;;;;;4226:21:31;;1031:33023:27;;4320:15:31;-1:-1:-1;1031:33023:27;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;4109:10:31;;4471:50;;;1031:33023:27;4549:38:31;;;;:::i;:::-;;1031:33023:27;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3628:10:31;1031:33023:27;;;;;3657:20:31;1031:33023:27;;;3657:20:31;1031:33023:27;;;;;;;3657:25:31;;;1031:33023:27;;;;;;;;3787:15:31;1031:33023:27;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;3628:10:31;;3912:39;;1031:33023:27;;3912:39:31;1031:33023:27;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;-1:-1:-1;;1031:33023:27;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2894:15:27;;:::i;:::-;1031:33023;;;;;2894:38;;;;;;-1:-1:-1;;;2894:38:27;;;1031:33023;2894:38;;1031:33023;;;;;;:::i;:::-;2894:38;;;;;;;;;;;-1:-1:-1;;;;;2894:38:27;1031:33023;2894:38;;;;1031:33023;2949:27;;;;1031:33023;;;2949:27;2894:38;;;;1031:33023;2894:38;1031:33023;2894:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1031:33023;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6099:5:20;:41;:5;:41;:::i;:::-;6554:8;:47;:8;:47;:::i;:::-;1031:33023:27;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:20;;1031:33023:27;;;;5625:4:20;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25525:9;;;;25574:17;;;25629:7;;;;;:::i;:::-;25670:21;;;:::i;:::-;25647:20;;;1031:33023;;25886:28;;1031:33023;25947:26;1031:33023;25947:26;;;;1031:33023;25947:49;25999:20;;;1031:33023;25947:72;26034:37;;;1031:33023;25947:124;26074:31;;;1031:33023;25947:158;26108:20;;;1031:33023;25947:181;26143:28;;;1031:33023;25947:224;26189:33;1031:33023;;26288:28;;10020:20;9803:28;;;1031:33023;9834:20;;;1031:33023;1679:4;9873:37;;;1031:33023;1679:4;9913:31;;;1031:33023;1679:4;9947:26;;;1031:33023;1679:4;10020:20;;1031:33023;;9633:424;;26288:28;26415:9;26441:54;26343:82;26415:9;26343:82;;;;;:::i;:::-;1031:33023;25647:20;-1:-1:-1;;;;;1031:33023:27;;;26481:13;;1031:33023;26441:54;;:::i;:::-;26440:55;26436:140;;26623:9;1679:4;;26614:41;26610:138;;26821:9;27154:24;26821:9;;;26074:31;26034:37;26821:9;;26912:17;1031:33023;26912:17;;1031:33023;25999:20;26961:23;;;1031:33023;27063:9;1679:4;;27075:25;;1031:33023;1679:4;27033:18;;1031:33023;27169:9;27154:24;;:::i;:::-;27182:3;1031:33023;;;;;;27182:3;1031:33023;;;;;;;27189:3;1031:33023;25999:20;1031:33023;;;;;;25647:20;1031:33023;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;25647:20;1031:33023;;;;;;;;;;;;;;;;24634:51;1031:33023;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;507:19:0;1031:33023:27;;;-1:-1:-1;;;;;1031:33023:27;;-1:-1:-1;1031:33023:27;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;507:55:0;1031:33023:27;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13735:31;;13882:17;-1:-1:-1;;;;;1031:33023:27;13882:17;;13937:7;;;;:::i;:::-;13978:21;;;:::i;:::-;13955:20;;;1031:33023;14030:28;;10020:20;9803:28;;;1031:33023;9834:20;;;1031:33023;1679:4;9873:37;;;1031:33023;1679:4;9913:31;;;1031:33023;1679:4;9947:26;;;1031:33023;1679:4;10020:20;;1031:33023;;9633:424;;14030:28;1031:33023;14010:17;;1031:33023;14072:17;1031:33023;;14068:155;;1031:33023;;;;;;;;;;13955:20;1031:33023;;;;;;;;14068:155;14156:56;;;;;:::i;:::-;14119:93;;14068:155;;;;;;1031:33023;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;:::i;:::-;;;4820:10:31;;1031:33023:27;;;;;;;;;;;4896:32:31;;;;1031:33023:27;;4983:31:31;;;;-1:-1:-1;;;;;4983:31:31;;;;;;;;:::i;:::-;1031:33023:27;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;4820:10:31;;5029:54;;;1031:33023:27;5111:47:31;;;;:::i;:::-;;1031:33023:27;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;-1:-1:-1;;;;;1031:33023:27;;;:::i;:::-;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;279:74:0;1031:33023:27;;;279:74:0;1031:33023:27;-1:-1:-1;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;1092:197:32;1031:33023:27;;;;;;;;;;;;;;;;;3445:20;;:::i;1031:33023::-;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6820:14;;;6868:20;1031:33023;6868:20;;1031:33023;;;7278:19;;7274:703;;1031:33023;8040:9;;;;;1031:33023;;1679:4;1031:33023;;1679:4;;;8088:48;1031:33023;28175:9;;28283:14;;1031:33023;31905:20;;1031:33023;;31970:28;;1031:33023;405:35:26;1031:33023:27;2102:12:26;;;2117:13;;2102:38;;1679:4:27;3696:5:10;;;;;;:13;;;28704:60:27;-1:-1:-1;;;;;1031:33023:27;28392:17;;1031:33023;;28743:20;1031:33023;28743:20;;1031:33023;1679:4;;;28704:60;:::i;:::-;1679:4;;1031:33023;;28840:23;1031:33023;;-1:-1:-1;;1031:33023:27;-1:-1:-1;;;;;1031:33023:27;;28836:1846;30717:9;1679:4;;;;1031:33023;;;30865:23;;;30861:626;30865:23;;;1031:33023;31098:146;;;;;30861:626;1031:33023;1679:4;;;;31358:40;1679:4;;31358:40;-1:-1:-1;;;;;1031:33023:27;1822:8:31;1031:33023:27;1822:8:31;1031:33023:27;;;1822:8:31;1031:33023:27;;;;1679:4;1031:33023;;;1674:305:31;;31358:40:27;;1031:33023;;;;;;;;;;28836:1846;28952:25;;;;1031:33023;;;28995:1673;;28836:1846;;;;;;28995:1673;29122:9;;;;;;;29252;1031:33023;29252:9;29325:31;;1031:33023;;;29291:160;;;;;;1031:33023;;;;;;;29291:160;;;;;;1031:33023;29291:160;;;1031:33023;29291:160;;1031:33023;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29291:160;;;;;;;28995:1673;-1:-1:-1;29287:901:27;;1204:349:9;;1679:4:27;1204:349:9;;;;29287:901:27;1031:33023;1204:349:9;;1031:33023:27;1204:349:9;;;;1031:33023:27;1204:349:9;;;;;1031:33023:27;1204:349:9;;;1031:33023:27;;;30011:150;;;-1:-1:-1;;;30011:150:27;;1031:33023;30011:150;;1031:33023;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1679:4:27;;-1:-1:-1;1204:349:9;;29287:901:27;30581:68;29287:901;30254:9;1679:4;;30525:9;;1679:4;;1031:33023;;30581:68;;:::i;:::-;28995:1673;;;;;;29291:160;;;;;1031:33023;29291:160;;:::i;:::-;1031:33023;29291:160;;;;;1031:33023;;;3696:13:10;;;;;;2102:38:26;;;;7274:703:27;1031:33023;;;;;-1:-1:-1;;;;;1031:33023:27;;;;378:118:9;;;;7398:8:27;7394:573;;7274:703;;;;;;7394:573;1204:349:9;1679:4:27;1204:349:9;;;;7394:573:27;1679:4;1204:349:9;1031:33023:27;1204:349:9;;1031:33023:27;1204:349:9;;;;1031:33023:27;1204:349:9;;;;1031:33023:27;;1204:349:9;;;1031:33023:27;;7514:25;;;;;;1031:33023;;7514:25;;1679:4;1031:33023;1679:4;;;;:::i;1204:349:9:-;-1:-1:-1;1679:4:27;1204:349:9;;1031:33023:27;;;;;;-1:-1:-1;;1031:33023:27;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;913:10:0;1031:33023:27;;893:19:0;1031:33023:27;;-1:-1:-1;;;;;1031:33023:27;;;893:36:0;1031:33023:27;;;;;;;;893:38:0;1031:33023:27;;893:38:0;:::i;:::-;1031:33023:27;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;3011:10:31;1031:33023:27;;;;;;;;3040:19:31;;;1031:33023:27;;3127:20:31;;;;1031:33023:27;;;;;;3108:39:31;;1031:33023:27;;;;;;;3219:9:31;;1031:33023:27;;;;;;;3246:9:31;;1031:33023:27;;;3296:26:31;;1031:33023:27;;;;;;;;;;:::i;:::-;;;3127:20:31;1031:33023:27;3374:67:31;;;1031:33023:27;;;;;;;3374:67:31;;;1031:33023:27;;;3374:67:31;;;1031:33023:27;;;-1:-1:-1;3374:67:31;;;1031:33023:27;;;3011:10:31;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;3456:47:31;1031:33023:27;3011:10:31;3456:47;;1031:33023:27;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1031:33023:27;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1031:33023:27;;;;;;:::o;:::-;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;-1:-1:-1;;1031:33023:27;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2989:114::-;1031:33023;;;3076:20;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;3076:20:27;;;3069:27;2989:114;:::o;3076:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;1031:33023;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;2989:114;:::o;3076:20::-;;;-1:-1:-1;3076:20:27;;;1031:33023;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1031:33023:27;;;;:::o;:::-;;;:::o;2469:300::-;3445:249:21;2469:300:27;2600:54;;;:::i;:::-;3445:20;;:::i;:::-;1701:13:32;;;;:::i;:::-;1785:82;:25;;;;:82;;2083:14;1915:15;;;;;;:::i;:::-;3287:193:10;;;;;;;;2153:23:32;;;;;;;:::i;:::-;3287:193:10;;;;;;;;1031:33023:27;3287:193:10;1031:33023:27;2195:281:32;-1:-1:-1;;;;;1740:12:32;2195:281;;1031:33023:27;1092:197:32;1031:33023:27;;;3287:193:10;1031:33023:27;;;1740:12:32;;;1031:33023:27;1915:15:32;1031:33023:27;;;1968:23:32;1031:33023:27;;;2030:25:32;1031:33023:27;;;1968:23:32;;;1031:33023:27;;;;;2030:25:32;;;1031:33023:27;2153:23:32;1031:33023:27;;;2083:14:32;1031:33023:27;;;;;;;;;;2195:281:32;;;;;;:::i;:::-;1031:33023:27;5014:47:32;;3287:193:10;3445:249:21;;;;;;;;;;;;;;2469:300:27;:::o;1785:82:32:-;1851:15;;;;;;;:::i;:::-;3287:193:10;;1851:15:32;3287:193:10;;;;;1785:82:32;;;1181:103:15;;;;637:66;3321:69:19;1413:93:15;;1624:4;637:66;3550:68:19;2202:49:27;1031:33023;;-1:-1:-1;;;2202:49:27;;1031:33023;2202:49;;;1031:33023;;;;;;;;;;;;;;;;2202:49;1413:93:15;1465:30;-1:-1:-1;1465:30:15;;-1:-1:-1;1465:30:15;1031:33023:27;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;-1:-1:-1;;1031:33023:27;;;;:::o;2687:179:31:-;2829:30;1031:33023:27;-1:-1:-1;;;;;2777:37:31;2804:9;2777:37;-1:-1:-1;;;;;1031:33023:27;1822:8:31;1031:33023:27;1822:8:31;1031:33023:27;;;1822:8:31;1031:33023:27;;;;1679:4;1031:33023;;;1674:305:31;;2777:37;1031:33023:27;;;;;;;2829:30:31;;2687:179::o;3845:262:20:-;-1:-1:-1;;;;;3938:11:20;1031:33023:27;3929:4:20;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;1031:33023:27;;4204:80:20;;;1031:33023:27;2079:95:20;1031:33023:27;;4226:11:20;1031:33023:27;2079:95:20;;1031:33023:27;4239:14:20;2079:95;;;1031:33023:27;4255:13:20;2079:95;;;1031:33023:27;3929:4:20;2079:95;;;1031:33023:27;2079:95:20;4204:80;;;;;;:::i;:::-;1031:33023:27;4194:91:20;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;1031:33023:27;;-1:-1:-1;;;;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8343:1086::-;8901:23;8343:1086;-1:-1:-1;;;;;8515:13:27;;;:::i;:::-;1031:33023;;;8554:12;;;1031:33023;8554:12;8538:13;;1031:33023;8660:23;;;1031:33023;475:2:32;1031:33023:27;8660:23;1031:33023;475:2:32;;8607:20:27;;;1031:33023;8577:28;;;1031:33023;8723:25;;;1031:33023;8694:26;;;1031:33023;8694:26;8842:14;;1031:33023;475:2:32;1031:33023:27;8660:23;1031:33023;475:2:32;;8789:20:27;;;1031:33023;8759:28;;;1031:33023;8901:23;;;;;:::i;:::-;8938:27;;;8934:489;;8343:1086;;;:::o;8934:489::-;531:2:32;8989:65:27;;531:2:32;;1031:33023:27;413:2:32;1031:33023:27;;;413:2:32;;8607:20:27;413:2:32;;475;1031:33023:27;-1:-1:-1;1031:33023:27;;413:2:32;1031:33023:27;;475:2:32;;531;1031:33023:27;;;475:2:32;;4562:76;;1031:33023:27;475:2:32;8660:23:27;475:2:32;;8723:25:27;9184:31;;1031:33023;8660:23;475:2:32;;8660:23:27;9145:37;;1031:33023;9319:23;;531:2:32;;8901:23:27;9383:17;1031:33023;8343:1086::o;531:2:32:-;;8577:28:27;1031:33023;-1:-1:-1;;;531:2:32;;8554:12:27;531:2:32;;;;;475;531;;1031:33023:27;531:2:32;1031:33023:27;;;531:2:32;;;;8577:28:27;1031:33023;-1:-1:-1;;;531:2:32;;8554:12:27;531:2:32;;;;;;;;1031:33023:27;531:2:32;1031:33023:27;;;531:2:32;;16644:974:27;;;;;16909:9;16962:14;;;17010:17;-1:-1:-1;;;;;17010:17:27;;;1031:33023;;17067:14;17100:48;17067:14;;;1031:33023;;;17100:48;;:::i;:::-;17099:49;17095:146;;-1:-1:-1;;;;;;17010:17:27;17972:91;17287:37;;;17972:91;17287:37;;;;1031:33023;33278:67;17972:91;17067:14;33278:67;18028:17;;;;;;1031:33023;;;17972:91;18028:17;17972:91;;;;;;;;;:::i;:::-;;1031:33023;;17972:91;;;;;;:::i;:::-;18093:14;:24;1031:33023;;18363:1229;;;;;;;;;;;-1:-1:-1;18363:1229:27;;;;;;17067:14;18363:1229;;;;;19630:8;;1031:33023;;;19630:31;;16644:974;19630:72;;;;;16644:974;19626:205;;;1031:33023;;;;;;4020:413:10;;;17067:14:27;4020:413:10;17338:101:27;17466:9;;1679:4;;17457:43;17453:149;;16644:974;;:::o;17453:149::-;17527:60;;;-1:-1:-1;;;17527:60:27;;;;;1031:33023;17067:14;17972:91;1031:33023;;;;;;;;;;;;;;;;;;17527:60;19626:205;1204:349:9;;1679:4:27;1204:349:9;;;;19626:205:27;17067:14;1204:349:9;;18028:17:27;1204:349:9;;;;17067:14:27;1204:349:9;;;;-1:-1:-1;18028:17:27;1204:349:9;;;1031:33023:27;17067:14;1031:33023;19729:87;;;-1:-1:-1;;;19729:87:27;;17972:91;19729:87;;1031:33023;;17972:91;1031:33023;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1679:4:27;;-1:-1:-1;1204:349:9;;19630:72:27;18363:1229;;19681:2;18363:1229;;;;1679:4;;19665:37;19630:72;;;:31;17067:14;19642:19;;;-1:-1:-1;19630:31:27;;;17095:146;17175:51;1031:33023;17067:14;1031:33023;17175:51;-1:-1:-1;;;17175:51:27;;;;;1031:33023;17067:14;1031:33023;;;;;;;;;;;;;;17175:51;896:503:29;1042:15;;;;;;:::i;:::-;1072:28;;;;;;:::i;:::-;1071:29;1067:68;;1183:13;;;:::i;:::-;2688:113;1031:33023:27;2688:113:29;;;1031:33023:27;2688:113:29;1031:33023:27;;;;;2939:36:29;2935:241;;-1:-1:-1;3222:2:29;1031:33023:27;;1230:2:29;1211:21;;1230:2;;-1:-1:-1;;1042:15:29;1031:33023:27;-1:-1:-1;;1031:33023:27;;;1265:26:29;;;1031:33023:27;;;1230:2:29;1265:26;;;;;1031:33023:27;1265:26:29;:::i;1207:186::-;1031:33023:27;1230:2:29;1031:33023:27;;;1042:15:29;1031:33023:27;-1:-1:-1;;1031:33023:27;;;1340:41:29;;;;1031:33023:27;;;1340:41:29;;1031:33023:27;1340:41:29;;1031:33023:27;;1340:41:29;-1:-1:-1;;1031:33023:27;;;1230:2:29;1031:33023:27;;;;;;;;;;;;1340:41:29;;1031:33023:27;;1340:41:29;;;;;;:::i;2935:241::-;3072:18;:22;449:8;;3131:34;1042:15;1031:33023:27;-1:-1:-1;;;3131:34:29;;449:8;3131:34;;;449:8;;;;;1031:33023:27;449:8:29;1031:33023:27;;;449:8:29;3131:34;449:8;;1042:15;1031:33023:27;-1:-1:-1;;;449:8:29;;;;;;;;;;;1031:33023:27;449:8:29;1031:33023:27;;;449:8:29;;1067:68;1116:8;;;1031:33023:27;1116:8:29;:::o;12469:1091:27:-;;;;;;12796:14;;1031:33023;-1:-1:-1;;;;;12954:17:27;1031:33023;;;;12908:11;;;;;;;;:::i;:::-;;;;;:::i;:::-;12954:17;1031:33023;;12985:31;-1:-1:-1;13034:23:27;;13030:182;;;;12469:1091;-1:-1:-1;15219:17:27;15018:14;;15174:85;15018:14;15174:85;-1:-1:-1;;;;;15018:14:27;;;1031:33023;;15049:12;12908:11;33278:67;15219:17;;;;1031:33023;15174:85;;;;;;;;;;;:::i;:::-;;1031:33023;;15174:85;;;;;;:::i;:::-;15273:326;;;;;;;;-1:-1:-1;15273:326:27;;15219:17;15273:326;;;;12469:1091;33561:66;12908:11;33561:66;15664:8;15660:286;;13225:100;;;13339:205;;;12469:1091;;;:::o;13339:205::-;13391:45;;;:::i;:::-;13390:46;13386:144;;12469:1091;:::o;13386:144::-;13467:44;1031:33023;12908:11;1031:33023;13467:44;-1:-1:-1;;;13467:44:27;;;;;1031:33023;12908:11;15174:85;1031:33023;;;;;;;;;;;;;13467:44;15660:286;15692:18;;;;;;15742:46;1031:33023;12908:11;1031:33023;15742:46;-1:-1:-1;;;15742:46:27;;15174:85;15742:46;;1031:33023;12908:11;15174:85;1031:33023;;;;;;;;;;;;;15742:46;15688:248;1204:349:9;;1679:4:27;1204:349:9;;;;15688:248:27;-1:-1:-1;1204:349:9;15219:17:27;1204:349:9;;;;12908:11:27;1204:349:9;;;;;1031:33023:27;12908:11;1031:33023;15834:87;;;-1:-1:-1;;;15834:87:27;;15174:85;15834:87;;1031:33023;;15174:85;1031:33023;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1679:4:27;;-1:-1:-1;1204:349:9;;15273:326:27;;-1:-1:-1;15273:326:27;;13030:182;1031:33023;;;15219:17;-1:-1:-1;1031:33023:27;;;;;;;;12908:11;1031:33023;;;13148:21;;;;;;;:49;15174:85;13148:49;;13030:182;;;;;;;;;;13148:49;15174:85;1679:4;;;13148:49;;1187:234:0;-1:-1:-1;;;;;1031:33023:27;-1:-1:-1;1031:33023:27;1373:19:0;1031:33023:27;;1317:2:0;-1:-1:-1;1031:33023:27;-1:-1:-1;;;;;1031:33023:27;1317:2:0;1031:33023:27;;-1:-1:-1;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;;;;1373:34:0;;;;:::i;:::-;1031:33023:27;;;1373:41:0;1187:234;:::o;33639:413:27:-;;1926:5;1679:4;;33774:43;;;33770:90;;33995:3;1679:4;1812:2;1679:4;;1031:33023;;33639:413;:::o;33770:90::-;33837:8;;1031:33023;33837:8;:::o;2250:397:31:-;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;2484:23:31;;;2480:74;;1679:4:27;1031:33023;;2626:4:31;2250:397;:::o;1031:33023:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1031:33023:27;;;;;18363:1229;1031:33023;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1031:33023:27;;;;;18363:1229;1031:33023;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1031:33023:27;;;;;18363:1229;1031:33023;:::i;:::-;;;;;;;;:::o;1712:551:29:-;;1826:1;-1:-1:-1;1804:62:29;;2015:95;-1:-1:-1;;413:2:32;1031:33023:27;2207:49:29;;1712:551::o;1804:62::-;1843:12;1031:33023:27;1843:12:29;:::o;10311:1671:27:-;;;;;10480:1;10461:20;;10457:1519;;10311:1671;;;;;;:::o;10457:1519::-;-1:-1:-1;;;;;10514:14:27;;1031:33023;;10553:43;;;;;:::i;:::-;10549:495;;11061:18;;11057:121;;11213:2;11195:20;;11191:110;;11332:15;1031:33023;-1:-1:-1;;;;;11332:15:27;;:::i;:::-;1031:33023;11366:35;:14;;:35;1031:33023;11366:35;1031:33023;11332:80;;;;-1:-1:-1;;;11332:80:27;;;;;;1031:33023;;;;;;;;;;:::i;:::-;11332:80;;;;;;;;;;;;10457:1519;1031:33023;-1:-1:-1;;;;;1031:33023:27;;11430:21;;11426:115;;11558:17;;11554:116;;11687:19;:24;11683:123;;1031:33023;11213:2;1031:33023;;;11888:77;11845:23;11366:35;11845:23;413:2:32;;-1:-1:-1;;;;;1031:33023:27;;11904:17;;1031:33023;11940:14;;:24;1031:33023;;-1:-1:-1;;;;;1031:33023:27;;413:2:32;;;;1031:33023:27;;;;;;11888:77;10457:1519;;;;;;;11683:123;11738:53;1031:33023;11366:35;1031:33023;11738:53;-1:-1:-1;;;11738:53:27;;11332:80;11738:53;;1031:33023;11366:35;1031:33023;;;;;;;;;;;;;;11738:53;11554:116;11602:53;1031:33023;11366:35;1031:33023;11602:53;-1:-1:-1;;;11602:53:27;;11332:80;11602:53;;1031:33023;11366:35;1031:33023;;;;;;;;;;;;;;11602:53;11426:115;11478:48;1031:33023;11366:35;1031:33023;11478:48;-1:-1:-1;;;11478:48:27;;11332:80;11478:48;;1031:33023;11366:35;1031:33023;;;;;;;;;;;;;;11478:48;11332:80;;;;1031:33023;11332:80;1031:33023;11332:80;;;;;;;:::i;:::-;;;;;11366:35;1031:33023;;;;;;;;11191:110;11242:44;1031:33023;;;11242:44;-1:-1:-1;;;11242:44:27;;;;;1031:33023;;;;;;;;;;;;;;;;11242:44;11057:121;11111:52;1031:33023;;;11111:52;-1:-1:-1;;;11111:52:27;;;;;1031:33023;;;;;;;;;;;;;;;;11111:52;10549:495;10620:20;;;;10638:2;10620:20;;10616:390;;10549:495;11023:7;;;;:::o;10616:390::-;10928:35;-1:-1:-1;;;;;10889:15:27;;:::i;:::-;1031:33023;10928:14;;:35;1031:33023;;;10638:2;1031:33023;;;10889:98;;;;;10480:1;1031:33023;;;;10928:35;1031:33023;10889:98;;;;;;;1031:33023;10889:98;;;;;1031:33023;10928:35;1031:33023;;;;10638:2;1031:33023;;;;;;;;;;:::i;:::-;10889:98;;;;;;;;;10616:390;;;;;;10889:98;10480:1;10889:98;;;:::i;:::-;10480:1;10889:98;;3358:267:16;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1031:33023:27;;;;;;;:::i;:::-;2311:2:16;1031:33023:27;;;;;;;;;;;2324:106:16;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:16;;-1:-1:-1;2713:20:16;3477:142;1031:33023:27;;;-1:-1:-1;6126:13:20;1390:66:16;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1031:33023:27;;;;;;1390:66:16;;;;;;;;;;;;;;;;:::i;:::-;3596:12;:::o;1390:66::-;-1:-1:-1;6126:13:20;-1:-1:-1;1390:66:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1031:33023:27;;1390:66:16;1031:33023:27;;;;;1390:66:16;1031:33023:27;;;1390:66:16;;;;;;;;;;;-1:-1:-1;;;;1390:66:16;;;;;-1:-1:-1;1390:66:16;;;;;;;;3358:267;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1031:33023:27;;;;;;;:::i;3477:142:16:-;1031:33023:27;;;-1:-1:-1;6584:16:20;1390:66:16;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1031:33023:27;;;;;;1390:66:16;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6584:16:20;-1:-1:-1;1390:66:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"1906":[{"start":7688,"length":32}],"1908":[{"start":7877,"length":32}],"1910":[{"start":7641,"length":32}],"1912":[{"start":7767,"length":32}],"1914":[{"start":7805,"length":32}],"1917":[{"start":2450,"length":32}],"1920":[{"start":2492,"length":32}]}},"methodIdentifiers":{"_accountValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"69683cfa","_paymasterValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"21e60b37","_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":"c579f76b","addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","delegateAndRevert(address,bytes)":"850aaf62","depositTo(address)":"b760faf9","eip712Domain()":"84b0196e","getDepositInfo(address)":"5287ce12","getDomainSeparatorV4()":"13c65a6e","getNonce(address,uint192)":"35567e1a","getPackedUserOpTypeHash()":"154e58dc","getSenderAddress(bytes)":"9b249f69","getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"22cdde4c","handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)":"dbed18e0","handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)":"765e827f","incrementNonce(uint192)":"0bd28e3b","innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":"0da82661","nonceSequenceNumber(address,uint192)":"1b2e01b8","senderCreator()":"09ccb880","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"CallPhaseReverted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"name\":\"DelegateAndRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"PostOpRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureAggregatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasUsed\",\"type\":\"uint256\"}],\"name\":\"UserOperationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"UserOperationPrefundTooLow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"UserOperationRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_accountValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_paymasterValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"validatePaymasterPrepayment\",\"type\":\"bool\"}],\"name\":\"_validatePrepayment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"delegateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"preGas\",\"type\":\"uint256\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:notice\":\"This EntryPoint closely resembles the actual EntryPoint with some diffs seen at https://www.diffchecker.com/a5ngpwSm/\",\"errors\":{\"FailedOp(uint256,string)\":[{\"params\":{\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. The string starts with a unique code \\\"AAmn\\\", where \\\"m\\\" is \\\"1\\\" for factory, \\\"2\\\" for account and \\\"3\\\" for paymaster issues, so a failure can be attributed to the correct entity.\"}}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"details\":\"note that inner is truncated to 2048 bytes\",\"params\":{\"inner\":\"- data from inner cought revert reason\",\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. see FailedOp(uint256,string), above\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SignatureValidationFailed(address)\":[{\"params\":{\"aggregator\":\"The aggregator that failed to verify the signature\"}}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"params\":{\"factory\":\"- The factory used to deploy this account (in the initCode)\",\"paymaster\":\"- The paymaster used by this UserOp\",\"sender\":\"- The account that is deployed\",\"userOpHash\":\"- The userOp that deployed this account. UserOperationEvent will follow.\"}},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"params\":{\"opIndex\":\"- The index of this userOp into the \\\"opInfos\\\" array.\",\"outOpInfo\":\"- The empty unpacked in-memory UserOperation structure that will be filled in here.\",\"userOp\":\"- The packed calldata UserOperation structure to validate.\"},\"returns\":{\"paymasterValidationData\":\"- The paymaster's validationData.\",\"validationData\":\" - The account's validationData.\"}},\"addStake(uint32)\":{\"params\":{\"_unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"delegateAndRevert(address,bytes)\":{\"details\":\"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.\",\"params\":{\"data\":\"data to pass to target in a delegatecall\",\"target\":\"a target contract to make a delegatecall from entrypoint\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"- The constructor code to be passed into the UserOperation.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"notice\":\"A custom revert error of handleOps, to identify the offending op. Should be caught in off-chain handleOps simulation and not happen on-chain. Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts. NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\"}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"notice\":\"A custom revert error of handleOps, to report a revert by account or paymaster.\"}],\"SignatureValidationFailed(address)\":[{\"notice\":\"Error case when a signature aggregator fails to verify the aggregated signature it had created.\"}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"notice\":\"Account \\\"sender\\\" was deployed.\"},\"BeforeExecution()\":{\"notice\":\"An event emitted by handleOps(), before starting the execution loop. Any event emitted before this event, is part of the validation.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation Paymaster's \\\"postOp\\\" call reverted with non-zero length.\"},\"SignatureAggregatorChanged(address)\":{\"notice\":\"Signature aggregator used by the following UserOperationEvents within this bundle.\"},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"notice\":\"UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length.\"}},\"kind\":\"user\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"notice\":\"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)\"},\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"delegateAndRevert(address,bytes)\":{\"notice\":\"Helper method for dry-run testing.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"getNonce(address,uint192)\":{\"notice\":\"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order.\"},\"getSenderAddress(bytes)\":{\"notice\":\"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error\"},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"notice\":\"Inner function to handle a UserOperation. Must be declared \\\"external\\\" to open a call context, but it can only be called by handleOps.\"},\"nonceSequenceNumber(address,uint192)\":{\"notice\":\"The next valid sequence number for a given nonce key.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v08/EntryPoint.sol\":\"EntryPoint\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6\",\"dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577\",\"dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]},\"lib/account-abstraction-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol\":{\"keccak256\":\"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79\",\"dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/SimulationOverrideHelper.sol\":{\"keccak256\":\"0x98850f986164c992b840ba8e878814c459be0852debe8ad8d69140c09c6b05c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a57d5979f5557ccbc6947c3f6b5b6ec10f152609b9d11c265b20d925d915b559\",\"dweb:/ipfs/QmcA4kpMCnjCfEyky32w5S8qXzvvchZJhMBvJvmBp5tcep\"]},\"src/v08/EntryPoint.sol\":{\"keccak256\":\"0x8d889771da572658d9d4cc2aeeb8145c2fcc55b20fc160732ee3b3ecf27623ac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7a5dab7432771386b816248df9c417987426667319024e13fd3d0056ca3efc7b\",\"dweb:/ipfs/QmZ9h8CUHWwzxVwXxW8nSDbcttnmstXzUgDCdEoWXzYauN\"]},\"src/v08/overrides/Eip7702Support.sol\":{\"keccak256\":\"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b\",\"dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW\"]},\"src/v08/overrides/SenderCreator.sol\":{\"keccak256\":\"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b\",\"dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96\"]},\"src/v08/overrides/StakeManager.sol\":{\"keccak256\":\"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c\",\"dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn\"]},\"src/v08/overrides/UserOperationLib.sol\":{\"keccak256\":\"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3\",\"dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"type":"error","name":"CallPhaseReverted"},{"inputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"ret","type":"bytes"}],"type":"error","name":"DelegateAndRevert"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailedOp"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"inner","type":"bytes"}],"type":"error","name":"FailedOpWithRevert"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"type":"error","name":"PostOpReverted"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"SenderAddressResult"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"type":"error","name":"SignatureValidationFailed"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"factory","type":"address","indexed":false},{"internalType":"address","name":"paymaster","type":"address","indexed":false}],"type":"event","name":"AccountDeployed","anonymous":false},{"inputs":[],"type":"event","name":"BeforeExecution","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalDeposit","type":"uint256","indexed":false}],"type":"event","name":"Deposited","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"PostOpRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"aggregator","type":"address","indexed":true}],"type":"event","name":"SignatureAggregatorChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256","indexed":false}],"type":"event","name":"StakeLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"withdrawTime","type":"uint256","indexed":false}],"type":"event","name":"StakeUnlocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"StakeWithdrawn","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"paymaster","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"actualGasCost","type":"uint256","indexed":false},{"internalType":"uint256","name":"actualGasUsed","type":"uint256","indexed":false}],"type":"event","name":"UserOperationEvent","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"UserOperationPrefundTooLow","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"UserOperationRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_accountValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_paymasterValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bool","name":"validatePaymasterPrepayment","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"_validatePrepayment","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"delegateAndRevert"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"payable","type":"function","name":"depositTo"},{"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":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getDepositInfo","outputs":[{"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple","components":[{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"bool","name":"staked","type":"bool"},{"internalType":"uint112","name":"stake","type":"uint112"},{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"},{"internalType":"uint48","name":"withdrawTime","type":"uint48"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDomainSeparatorV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getPackedUserOpTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"initCode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"getSenderAddress"},{"inputs":[{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"getUserOpHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"struct IEntryPoint.UserOpsPerAggregator[]","name":"","type":"tuple[]","components":[{"internalType":"struct PackedUserOperation[]","name":"userOps","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"contract IAggregator","name":"aggregator","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleAggregatedOps"},{"inputs":[{"internalType":"struct PackedUserOperation[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleOps"},{"inputs":[{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"nonpayable","type":"function","name":"incrementNonce"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"struct EntryPoint.UserOpInfo","name":"opInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"uint256","name":"preGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"innerHandleOp","outputs":[{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint192","name":"","type":"uint192"}],"stateMutability":"view","type":"function","name":"nonceSequenceNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"senderCreator","outputs":[{"internalType":"contract ISenderCreator","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"params":{"opIndex":"- The index of this userOp into the \"opInfos\" array.","outOpInfo":"- The empty unpacked in-memory UserOperation structure that will be filled in here.","userOp":"- The packed calldata UserOperation structure to validate."},"returns":{"paymasterValidationData":"- The paymaster's validationData.","validationData":" - The account's validationData."}},"addStake(uint32)":{"params":{"_unstakeDelaySec":"- The new lock duration before the deposit can be withdrawn."}},"balanceOf(address)":{"params":{"account":"- The account to query."},"returns":{"_0":"- The deposit (for gas payment) of the account."}},"delegateAndRevert(address,bytes)":{"details":"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.","params":{"data":"data to pass to target in a delegatecall","target":"a target contract to make a delegatecall from entrypoint"}},"depositTo(address)":{"params":{"account":"- The account to add to."}},"eip712Domain()":{"details":"See {IERC-5267}."},"getDepositInfo(address)":{"params":{"account":"- The account to query."},"returns":{"info":" - Full deposit information of given account."}},"getNonce(address,uint192)":{"params":{"key":"the high 192 bit of the nonce","sender":"the account address"},"returns":{"nonce":"a full nonce to pass for next UserOp with this sender."}},"getSenderAddress(bytes)":{"params":{"initCode":"- The constructor code to be passed into the UserOperation."}},"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"params":{"userOp":"- The user operation to generate the request ID for."},"returns":{"_0":"hash the hash of this UserOperation"}},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"params":{"callData":"- The callData to execute.","context":"- The context bytes.","opInfo":"- The UserOpInfo struct."},"returns":{"actualGasCost":"- the actual cost in eth this UserOperation paid for gas"}},"withdrawStake(address)":{"params":{"withdrawAddress":"- The address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"withdrawAddress":"- The address to send withdrawn value.","withdrawAmount":"- The amount to withdraw."}}},"version":1},"userdoc":{"kind":"user","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"notice":"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)"},"addStake(uint32)":{"notice":"Add to the account's stake - amount and delay any pending unstake is first cancelled."},"balanceOf(address)":{"notice":"Get account balance."},"delegateAndRevert(address,bytes)":{"notice":"Helper method for dry-run testing."},"depositTo(address)":{"notice":"Add to the deposit of the given account."},"getDepositInfo(address)":{"notice":"Get deposit info."},"getNonce(address,uint192)":{"notice":"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order."},"getSenderAddress(bytes)":{"notice":"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error"},"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"notice":"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid."},"incrementNonce(uint192)":{"notice":"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key."},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"notice":"Inner function to handle a UserOperation. Must be declared \"external\" to open a call context, but it can only be called by handleOps."},"nonceSequenceNumber(address,uint192)":{"notice":"The next valid sequence number for a given nonce key."},"unlockStake()":{"notice":"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay."},"withdrawStake(address)":{"notice":"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass."},"withdrawTo(address,uint256)":{"notice":"Withdraw from the deposit."}},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v08/EntryPoint.sol":"EntryPoint"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/core/NonceManager.sol":{"keccak256":"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9","urls":["bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6","dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol":{"keccak256":"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78","urls":["bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020","dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol":{"keccak256":"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c","urls":["bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577","dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol":{"keccak256":"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588","urls":["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155","dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4","urls":["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9","dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol":{"keccak256":"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb","urls":["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3","dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol":{"keccak256":"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f","urls":["bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8","dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"},"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359","urls":["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be","dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/utils/Exec.sol":{"keccak256":"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74","urls":["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77","dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"],"license":"LGPL-3.0-only"},"lib/account-abstraction-v8/contracts/core/Helpers.sol":{"keccak256":"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e","urls":["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f","dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"],"license":"MIT"},"lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol":{"keccak256":"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d","urls":["bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4","dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol":{"keccak256":"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b","urls":["bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79","dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"src/SimulationOverrideHelper.sol":{"keccak256":"0x98850f986164c992b840ba8e878814c459be0852debe8ad8d69140c09c6b05c5","urls":["bzz-raw://a57d5979f5557ccbc6947c3f6b5b6ec10f152609b9d11c265b20d925d915b559","dweb:/ipfs/QmcA4kpMCnjCfEyky32w5S8qXzvvchZJhMBvJvmBp5tcep"],"license":"MIT"},"src/v08/EntryPoint.sol":{"keccak256":"0x8d889771da572658d9d4cc2aeeb8145c2fcc55b20fc160732ee3b3ecf27623ac","urls":["bzz-raw://7a5dab7432771386b816248df9c417987426667319024e13fd3d0056ca3efc7b","dweb:/ipfs/QmZ9h8CUHWwzxVwXxW8nSDbcttnmstXzUgDCdEoWXzYauN"],"license":"GPL-3.0"},"src/v08/overrides/Eip7702Support.sol":{"keccak256":"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c","urls":["bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b","dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW"],"license":"MIT"},"src/v08/overrides/SenderCreator.sol":{"keccak256":"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c","urls":["bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b","dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96"],"license":"GPL-3.0"},"src/v08/overrides/StakeManager.sol":{"keccak256":"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0","urls":["bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c","dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn"],"license":"GPL-3.0"},"src/v08/overrides/UserOperationLib.sol":{"keccak256":"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17","urls":["bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3","dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu"],"license":"MIT"}},"version":1},"id":27}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_accountValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_paymasterValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_validatePrepayment","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"validatePaymasterPrepayment","type":"bool","internalType":"bool"}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addStake","inputs":[{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"delegateAndRevert","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositTo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"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":"getDepositInfo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"info","type":"tuple","internalType":"struct IStakeManager.DepositInfo","components":[{"name":"deposit","type":"uint256","internalType":"uint256"},{"name":"staked","type":"bool","internalType":"bool"},{"name":"stake","type":"uint112","internalType":"uint112"},{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"},{"name":"withdrawTime","type":"uint48","internalType":"uint48"}]}],"stateMutability":"view"},{"type":"function","name":"getDomainSeparatorV4","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPackedUserOpTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"getSenderAddress","inputs":[{"name":"initCode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getUserOpHash","inputs":[{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"handleAggregatedOps","inputs":[{"name":"","type":"tuple[]","internalType":"struct IEntryPoint.UserOpsPerAggregator[]","components":[{"name":"userOps","type":"tuple[]","internalType":"struct PackedUserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"aggregator","type":"address","internalType":"contract IAggregator"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleOps","inputs":[{"name":"","type":"tuple[]","internalType":"struct PackedUserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"incrementNonce","inputs":[{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"innerHandleOp","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"opInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"context","type":"bytes","internalType":"bytes"},{"name":"preGas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"nonceSequenceNumber","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"senderCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISenderCreator"}],"stateMutability":"view"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"withdrawAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AccountDeployed","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"paymaster","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeforeExecution","inputs":[],"anonymous":false},{"type":"event","name":"Deposited","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalDeposit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"PostOpRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"SignatureAggregatorChanged","inputs":[{"name":"aggregator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakeLocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeUnlocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawTime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeWithdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationEvent","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"paymaster","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"actualGasCost","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actualGasUsed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationPrefundTooLow","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CallPhaseReverted","inputs":[{"name":"reason","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"DelegateAndRevert","inputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"FailedOp","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"FailedOpWithRevert","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"},{"name":"inner","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"PostOpReverted","inputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SenderAddressResult","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureValidationFailed","inputs":[{"name":"aggregator","type":"address","internalType":"address"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x610160604052346101275760405161001860408261012b565b600781526020810190664552433433333760c81b82526040519161003d60408461012b565b600183526020830191603160f81b835261005681610162565b61012052610063846102fd565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c08261012b565b5190206080523060c052604051612e559081610436823960805181611e08015260a05181611ec5015260c05181611dd9015260e05181611e5701526101005181611e7d01526101205181610992015261014051816109bc0152f35b5f80fd5b601f909101601f19168101906001600160401b0382119082101761014e57604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f146101dc575090601f81511161019c57602081519101516020821061018d571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161014e57600254600181811c911680156102f3575b60208210146102df57601f81116102ac575b50602092601f821160011461024b57928192935f92610240575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610227565b601f1982169360025f52805f20915f5b868110610294575083600195961061027c575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f808061026e565b9192602060018192868501518155019401920161025b565b60025f52601f60205f20910160051c810190601f830160051c015b8181106102d4575061020d565b5f81556001016102c7565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101fb565b908151602081105f14610328575090601f81511161019c57602081519101516020821061018d571790565b6001600160401b03811161014e57600354600181811c9116801561042b575b60208210146102df57601f81116103f8575b50602092601f821160011461039757928192935f9261038c575b50508160011b915f199060031b1c19161760035560ff90565b015190505f80610373565b601f1982169360035f52805f20915f5b8681106103e057508360019596106103c8575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806103ba565b919260206001819286850151815501940192016103a7565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104205750610359565b5f8155600101610413565b90607f169061034756fe6080806040526004361015610025575b50361561001a575f80fd5b61002333611d76565b005b5f905f3560e01c9081630396cb60146114d55750806309ccb880146114aa5780630bd28e3b146114595780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199e565b91611c58565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179c565b126104cd576040516101ae816117cc565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f32565b6040519961027b84611b2c565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248a565b986103216001600160a01b038651166020870151906126c5565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120aa565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186d565b611d76565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2a565b6001600160a01b0361088f611a58565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d56565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117e9565b810190611d37565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186d565b5060243567ffffffffffffffff81116104d557610973903690600401611a2a565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0d565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d4f565b906020610a42604051936109f483866117e9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a06565b908682036040880152611a06565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186d565b1681528083522054604051908152f35b503461013e57610ae536611897565b9190915a92815193610af78583611f32565b610b0082611b2c565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248a565b9760206001600160a01b03825116910151906126c5565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186d565b8260808551610c778161179c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186d565b916001600160a01b03610d4d611786565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2c565b604051908152f35b503461013e57606090610ddd36611897565b908392935082936001600160a01b0360e08451610dfa8186611f32565b610e0385611b2c565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120aa565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186d565b926001600160a01b03610fc9611786565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dcf565b50346113bb576102203660031901126113bb5760043567ffffffffffffffff81116113bb57611072903690600401611827565b3660231901906101c082126113bb57610140604051926110918461179c565b126113bb576040516110a2816117cc565b6024356001600160a01b03811681036113bb57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113bb5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113bb5761115f903690600401611827565b908251906060820151815190816113cd575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54806113c7575048905b01808210156113bf5750935b6111e86001600160a01b0360e08401511693606084015190830361270c565b01925f928061126e575050516001600160a01b0316935b5a900301010292518381105f14611238576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112619203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611282575b5050506111ff565b9197509192505a9660a05a930191825190823b156113bb575f916112e491836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a06565b8d8d0260448301528d60648301520393f190816113a6575b5061138a573d896108008211611380575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061130d565b61139d915a9003965a900390519061270c565b905f808061127a565b6113b3919a505f906117e9565b5f985f6112fc565b5f80fd5b9050936111c9565b906111bd565b5f80949360206001600160a01b0383965116910192f1156113f1575f808080611171565b3d6108008111611450575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a06565b506108006113fc565b346113bb5760203660031901126113bb576004356001600160c01b03811681036113bb57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a68154611ae2565b9055005b346113bb575f3660031901126113bb5760206114c4611a58565b6001600160a01b0360405191168152f35b60203660031901126113bb5760043563ffffffff81168091036113bb57335f525f60205260405f209181156117445750600182015463ffffffff8160781c168210611700576dffffffffffffffffffffffffffff9060081c16913483018093116116ec5782156116a8576dffffffffffffffffffffffffffff83116116645754604051611631916115658261179c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113bb57565b60a0810190811067ffffffffffffffff8211176117b857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b857604052565b90601f8019910116810190811067ffffffffffffffff8211176117b857604052565b67ffffffffffffffff81116117b857601f01601f191660200190565b81601f820112156113bb5780359061183e8261180b565b9261184c60405194856117e9565b828452602083830101116113bb57815f926020809301838601378301015290565b600435906001600160a01b03821682036113bb57565b35906001600160a01b03821682036113bb57565b6102006003198201126113bb576004359160243567ffffffffffffffff81116113bb5761012081840360031901126113bb57600401916043190160446101c082126113bb57610140604051926118ec8461179c565b126113bb576101a090604051611901816117cc565b61190a82611883565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195460e08301611883565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113bb5760043567ffffffffffffffff81116113bb5760040182601f820112156113bb5780359267ffffffffffffffff84116113bb576020808301928560051b0101116113bb5791906024356001600160a01b03811681036113bb5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113bb5782359167ffffffffffffffff83116113bb57602083818601950101116113bb57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad7575f91611a98575090565b90506020813d602011611acf575b81611ab3602093836117e9565b810103126113bb57516001600160a01b03811681036113bb5790565b3d9150611aa6565b6040513d5f823e3d90fd5b5f1981146116ec5760010190565b919082039182116116ec57565b3d15611b27573d90611b0e8261180b565b91611b1c60405193846117e9565b82523d5f602084013e565b606090565b604290611b38816122f0565b611b40611dcf565b91611b4a81611eeb565b918015611c3b57905b60c0611b626060830183611eff565b90816040519182372091611b7960e0820182611eff565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c03610140826117e9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c496040820182611eff565b90816040519182372090611b53565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d0f5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113bb57516001600160a01b03811681036113bb5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec2575b15611e2a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebc60c0826117e9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e01565b356001600160a01b03811681036113bb5790565b903590601e19813603018212156113bb570180359067ffffffffffffffff82116113bb576020019181360383136113bb57565b611fb6906001600160a01b03611f4782611eeb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611eff565b919082611fc257505050565b6034831061206657826014116113bb57803560601c92602481106113bb576014820135906034116113bb576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120225760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d2604083019384519061272b565b156122a4575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461213f608085960151966121316040519c8d926020860151905191602085019d8e5260248501612782565b03601f1981018c528b6117e9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612298575b508115612286575b506121fd57601f801991011601928360405294955a90031161218e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b6108009150612209565b9050601f605f1983019101105f61216e565b6040141591505f612166565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fd6040820182611eff565b90916123098284612864565b156124835761231790611eeb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f5575060181b91601482116123a35750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebc6034826117e9565b816014116113bb576040516bffffffffffffffffffffffff199093166020848101918252909392611ebc92849190601319820190601401603484013781015f838201520301601f1981018352826117e9565b3b1561243f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124b96124b16040860186611eff565b908c8b6128a6565b015116915f9215978861268b575b5f60209392612527836125196001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612782565b03601f1981018752866117e9565b838287875193f1925f519360203d03612684575b83604052156125ae575050509461255157505050565b61255a9161272b565b156125625750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126025760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061260e565b505f61253b565b92509060205f8193878252818352604082205487811183146126ba5750612527825b96935050929350506124c7565b6125279088036126ad565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270584611ae2565b9055161490565b90619c40820181111561272557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248357039055600190565b9035601e19823603018112156113bb57016020813591019167ffffffffffffffff82116113bb5781360383136113bb57565b61285a60409295949395606083526001600160a01b036127a182611883565b1660608401526020810135608084015261284761283b6127fb6127dc6127c988860186612750565b61012060a08a0152610180890191611d56565b6127e96060860186612750565b888303605f190160c08a015290611d56565b608084013560e087015260a084013561010087015260c084013561012087015261282860e0850185612750565b878303605f190161014089015290611d56565b91610100810190612750565b848303605f190161016086015290611d56565b9460208201520152565b906002116128a157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128b9575b5050505050565b6001600160a01b0384515116946128d08285612864565b612b5b57853b612b0f5760148210612ac3578260206001600160a01b036128f5611a58565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129238c8b6024840191611d56565b0393f1908115612ab8578491612a99575b506001600160a01b0381168015612a4d578703612a01573b156129b5575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b2565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab2915060203d6020116109265761091881836117e9565b5f612934565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6e575b50505050565b60406001600160a01b03612b80611a58565b169351015190826014116113bb57833b156113bb575f8094612be796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d56565b0393f18015611ad757612bfd575b808080612b68565b5f612c07916117e9565b5f612bf5565b60ff8114612c6c5760ff811690601f8211612c445760405191612c316040846117e9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d45575b602084108314612d31578385528492908115612d125750600114612cb3575b612cb0925003826117e9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf6575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612cde565b60209250612cb094915060ff191682840152151560051b820101612ca4565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c85565b60ff8114612d735760ff811690601f8211612c445760405191612c316040846117e9565b506040515f6003548060011c9160018216918215612e15575b602084108314612d31578385528492908115612d125750600114612db657612cb0925003826117e9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612df9575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612de1565b92607f1692612d8c56fea2646970667358221220fe201baccdb83ee752b43a216b2442faa9d6c5ebd162a67571fa4fc1bb9f8fa264736f6c634300081c0033","sourceMap":"1031:33023:27:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;:::i;:::-;1977:9;1031:33023;;;1977:9;;;-1:-1:-1;;;1977:9:27;;3401:45:20;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;1031:33023:27;3542:22:20;;3528:36;;;;1031:33023:27;3591:25:20;;3574:42;;;3644:13;3627:30;;1031:33023:27;;4204:80:20;1031:33023:27;4204:80:20;;2079:95;;;;1031:33023:27;2079:95:20;;;;;;;3644:13;2079:95;;;;4278:4;3627:30;2079:95;;;3627:30;4204:80;;;;;;:::i;:::-;1031:33023:27;4194:91:20;;2079:95;3667:48;4278:4;4204:80;3725:27;1031:33023:27;;;;;;;;2079:95:20;1031:33023:27;;;;;3627:30:20;1031:33023:27;;;;;4204:80:20;1031:33023:27;;;;;3528:36:20;1031:33023:27;;;;;3574:42:20;1031:33023:27;;;;;3393:53:20;1031:33023:27;;;;;3456:62:20;1031:33023:27;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;2887:340:16;;1031:33023:27;;3032:2:16;3010:24;;3006:215;3032:2;;;1031:33023:27;;1854:2:16;1031:33023:27;;1840:16:16;1836:72;;3032:2;1031:33023:27;;;;2079:95:20;3032:2:16;1031:33023:27;;;;1949:36:16;3050:27;:::o;1031:33023:27:-;;;;3032:2:16;1031:33023:27;;;;;1949:36:16;3050:27;:::o;1836:72::-;1031:33023:27;3032:2:16;1031:33023:27;;;1879:18:16;;;;;;;;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;1854:2:16;1031:33023:27;-1:-1:-1;;1031:33023:27;;;1879:18:16;;;;3006:215;-1:-1:-1;;;;;1031:33023:27;;;;3432:13:20;1031:33023:27;;;;;;;;;;;3006:215:16;3032:2;1031:33023:27;;;;;;;;;;3006:215:16;1031:33023:27;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;3432:13:20;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;3432:13:20;1031:33023:27;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:16;;1031:33023:27;;3032:2:16;3010:24;;3006:215;3032:2;;;1031:33023:27;;1854:2:16;1031:33023:27;;1840:16:16;1836:72;;3032:2;1031:33023:27;;;;2079:95:20;3032:2:16;1031:33023:27;;;;1949:36:16;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;1031:33023:27;;;;3501:16:20;1031:33023:27;;;;;;;;;;;3006:215:16;3032:2;1031:33023:27;;;;;;;;;;3006:215:16;1031:33023:27;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:20;1031:33023:27;;;;;3501:16:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;3501:16:20;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;;;;3501:16:20;1031:33023:27;;;;;;;;;;;;;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;3501:16:20;1031:33023:27;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610025575b50361561001a575f80fd5b61002333611d76565b005b5f905f3560e01c9081630396cb60146114d55750806309ccb880146114aa5780630bd28e3b146114595780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199e565b91611c58565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179c565b126104cd576040516101ae816117cc565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f32565b6040519961027b84611b2c565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248a565b986103216001600160a01b038651166020870151906126c5565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120aa565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186d565b611d76565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2a565b6001600160a01b0361088f611a58565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d56565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117e9565b810190611d37565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186d565b5060243567ffffffffffffffff81116104d557610973903690600401611a2a565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0d565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d4f565b906020610a42604051936109f483866117e9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a06565b908682036040880152611a06565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186d565b1681528083522054604051908152f35b503461013e57610ae536611897565b9190915a92815193610af78583611f32565b610b0082611b2c565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248a565b9760206001600160a01b03825116910151906126c5565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186d565b8260808551610c778161179c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186d565b916001600160a01b03610d4d611786565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2c565b604051908152f35b503461013e57606090610ddd36611897565b908392935082936001600160a01b0360e08451610dfa8186611f32565b610e0385611b2c565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120aa565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186d565b926001600160a01b03610fc9611786565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dcf565b50346113bb576102203660031901126113bb5760043567ffffffffffffffff81116113bb57611072903690600401611827565b3660231901906101c082126113bb57610140604051926110918461179c565b126113bb576040516110a2816117cc565b6024356001600160a01b03811681036113bb57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113bb5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113bb5761115f903690600401611827565b908251906060820151815190816113cd575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54806113c7575048905b01808210156113bf5750935b6111e86001600160a01b0360e08401511693606084015190830361270c565b01925f928061126e575050516001600160a01b0316935b5a900301010292518381105f14611238576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112619203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611282575b5050506111ff565b9197509192505a9660a05a930191825190823b156113bb575f916112e491836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a06565b8d8d0260448301528d60648301520393f190816113a6575b5061138a573d896108008211611380575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061130d565b61139d915a9003965a900390519061270c565b905f808061127a565b6113b3919a505f906117e9565b5f985f6112fc565b5f80fd5b9050936111c9565b906111bd565b5f80949360206001600160a01b0383965116910192f1156113f1575f808080611171565b3d6108008111611450575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a06565b506108006113fc565b346113bb5760203660031901126113bb576004356001600160c01b03811681036113bb57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a68154611ae2565b9055005b346113bb575f3660031901126113bb5760206114c4611a58565b6001600160a01b0360405191168152f35b60203660031901126113bb5760043563ffffffff81168091036113bb57335f525f60205260405f209181156117445750600182015463ffffffff8160781c168210611700576dffffffffffffffffffffffffffff9060081c16913483018093116116ec5782156116a8576dffffffffffffffffffffffffffff83116116645754604051611631916115658261179c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113bb57565b60a0810190811067ffffffffffffffff8211176117b857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b857604052565b90601f8019910116810190811067ffffffffffffffff8211176117b857604052565b67ffffffffffffffff81116117b857601f01601f191660200190565b81601f820112156113bb5780359061183e8261180b565b9261184c60405194856117e9565b828452602083830101116113bb57815f926020809301838601378301015290565b600435906001600160a01b03821682036113bb57565b35906001600160a01b03821682036113bb57565b6102006003198201126113bb576004359160243567ffffffffffffffff81116113bb5761012081840360031901126113bb57600401916043190160446101c082126113bb57610140604051926118ec8461179c565b126113bb576101a090604051611901816117cc565b61190a82611883565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195460e08301611883565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113bb5760043567ffffffffffffffff81116113bb5760040182601f820112156113bb5780359267ffffffffffffffff84116113bb576020808301928560051b0101116113bb5791906024356001600160a01b03811681036113bb5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113bb5782359167ffffffffffffffff83116113bb57602083818601950101116113bb57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad7575f91611a98575090565b90506020813d602011611acf575b81611ab3602093836117e9565b810103126113bb57516001600160a01b03811681036113bb5790565b3d9150611aa6565b6040513d5f823e3d90fd5b5f1981146116ec5760010190565b919082039182116116ec57565b3d15611b27573d90611b0e8261180b565b91611b1c60405193846117e9565b82523d5f602084013e565b606090565b604290611b38816122f0565b611b40611dcf565b91611b4a81611eeb565b918015611c3b57905b60c0611b626060830183611eff565b90816040519182372091611b7960e0820182611eff565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c03610140826117e9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c496040820182611eff565b90816040519182372090611b53565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d0f5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113bb57516001600160a01b03811681036113bb5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec2575b15611e2a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebc60c0826117e9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e01565b356001600160a01b03811681036113bb5790565b903590601e19813603018212156113bb570180359067ffffffffffffffff82116113bb576020019181360383136113bb57565b611fb6906001600160a01b03611f4782611eeb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611eff565b919082611fc257505050565b6034831061206657826014116113bb57803560601c92602481106113bb576014820135906034116113bb576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120225760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d2604083019384519061272b565b156122a4575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461213f608085960151966121316040519c8d926020860151905191602085019d8e5260248501612782565b03601f1981018c528b6117e9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612298575b508115612286575b506121fd57601f801991011601928360405294955a90031161218e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b6108009150612209565b9050601f605f1983019101105f61216e565b6040141591505f612166565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fd6040820182611eff565b90916123098284612864565b156124835761231790611eeb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f5575060181b91601482116123a35750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebc6034826117e9565b816014116113bb576040516bffffffffffffffffffffffff199093166020848101918252909392611ebc92849190601319820190601401603484013781015f838201520301601f1981018352826117e9565b3b1561243f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124b96124b16040860186611eff565b908c8b6128a6565b015116915f9215978861268b575b5f60209392612527836125196001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612782565b03601f1981018752866117e9565b838287875193f1925f519360203d03612684575b83604052156125ae575050509461255157505050565b61255a9161272b565b156125625750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126025760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061260e565b505f61253b565b92509060205f8193878252818352604082205487811183146126ba5750612527825b96935050929350506124c7565b6125279088036126ad565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270584611ae2565b9055161490565b90619c40820181111561272557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248357039055600190565b9035601e19823603018112156113bb57016020813591019167ffffffffffffffff82116113bb5781360383136113bb57565b61285a60409295949395606083526001600160a01b036127a182611883565b1660608401526020810135608084015261284761283b6127fb6127dc6127c988860186612750565b61012060a08a0152610180890191611d56565b6127e96060860186612750565b888303605f190160c08a015290611d56565b608084013560e087015260a084013561010087015260c084013561012087015261282860e0850185612750565b878303605f190161014089015290611d56565b91610100810190612750565b848303605f190161016086015290611d56565b9460208201520152565b906002116128a157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128b9575b5050505050565b6001600160a01b0384515116946128d08285612864565b612b5b57853b612b0f5760148210612ac3578260206001600160a01b036128f5611a58565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129238c8b6024840191611d56565b0393f1908115612ab8578491612a99575b506001600160a01b0381168015612a4d578703612a01573b156129b5575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b2565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab2915060203d6020116109265761091881836117e9565b5f612934565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6e575b50505050565b60406001600160a01b03612b80611a58565b169351015190826014116113bb57833b156113bb575f8094612be796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d56565b0393f18015611ad757612bfd575b808080612b68565b5f612c07916117e9565b5f612bf5565b60ff8114612c6c5760ff811690601f8211612c445760405191612c316040846117e9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d45575b602084108314612d31578385528492908115612d125750600114612cb3575b612cb0925003826117e9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf6575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612cde565b60209250612cb094915060ff191682840152151560051b820101612ca4565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c85565b60ff8114612d735760ff811690601f8211612c445760405191612c316040846117e9565b506040515f6003548060011c9160018216918215612e15575b602084108314612d31578385528492908115612d125750600114612db657612cb0925003826117e9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612df9575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612de1565b92607f1692612d8c56fea2646970667358221220fe201baccdb83ee752b43a216b2442faa9d6c5ebd162a67571fa4fc1bb9f8fa264736f6c634300081c0033","sourceMap":"1031:33023:27:-:0;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;1441:10:31;;;:::i;:::-;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25999:20;1031:33023;25999:20;;;1031:33023;;;;;2102:156;1031:33023;2102:156;;;1031:33023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2264:167;;:::i;1031:33023::-;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23141:31;23244:9;;23293:17;;;23348:7;;;;;:::i;:::-;1031:33023;33278:67;23513:21;;;;:::i;:::-;1031:33023;;33561:66;1031:33023;33561:66;1031:33023;23763:28;;1031:33023;23824:26;1031:33023;23824:26;1031:33023;23824:26;;1031:33023;23824:49;1031:33023;23876:20;;1031:33023;23824:72;1031:33023;23911:37;;1031:33023;23824:124;1031:33023;23951:31;;1031:33023;23824:158;1031:33023;23985:20;;1031:33023;23824:181;1031:33023;24020:28;;1031:33023;23824:224;24066:33;1031:33023;;24184:28;24296:108;24184:28;;;10020:20;9803:28;;;1031:33023;9834:20;;;1031:33023;1679:4;9873:37;;;1031:33023;1679:4;9913:31;;;1031:33023;1679:4;9947:26;;;1031:33023;1679:4;10020:20;;1031:33023;;9633:424;;24184:28;1031:33023;;;;3472:23:32;;1031:33023:27;;;24296:108;;;;;:::i;:::-;1031:33023;24423:54;-1:-1:-1;;;;;1031:33023:27;;;;24463:13;;1031:33023;24423:54;;:::i;:::-;1031:33023;;;24575:9;1679:4;;24566:41;24562:138;;1031:33023;24773:9;-1:-1:-1;;;;;1031:33023:27;24773:9;24796:17;;1031:33023;;24796:31;;:62;;;;1031:33023;24792:186;;;1031:33023;25036:9;;;25021:24;25036:9;;25021:24;;:::i;:::-;1031:33023;25049:3;1031:33023;;;;;;25049:3;1031:33023;;;;;;;;;;;;;;;;;;;25195:9;1679:4;;25207:25;;1031:33023;1679:4;1031:33023;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;24792:186;25021:24;24911:56;;;;;;;:::i;:::-;24874:93;;24792:186;;;;;;24796:62;;;;;;24562:138;1031:33023;;;-1:-1:-1;;;24634:51:27;;1031:33023;24634:51;;1031:33023;;;;;;;;;;;;;;;;;;;;;;24634:51;;;;1031:33023;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;24634:51;1031:33023;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;:::i;:::-;4109:10:31;1031:33023:27;;;;;4146:10:31;1031:33023:27;;;4146:10:31;1031:33023:27;;;;;;;;4174:9:31;;;1031:33023:27;;;;;;4226:21:31;;1031:33023:27;;4320:15:31;-1:-1:-1;1031:33023:27;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;4109:10:31;;4471:50;;;1031:33023:27;4549:38:31;;;;:::i;:::-;;1031:33023:27;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3628:10:31;1031:33023:27;;;;;3657:20:31;1031:33023:27;;;3657:20:31;1031:33023:27;;;;;;;3657:25:31;;;1031:33023:27;;;;;;;;3787:15:31;1031:33023:27;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;3628:10:31;;3912:39;;1031:33023:27;;3912:39:31;1031:33023:27;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;-1:-1:-1;;1031:33023:27;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2894:15:27;;:::i;:::-;1031:33023;;;;;2894:38;;;;;;-1:-1:-1;;;2894:38:27;;;1031:33023;2894:38;;1031:33023;;;;;;:::i;:::-;2894:38;;;;;;;;;;;-1:-1:-1;;;;;2894:38:27;1031:33023;2894:38;;;;1031:33023;2949:27;;;;1031:33023;;;2949:27;2894:38;;;;1031:33023;2894:38;1031:33023;2894:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1031:33023;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6099:5:20;:41;:5;:41;:::i;:::-;6554:8;:47;:8;:47;:::i;:::-;1031:33023:27;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:20;;1031:33023:27;;;;5625:4:20;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25525:9;;;;25574:17;;;25629:7;;;;;:::i;:::-;25670:21;;;:::i;:::-;25647:20;;;1031:33023;;25886:28;;1031:33023;25947:26;1031:33023;25947:26;;;;1031:33023;25947:49;25999:20;;;1031:33023;25947:72;26034:37;;;1031:33023;25947:124;26074:31;;;1031:33023;25947:158;26108:20;;;1031:33023;25947:181;26143:28;;;1031:33023;25947:224;26189:33;1031:33023;;26288:28;;10020:20;9803:28;;;1031:33023;9834:20;;;1031:33023;1679:4;9873:37;;;1031:33023;1679:4;9913:31;;;1031:33023;1679:4;9947:26;;;1031:33023;1679:4;10020:20;;1031:33023;;9633:424;;26288:28;26415:9;26441:54;26343:82;26415:9;26343:82;;;;;:::i;:::-;1031:33023;25647:20;-1:-1:-1;;;;;1031:33023:27;;;26481:13;;1031:33023;26441:54;;:::i;:::-;26440:55;26436:140;;26623:9;1679:4;;26614:41;26610:138;;26821:9;27154:24;26821:9;;;26074:31;26034:37;26821:9;;26912:17;1031:33023;26912:17;;1031:33023;25999:20;26961:23;;;1031:33023;27063:9;1679:4;;27075:25;;1031:33023;1679:4;27033:18;;1031:33023;27169:9;27154:24;;:::i;:::-;27182:3;1031:33023;;;;;;27182:3;1031:33023;;;;;;;27189:3;1031:33023;25999:20;1031:33023;;;;;;25647:20;1031:33023;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;25647:20;1031:33023;;;;;;;;;;;;;;;;24634:51;1031:33023;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;507:19:0;1031:33023:27;;;-1:-1:-1;;;;;1031:33023:27;;-1:-1:-1;1031:33023:27;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;507:55:0;1031:33023:27;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13735:31;;13882:17;-1:-1:-1;;;;;1031:33023:27;13882:17;;13937:7;;;;:::i;:::-;13978:21;;;:::i;:::-;13955:20;;;1031:33023;14030:28;;10020:20;9803:28;;;1031:33023;9834:20;;;1031:33023;1679:4;9873:37;;;1031:33023;1679:4;9913:31;;;1031:33023;1679:4;9947:26;;;1031:33023;1679:4;10020:20;;1031:33023;;9633:424;;14030:28;1031:33023;14010:17;;1031:33023;14072:17;1031:33023;;14068:155;;1031:33023;;;;;;;;;;13955:20;1031:33023;;;;;;;;14068:155;14156:56;;;;;:::i;:::-;14119:93;;14068:155;;;;;;1031:33023;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;:::i;:::-;;;4820:10:31;;1031:33023:27;;;;;;;;;;;4896:32:31;;;;1031:33023:27;;4983:31:31;;;;-1:-1:-1;;;;;4983:31:31;;;;;;;;:::i;:::-;1031:33023:27;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;4820:10:31;;5029:54;;;1031:33023:27;5111:47:31;;;;:::i;:::-;;1031:33023:27;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;-1:-1:-1;;;;;1031:33023:27;;;:::i;:::-;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;279:74:0;1031:33023:27;;;279:74:0;1031:33023:27;-1:-1:-1;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;1092:197:32;1031:33023:27;;;;;;;;;;;;;;;;;3445:20;;:::i;1031:33023::-;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6820:14;;;6868:20;1031:33023;6868:20;;1031:33023;;;7278:19;;7274:703;;1031:33023;8040:9;;;;;1031:33023;;1679:4;1031:33023;;1679:4;;;8088:48;1031:33023;28175:9;;28283:14;;1031:33023;31905:20;;1031:33023;;31970:28;;1031:33023;405:35:26;1031:33023:27;2492:12:26;;;2507:13;;2492:38;;1679:4:27;3696:5:10;;;;;;:13;;;28704:60:27;-1:-1:-1;;;;;1031:33023:27;28392:17;;1031:33023;;28743:20;1031:33023;28743:20;;1031:33023;1679:4;;;28704:60;:::i;:::-;1679:4;;1031:33023;;28840:23;1031:33023;;-1:-1:-1;;1031:33023:27;-1:-1:-1;;;;;1031:33023:27;;28836:1846;30717:9;1679:4;;;;1031:33023;;;30865:23;;;30861:626;30865:23;;;1031:33023;31098:146;;;;;30861:626;1031:33023;1679:4;;;;31358:40;1679:4;;31358:40;-1:-1:-1;;;;;1031:33023:27;1822:8:31;1031:33023:27;1822:8:31;1031:33023:27;;;1822:8:31;1031:33023:27;;;;1679:4;1031:33023;;;1674:305:31;;31358:40:27;;1031:33023;;;;;;;;;;28836:1846;28952:25;;;;1031:33023;;;28995:1673;;28836:1846;;;;;;28995:1673;29122:9;;;;;;;29252;1031:33023;29252:9;29325:31;;1031:33023;;;29291:160;;;;;;1031:33023;;;;;;;29291:160;;;;;;1031:33023;29291:160;;;1031:33023;29291:160;;1031:33023;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29291:160;;;;;;;28995:1673;-1:-1:-1;29287:901:27;;1204:349:9;;1679:4:27;1204:349:9;;;;29287:901:27;1031:33023;1204:349:9;;1031:33023:27;1204:349:9;;;;1031:33023:27;1204:349:9;;;;;1031:33023:27;1204:349:9;;;1031:33023:27;;;30011:150;;;-1:-1:-1;;;30011:150:27;;1031:33023;30011:150;;1031:33023;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1679:4:27;;-1:-1:-1;1204:349:9;;29287:901:27;30581:68;29287:901;30254:9;1679:4;;30525:9;;1679:4;;1031:33023;;30581:68;;:::i;:::-;28995:1673;;;;;;29291:160;;;;;1031:33023;29291:160;;:::i;:::-;1031:33023;29291:160;;;;;1031:33023;;;3696:13:10;;;;;;2492:38:26;;;;7274:703:27;1031:33023;;;;;-1:-1:-1;;;;;1031:33023:27;;;;378:118:9;;;;7398:8:27;7394:573;;7274:703;;;;;;7394:573;1204:349:9;1679:4:27;1204:349:9;;;;7394:573:27;1679:4;1204:349:9;1031:33023:27;1204:349:9;;1031:33023:27;1204:349:9;;;;1031:33023:27;1204:349:9;;;;1031:33023:27;;1204:349:9;;;1031:33023:27;;7514:25;;;;;;1031:33023;;7514:25;;1679:4;1031:33023;1679:4;;;;:::i;1204:349:9:-;-1:-1:-1;1679:4:27;1204:349:9;;1031:33023:27;;;;;;-1:-1:-1;;1031:33023:27;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;913:10:0;1031:33023:27;;893:19:0;1031:33023:27;;-1:-1:-1;;;;;1031:33023:27;;;893:36:0;1031:33023:27;;;;;;;;893:38:0;1031:33023:27;;893:38:0;:::i;:::-;1031:33023:27;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;3011:10:31;1031:33023:27;;;;;;;;3040:19:31;;;1031:33023:27;;3127:20:31;;;;1031:33023:27;;;;;;3108:39:31;;1031:33023:27;;;;;;;3219:9:31;;1031:33023:27;;;;;;;3246:9:31;;1031:33023:27;;;3296:26:31;;1031:33023:27;;;;;;;;;;:::i;:::-;;;3127:20:31;1031:33023:27;3374:67:31;;;1031:33023:27;;;;;;;3374:67:31;;;1031:33023:27;;;3374:67:31;;;1031:33023:27;;;-1:-1:-1;3374:67:31;;;1031:33023:27;;;3011:10:31;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;3456:47:31;1031:33023:27;3011:10:31;3456:47;;1031:33023:27;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1031:33023:27;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1031:33023:27;;;;;;:::o;:::-;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;-1:-1:-1;;1031:33023:27;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2989:114::-;1031:33023;;;3076:20;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;3076:20:27;;;3069:27;2989:114;:::o;3076:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;1031:33023;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;2989:114;:::o;3076:20::-;;;-1:-1:-1;3076:20:27;;;1031:33023;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1031:33023:27;;;;:::o;:::-;;;:::o;2469:300::-;3445:249:21;2469:300:27;2600:54;;;:::i;:::-;3445:20;;:::i;:::-;1701:13:32;;;;:::i;:::-;1785:82;:25;;;;:82;;2083:14;1915:15;;;;;;:::i;:::-;3287:193:10;;;;;;;;2153:23:32;;;;;;;:::i;:::-;3287:193:10;;;;;;;;1031:33023:27;3287:193:10;1031:33023:27;2195:281:32;-1:-1:-1;;;;;1740:12:32;2195:281;;1031:33023:27;1092:197:32;1031:33023:27;;;3287:193:10;1031:33023:27;;;1740:12:32;;;1031:33023:27;1915:15:32;1031:33023:27;;;1968:23:32;1031:33023:27;;;2030:25:32;1031:33023:27;;;1968:23:32;;;1031:33023:27;;;;;2030:25:32;;;1031:33023:27;2153:23:32;1031:33023:27;;;2083:14:32;1031:33023:27;;;;;;;;;;2195:281:32;;;;;;:::i;:::-;1031:33023:27;5014:47:32;;3287:193:10;3445:249:21;;;;;;;;;;;;;;2469:300:27;:::o;1785:82:32:-;1851:15;;;;;;;:::i;:::-;3287:193:10;;1851:15:32;3287:193:10;;;;;1785:82:32;;;1181:103:15;;;;637:66;3321:69:19;1413:93:15;;1624:4;637:66;3550:68:19;2202:49:27;1031:33023;;-1:-1:-1;;;2202:49:27;;1031:33023;2202:49;;;1031:33023;;;;;;;;;;;;;;;;2202:49;1413:93:15;1465:30;-1:-1:-1;1465:30:15;;-1:-1:-1;1465:30:15;1031:33023:27;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;-1:-1:-1;;1031:33023:27;;;;:::o;2687:179:31:-;2829:30;1031:33023:27;-1:-1:-1;;;;;2777:37:31;2804:9;2777:37;-1:-1:-1;;;;;1031:33023:27;1822:8:31;1031:33023:27;1822:8:31;1031:33023:27;;;1822:8:31;1031:33023:27;;;;1679:4;1031:33023;;;1674:305:31;;2777:37;1031:33023:27;;;;;;;2829:30:31;;2687:179::o;3845:262:20:-;-1:-1:-1;;;;;3938:11:20;1031:33023:27;3929:4:20;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;1031:33023:27;;4204:80:20;;;1031:33023:27;2079:95:20;1031:33023:27;;4226:11:20;1031:33023:27;2079:95:20;;1031:33023:27;4239:14:20;2079:95;;;1031:33023:27;4255:13:20;2079:95;;;1031:33023:27;3929:4:20;2079:95;;;1031:33023:27;2079:95:20;4204:80;;;;;;:::i;:::-;1031:33023:27;4194:91:20;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;1031:33023:27;;-1:-1:-1;;;;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8343:1086::-;8901:23;8343:1086;-1:-1:-1;;;;;8515:13:27;;;:::i;:::-;1031:33023;;;8554:12;;;1031:33023;8554:12;8538:13;;1031:33023;8660:23;;;1031:33023;475:2:32;1031:33023:27;8660:23;1031:33023;475:2:32;;8607:20:27;;;1031:33023;8577:28;;;1031:33023;8723:25;;;1031:33023;8694:26;;;1031:33023;8694:26;8842:14;;1031:33023;475:2:32;1031:33023:27;8660:23;1031:33023;475:2:32;;8789:20:27;;;1031:33023;8759:28;;;1031:33023;8901:23;;;;;:::i;:::-;8938:27;;;8934:489;;8343:1086;;;:::o;8934:489::-;531:2:32;8989:65:27;;531:2:32;;1031:33023:27;413:2:32;1031:33023:27;;;413:2:32;;8607:20:27;413:2:32;;475;1031:33023:27;-1:-1:-1;1031:33023:27;;413:2:32;1031:33023:27;;475:2:32;;531;1031:33023:27;;;475:2:32;;4562:76;;1031:33023:27;475:2:32;8660:23:27;475:2:32;;8723:25:27;9184:31;;1031:33023;8660:23;475:2:32;;8660:23:27;9145:37;;1031:33023;9319:23;;531:2:32;;8901:23:27;9383:17;1031:33023;8343:1086::o;531:2:32:-;;8577:28:27;1031:33023;-1:-1:-1;;;531:2:32;;8554:12:27;531:2:32;;;;;475;531;;1031:33023:27;531:2:32;1031:33023:27;;;531:2:32;;;;8577:28:27;1031:33023;-1:-1:-1;;;531:2:32;;8554:12:27;531:2:32;;;;;;;;1031:33023:27;531:2:32;1031:33023:27;;;531:2:32;;16644:974:27;;;;;16909:9;16962:14;;;17010:17;-1:-1:-1;;;;;17010:17:27;;;1031:33023;;17067:14;17100:48;17067:14;;;1031:33023;;;17100:48;;:::i;:::-;17099:49;17095:146;;-1:-1:-1;;;;;;17010:17:27;17972:91;17287:37;;;17972:91;17287:37;;;;1031:33023;33278:67;17972:91;17067:14;33278:67;18028:17;;;;;;1031:33023;;;17972:91;18028:17;17972:91;;;;;;;;;:::i;:::-;;1031:33023;;17972:91;;;;;;:::i;:::-;18093:14;:24;1031:33023;;18363:1229;;;;;;;;;;;-1:-1:-1;18363:1229:27;;;;;;17067:14;18363:1229;;;;;19630:8;;1031:33023;;;19630:31;;16644:974;19630:72;;;;;16644:974;19626:205;;;1031:33023;;;;;;4020:413:10;;;17067:14:27;4020:413:10;17338:101:27;17466:9;;1679:4;;17457:43;17453:149;;16644:974;;:::o;17453:149::-;17527:60;;;-1:-1:-1;;;17527:60:27;;;;;1031:33023;17067:14;17972:91;1031:33023;;;;;;;;;;;;;;;;;;17527:60;19626:205;1204:349:9;;1679:4:27;1204:349:9;;;;19626:205:27;17067:14;1204:349:9;;18028:17:27;1204:349:9;;;;17067:14:27;1204:349:9;;;;-1:-1:-1;18028:17:27;1204:349:9;;;1031:33023:27;17067:14;1031:33023;19729:87;;;-1:-1:-1;;;19729:87:27;;17972:91;19729:87;;1031:33023;;17972:91;1031:33023;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1679:4:27;;-1:-1:-1;1204:349:9;;19630:72:27;18363:1229;;19681:2;18363:1229;;;;1679:4;;19665:37;19630:72;;;:31;17067:14;19642:19;;;-1:-1:-1;19630:31:27;;;17095:146;17175:51;1031:33023;17067:14;1031:33023;17175:51;-1:-1:-1;;;17175:51:27;;;;;1031:33023;17067:14;1031:33023;;;;;;;;;;;;;;17175:51;896:503:29;1042:15;;;;;;:::i;:::-;1072:28;;;;;;:::i;:::-;1071:29;1067:68;;1183:13;;;:::i;:::-;2688:113;1031:33023:27;2688:113:29;;;1031:33023:27;2688:113:29;1031:33023:27;;;;;2939:36:29;2935:241;;-1:-1:-1;3222:2:29;1031:33023:27;;1230:2:29;1211:21;;1230:2;;-1:-1:-1;;1042:15:29;1031:33023:27;-1:-1:-1;;1031:33023:27;;;1265:26:29;;;1031:33023:27;;;1230:2:29;1265:26;;;;;1031:33023:27;1265:26:29;:::i;1207:186::-;1031:33023:27;1230:2:29;1031:33023:27;;;1042:15:29;1031:33023:27;-1:-1:-1;;1031:33023:27;;;1340:41:29;;;;1031:33023:27;;;1340:41:29;;1031:33023:27;1340:41:29;;1031:33023:27;;1340:41:29;-1:-1:-1;;1031:33023:27;;;1230:2:29;1031:33023:27;;;;;;;;;;;;1340:41:29;;1031:33023:27;;1340:41:29;;;;;;:::i;2935:241::-;3072:18;:22;449:8;;3131:34;1042:15;1031:33023:27;-1:-1:-1;;;3131:34:29;;449:8;3131:34;;;449:8;;;;;1031:33023:27;449:8:29;1031:33023:27;;;449:8:29;3131:34;449:8;;1042:15;1031:33023:27;-1:-1:-1;;;449:8:29;;;;;;;;;;;1031:33023:27;449:8:29;1031:33023:27;;;449:8:29;;1067:68;1116:8;;;1031:33023:27;1116:8:29;:::o;12469:1091:27:-;;;;;;12796:14;;1031:33023;-1:-1:-1;;;;;12954:17:27;1031:33023;;;;12908:11;;;;;;;;:::i;:::-;;;;;:::i;:::-;12954:17;1031:33023;;12985:31;-1:-1:-1;13034:23:27;;13030:182;;;;12469:1091;-1:-1:-1;15219:17:27;15018:14;;15174:85;15018:14;15174:85;-1:-1:-1;;;;;15018:14:27;;;1031:33023;;15049:12;12908:11;33278:67;15219:17;;;;1031:33023;15174:85;;;;;;;;;;;:::i;:::-;;1031:33023;;15174:85;;;;;;:::i;:::-;15273:326;;;;;;;;-1:-1:-1;15273:326:27;;15219:17;15273:326;;;;12469:1091;33561:66;12908:11;33561:66;15664:8;15660:286;;13225:100;;;13339:205;;;12469:1091;;;:::o;13339:205::-;13391:45;;;:::i;:::-;13390:46;13386:144;;12469:1091;:::o;13386:144::-;13467:44;1031:33023;12908:11;1031:33023;13467:44;-1:-1:-1;;;13467:44:27;;;;;1031:33023;12908:11;15174:85;1031:33023;;;;;;;;;;;;;13467:44;15660:286;15692:18;;;;;;15742:46;1031:33023;12908:11;1031:33023;15742:46;-1:-1:-1;;;15742:46:27;;15174:85;15742:46;;1031:33023;12908:11;15174:85;1031:33023;;;;;;;;;;;;;15742:46;15688:248;1204:349:9;;1679:4:27;1204:349:9;;;;15688:248:27;-1:-1:-1;1204:349:9;15219:17:27;1204:349:9;;;;12908:11:27;1204:349:9;;;;;1031:33023:27;12908:11;1031:33023;15834:87;;;-1:-1:-1;;;15834:87:27;;15174:85;15834:87;;1031:33023;;15174:85;1031:33023;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1679:4:27;;-1:-1:-1;1204:349:9;;15273:326:27;;-1:-1:-1;15273:326:27;;13030:182;1031:33023;;;15219:17;-1:-1:-1;1031:33023:27;;;;;;;;12908:11;1031:33023;;;13148:21;;;;;;;:49;15174:85;13148:49;;13030:182;;;;;;;;;;13148:49;15174:85;1679:4;;;13148:49;;1187:234:0;-1:-1:-1;;;;;1031:33023:27;-1:-1:-1;1031:33023:27;1373:19:0;1031:33023:27;;1317:2:0;-1:-1:-1;1031:33023:27;-1:-1:-1;;;;;1031:33023:27;1317:2:0;1031:33023:27;;-1:-1:-1;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;;;;1373:34:0;;;;:::i;:::-;1031:33023:27;;;1373:41:0;1187:234;:::o;33639:413:27:-;;1926:5;1679:4;;33774:43;;;33770:90;;33995:3;1679:4;1812:2;1679:4;;1031:33023;;33639:413;:::o;33770:90::-;33837:8;;1031:33023;33837:8;:::o;2250:397:31:-;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;2484:23:31;;;2480:74;;1679:4:27;1031:33023;;2626:4:31;2250:397;:::o;1031:33023:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1031:33023:27;;;;;18363:1229;1031:33023;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1031:33023:27;;;;;18363:1229;1031:33023;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1031:33023:27;;;;;18363:1229;1031:33023;:::i;:::-;;;;;;;;:::o;1712:551:29:-;;1826:1;-1:-1:-1;1804:62:29;;2015:95;-1:-1:-1;;413:2:32;1031:33023:27;2207:49:29;;1712:551::o;1804:62::-;1843:12;1031:33023:27;1843:12:29;:::o;10311:1671:27:-;;;;;10480:1;10461:20;;10457:1519;;10311:1671;;;;;;:::o;10457:1519::-;-1:-1:-1;;;;;10514:14:27;;1031:33023;;10553:43;;;;;:::i;:::-;10549:495;;11061:18;;11057:121;;11213:2;11195:20;;11191:110;;11332:15;1031:33023;-1:-1:-1;;;;;11332:15:27;;:::i;:::-;1031:33023;11366:35;:14;;:35;1031:33023;11366:35;1031:33023;11332:80;;;;-1:-1:-1;;;11332:80:27;;;;;;1031:33023;;;;;;;;;;:::i;:::-;11332:80;;;;;;;;;;;;10457:1519;1031:33023;-1:-1:-1;;;;;1031:33023:27;;11430:21;;11426:115;;11558:17;;11554:116;;11687:19;:24;11683:123;;1031:33023;11213:2;1031:33023;;;11888:77;11845:23;11366:35;11845:23;413:2:32;;-1:-1:-1;;;;;1031:33023:27;;11904:17;;1031:33023;11940:14;;:24;1031:33023;;-1:-1:-1;;;;;1031:33023:27;;413:2:32;;;;1031:33023:27;;;;;;11888:77;10457:1519;;;;;;;11683:123;11738:53;1031:33023;11366:35;1031:33023;11738:53;-1:-1:-1;;;11738:53:27;;11332:80;11738:53;;1031:33023;11366:35;1031:33023;;;;;;;;;;;;;;11738:53;11554:116;11602:53;1031:33023;11366:35;1031:33023;11602:53;-1:-1:-1;;;11602:53:27;;11332:80;11602:53;;1031:33023;11366:35;1031:33023;;;;;;;;;;;;;;11602:53;11426:115;11478:48;1031:33023;11366:35;1031:33023;11478:48;-1:-1:-1;;;11478:48:27;;11332:80;11478:48;;1031:33023;11366:35;1031:33023;;;;;;;;;;;;;;11478:48;11332:80;;;;1031:33023;11332:80;1031:33023;11332:80;;;;;;;:::i;:::-;;;;;11366:35;1031:33023;;;;;;;;11191:110;11242:44;1031:33023;;;11242:44;-1:-1:-1;;;11242:44:27;;;;;1031:33023;;;;;;;;;;;;;;;;11242:44;11057:121;11111:52;1031:33023;;;11111:52;-1:-1:-1;;;11111:52:27;;;;;1031:33023;;;;;;;;;;;;;;;;11111:52;10549:495;10620:20;;;;10638:2;10620:20;;10616:390;;10549:495;11023:7;;;;:::o;10616:390::-;10928:35;-1:-1:-1;;;;;10889:15:27;;:::i;:::-;1031:33023;10928:14;;:35;1031:33023;;;10638:2;1031:33023;;;10889:98;;;;;10480:1;1031:33023;;;;10928:35;1031:33023;10889:98;;;;;;;1031:33023;10889:98;;;;;1031:33023;10928:35;1031:33023;;;;10638:2;1031:33023;;;;;;;;;;:::i;:::-;10889:98;;;;;;;;;10616:390;;;;;;10889:98;10480:1;10889:98;;;:::i;:::-;10480:1;10889:98;;3358:267:16;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1031:33023:27;;;;;;;:::i;:::-;2311:2:16;1031:33023:27;;;;;;;;;;;2324:106:16;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:16;;-1:-1:-1;2713:20:16;3477:142;1031:33023:27;;;-1:-1:-1;6126:13:20;1390:66:16;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1031:33023:27;;;;;;1390:66:16;;;;;;;;;;;;;;;;:::i;:::-;3596:12;:::o;1390:66::-;-1:-1:-1;6126:13:20;-1:-1:-1;1390:66:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1031:33023:27;;1390:66:16;1031:33023:27;;;;;1390:66:16;1031:33023:27;;;1390:66:16;;;;;;;;;;;-1:-1:-1;;;;1390:66:16;;;;;-1:-1:-1;1390:66:16;;;;;;;;3358:267;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1031:33023:27;;;;;;;:::i;3477:142:16:-;1031:33023:27;;;-1:-1:-1;6584:16:20;1390:66:16;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1031:33023:27;;;;;;1390:66:16;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6584:16:20;-1:-1:-1;1390:66:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"1906":[{"start":7688,"length":32}],"1908":[{"start":7877,"length":32}],"1910":[{"start":7641,"length":32}],"1912":[{"start":7767,"length":32}],"1914":[{"start":7805,"length":32}],"1917":[{"start":2450,"length":32}],"1920":[{"start":2492,"length":32}]}},"methodIdentifiers":{"_accountValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"69683cfa","_paymasterValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"21e60b37","_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":"c579f76b","addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","delegateAndRevert(address,bytes)":"850aaf62","depositTo(address)":"b760faf9","eip712Domain()":"84b0196e","getDepositInfo(address)":"5287ce12","getDomainSeparatorV4()":"13c65a6e","getNonce(address,uint192)":"35567e1a","getPackedUserOpTypeHash()":"154e58dc","getSenderAddress(bytes)":"9b249f69","getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"22cdde4c","handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)":"dbed18e0","handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)":"765e827f","incrementNonce(uint192)":"0bd28e3b","innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":"0da82661","nonceSequenceNumber(address,uint192)":"1b2e01b8","senderCreator()":"09ccb880","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"CallPhaseReverted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"name\":\"DelegateAndRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"PostOpRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureAggregatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasUsed\",\"type\":\"uint256\"}],\"name\":\"UserOperationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"UserOperationPrefundTooLow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"UserOperationRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_accountValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_paymasterValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"validatePaymasterPrepayment\",\"type\":\"bool\"}],\"name\":\"_validatePrepayment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"delegateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"preGas\",\"type\":\"uint256\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:notice\":\"This EntryPoint closely resembles the actual EntryPoint with some diffs seen at https://www.diffchecker.com/a5ngpwSm/\",\"errors\":{\"FailedOp(uint256,string)\":[{\"params\":{\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. The string starts with a unique code \\\"AAmn\\\", where \\\"m\\\" is \\\"1\\\" for factory, \\\"2\\\" for account and \\\"3\\\" for paymaster issues, so a failure can be attributed to the correct entity.\"}}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"details\":\"note that inner is truncated to 2048 bytes\",\"params\":{\"inner\":\"- data from inner cought revert reason\",\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. see FailedOp(uint256,string), above\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SignatureValidationFailed(address)\":[{\"params\":{\"aggregator\":\"The aggregator that failed to verify the signature\"}}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"params\":{\"factory\":\"- The factory used to deploy this account (in the initCode)\",\"paymaster\":\"- The paymaster used by this UserOp\",\"sender\":\"- The account that is deployed\",\"userOpHash\":\"- The userOp that deployed this account. UserOperationEvent will follow.\"}},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"params\":{\"opIndex\":\"- The index of this userOp into the \\\"opInfos\\\" array.\",\"outOpInfo\":\"- The empty unpacked in-memory UserOperation structure that will be filled in here.\",\"userOp\":\"- The packed calldata UserOperation structure to validate.\"},\"returns\":{\"paymasterValidationData\":\"- The paymaster's validationData.\",\"validationData\":\" - The account's validationData.\"}},\"addStake(uint32)\":{\"params\":{\"_unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"delegateAndRevert(address,bytes)\":{\"details\":\"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.\",\"params\":{\"data\":\"data to pass to target in a delegatecall\",\"target\":\"a target contract to make a delegatecall from entrypoint\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"- The constructor code to be passed into the UserOperation.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"notice\":\"A custom revert error of handleOps, to identify the offending op. Should be caught in off-chain handleOps simulation and not happen on-chain. Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts. NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\"}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"notice\":\"A custom revert error of handleOps, to report a revert by account or paymaster.\"}],\"SignatureValidationFailed(address)\":[{\"notice\":\"Error case when a signature aggregator fails to verify the aggregated signature it had created.\"}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"notice\":\"Account \\\"sender\\\" was deployed.\"},\"BeforeExecution()\":{\"notice\":\"An event emitted by handleOps(), before starting the execution loop. Any event emitted before this event, is part of the validation.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation Paymaster's \\\"postOp\\\" call reverted with non-zero length.\"},\"SignatureAggregatorChanged(address)\":{\"notice\":\"Signature aggregator used by the following UserOperationEvents within this bundle.\"},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"notice\":\"UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length.\"}},\"kind\":\"user\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"notice\":\"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)\"},\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"delegateAndRevert(address,bytes)\":{\"notice\":\"Helper method for dry-run testing.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"getNonce(address,uint192)\":{\"notice\":\"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order.\"},\"getSenderAddress(bytes)\":{\"notice\":\"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error\"},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"notice\":\"Inner function to handle a UserOperation. Must be declared \\\"external\\\" to open a call context, but it can only be called by handleOps.\"},\"nonceSequenceNumber(address,uint192)\":{\"notice\":\"The next valid sequence number for a given nonce key.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v08/EntryPoint.sol\":\"EntryPoint\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@account-abstraction-v9/=lib/account-abstraction-v9/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":account-abstraction-v9/=lib/account-abstraction-v9/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6\",\"dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577\",\"dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]},\"lib/account-abstraction-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol\":{\"keccak256\":\"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79\",\"dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/SimulationOverrideHelper.sol\":{\"keccak256\":\"0x327a9038314036c1259ce7d2422d17b10f264df6b0d9f6b87cddb6b047898774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4288cd354dbc1344dbe6139a862abe6bbc784186705cd2fc5197ef0e26d8b66\",\"dweb:/ipfs/Qmerifmk26zWoYk2hRXptyC6ncPH4m7zyQEDJERHNo5ijf\"]},\"src/v08/EntryPoint.sol\":{\"keccak256\":\"0x8d889771da572658d9d4cc2aeeb8145c2fcc55b20fc160732ee3b3ecf27623ac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7a5dab7432771386b816248df9c417987426667319024e13fd3d0056ca3efc7b\",\"dweb:/ipfs/QmZ9h8CUHWwzxVwXxW8nSDbcttnmstXzUgDCdEoWXzYauN\"]},\"src/v08/overrides/Eip7702Support.sol\":{\"keccak256\":\"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b\",\"dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW\"]},\"src/v08/overrides/SenderCreator.sol\":{\"keccak256\":\"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b\",\"dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96\"]},\"src/v08/overrides/StakeManager.sol\":{\"keccak256\":\"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c\",\"dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn\"]},\"src/v08/overrides/UserOperationLib.sol\":{\"keccak256\":\"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3\",\"dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"type":"error","name":"CallPhaseReverted"},{"inputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"ret","type":"bytes"}],"type":"error","name":"DelegateAndRevert"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailedOp"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"inner","type":"bytes"}],"type":"error","name":"FailedOpWithRevert"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"type":"error","name":"PostOpReverted"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"SenderAddressResult"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"type":"error","name":"SignatureValidationFailed"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"factory","type":"address","indexed":false},{"internalType":"address","name":"paymaster","type":"address","indexed":false}],"type":"event","name":"AccountDeployed","anonymous":false},{"inputs":[],"type":"event","name":"BeforeExecution","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalDeposit","type":"uint256","indexed":false}],"type":"event","name":"Deposited","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"PostOpRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"aggregator","type":"address","indexed":true}],"type":"event","name":"SignatureAggregatorChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256","indexed":false}],"type":"event","name":"StakeLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"withdrawTime","type":"uint256","indexed":false}],"type":"event","name":"StakeUnlocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"StakeWithdrawn","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"paymaster","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"actualGasCost","type":"uint256","indexed":false},{"internalType":"uint256","name":"actualGasUsed","type":"uint256","indexed":false}],"type":"event","name":"UserOperationEvent","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"UserOperationPrefundTooLow","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"UserOperationRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_accountValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_paymasterValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bool","name":"validatePaymasterPrepayment","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"_validatePrepayment","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"delegateAndRevert"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"payable","type":"function","name":"depositTo"},{"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":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getDepositInfo","outputs":[{"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple","components":[{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"bool","name":"staked","type":"bool"},{"internalType":"uint112","name":"stake","type":"uint112"},{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"},{"internalType":"uint48","name":"withdrawTime","type":"uint48"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDomainSeparatorV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getPackedUserOpTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"initCode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"getSenderAddress"},{"inputs":[{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"getUserOpHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"struct IEntryPoint.UserOpsPerAggregator[]","name":"","type":"tuple[]","components":[{"internalType":"struct PackedUserOperation[]","name":"userOps","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"contract IAggregator","name":"aggregator","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleAggregatedOps"},{"inputs":[{"internalType":"struct PackedUserOperation[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleOps"},{"inputs":[{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"nonpayable","type":"function","name":"incrementNonce"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"struct EntryPoint.UserOpInfo","name":"opInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"uint256","name":"preGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"innerHandleOp","outputs":[{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint192","name":"","type":"uint192"}],"stateMutability":"view","type":"function","name":"nonceSequenceNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"senderCreator","outputs":[{"internalType":"contract ISenderCreator","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"params":{"opIndex":"- The index of this userOp into the \"opInfos\" array.","outOpInfo":"- The empty unpacked in-memory UserOperation structure that will be filled in here.","userOp":"- The packed calldata UserOperation structure to validate."},"returns":{"paymasterValidationData":"- The paymaster's validationData.","validationData":" - The account's validationData."}},"addStake(uint32)":{"params":{"_unstakeDelaySec":"- The new lock duration before the deposit can be withdrawn."}},"balanceOf(address)":{"params":{"account":"- The account to query."},"returns":{"_0":"- The deposit (for gas payment) of the account."}},"delegateAndRevert(address,bytes)":{"details":"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.","params":{"data":"data to pass to target in a delegatecall","target":"a target contract to make a delegatecall from entrypoint"}},"depositTo(address)":{"params":{"account":"- The account to add to."}},"eip712Domain()":{"details":"See {IERC-5267}."},"getDepositInfo(address)":{"params":{"account":"- The account to query."},"returns":{"info":" - Full deposit information of given account."}},"getNonce(address,uint192)":{"params":{"key":"the high 192 bit of the nonce","sender":"the account address"},"returns":{"nonce":"a full nonce to pass for next UserOp with this sender."}},"getSenderAddress(bytes)":{"params":{"initCode":"- The constructor code to be passed into the UserOperation."}},"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"params":{"userOp":"- The user operation to generate the request ID for."},"returns":{"_0":"hash the hash of this UserOperation"}},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"params":{"callData":"- The callData to execute.","context":"- The context bytes.","opInfo":"- The UserOpInfo struct."},"returns":{"actualGasCost":"- the actual cost in eth this UserOperation paid for gas"}},"withdrawStake(address)":{"params":{"withdrawAddress":"- The address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"withdrawAddress":"- The address to send withdrawn value.","withdrawAmount":"- The amount to withdraw."}}},"version":1},"userdoc":{"kind":"user","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"notice":"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)"},"addStake(uint32)":{"notice":"Add to the account's stake - amount and delay any pending unstake is first cancelled."},"balanceOf(address)":{"notice":"Get account balance."},"delegateAndRevert(address,bytes)":{"notice":"Helper method for dry-run testing."},"depositTo(address)":{"notice":"Add to the deposit of the given account."},"getDepositInfo(address)":{"notice":"Get deposit info."},"getNonce(address,uint192)":{"notice":"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order."},"getSenderAddress(bytes)":{"notice":"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error"},"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"notice":"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid."},"incrementNonce(uint192)":{"notice":"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key."},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"notice":"Inner function to handle a UserOperation. Must be declared \"external\" to open a call context, but it can only be called by handleOps."},"nonceSequenceNumber(address,uint192)":{"notice":"The next valid sequence number for a given nonce key."},"unlockStake()":{"notice":"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay."},"withdrawStake(address)":{"notice":"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass."},"withdrawTo(address,uint256)":{"notice":"Withdraw from the deposit."}},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@account-abstraction-v9/=lib/account-abstraction-v9/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","account-abstraction-v9/=lib/account-abstraction-v9/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v08/EntryPoint.sol":"EntryPoint"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/core/NonceManager.sol":{"keccak256":"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9","urls":["bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6","dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol":{"keccak256":"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78","urls":["bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020","dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol":{"keccak256":"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c","urls":["bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577","dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol":{"keccak256":"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588","urls":["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155","dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4","urls":["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9","dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol":{"keccak256":"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb","urls":["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3","dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol":{"keccak256":"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f","urls":["bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8","dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"},"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359","urls":["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be","dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/utils/Exec.sol":{"keccak256":"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74","urls":["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77","dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"],"license":"LGPL-3.0-only"},"lib/account-abstraction-v8/contracts/core/Helpers.sol":{"keccak256":"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e","urls":["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f","dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"],"license":"MIT"},"lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol":{"keccak256":"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d","urls":["bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4","dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol":{"keccak256":"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b","urls":["bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79","dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"src/SimulationOverrideHelper.sol":{"keccak256":"0x327a9038314036c1259ce7d2422d17b10f264df6b0d9f6b87cddb6b047898774","urls":["bzz-raw://f4288cd354dbc1344dbe6139a862abe6bbc784186705cd2fc5197ef0e26d8b66","dweb:/ipfs/Qmerifmk26zWoYk2hRXptyC6ncPH4m7zyQEDJERHNo5ijf"],"license":"MIT"},"src/v08/EntryPoint.sol":{"keccak256":"0x8d889771da572658d9d4cc2aeeb8145c2fcc55b20fc160732ee3b3ecf27623ac","urls":["bzz-raw://7a5dab7432771386b816248df9c417987426667319024e13fd3d0056ca3efc7b","dweb:/ipfs/QmZ9h8CUHWwzxVwXxW8nSDbcttnmstXzUgDCdEoWXzYauN"],"license":"GPL-3.0"},"src/v08/overrides/Eip7702Support.sol":{"keccak256":"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c","urls":["bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b","dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW"],"license":"MIT"},"src/v08/overrides/SenderCreator.sol":{"keccak256":"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c","urls":["bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b","dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96"],"license":"GPL-3.0"},"src/v08/overrides/StakeManager.sol":{"keccak256":"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0","urls":["bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c","dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn"],"license":"GPL-3.0"},"src/v08/overrides/UserOperationLib.sol":{"keccak256":"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17","urls":["bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3","dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu"],"license":"MIT"}},"version":1},"id":27}
|