@pimlico/alto 0.0.0-main.20251205T161640 → 0.0.0-main.20260101T134812
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 +56 -50
- package/esm/cli/config/bundler.js +1 -0
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +5 -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/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/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/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/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": "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": "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": "opsPerAggregator", "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": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "handleOps", "inputs": [{ "name": "ops", "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": "beneficiary", "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": "initDomainSeparator", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "innerHandleOp", "inputs": [{ "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "opInfo", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride08.UserOpInfo", "components": [{ "name": "mUserOp", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride08.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" }], "outputs": [{ "name": "actualGasCost", "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": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "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": "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": "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": "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" }] }], "bytecode": { "object": "0x60808060405234601557615196908161001a8239f35b5f80fdfe6101606040526004361015610024575b3615610019575f80fd5b6100223361317b565b005b5f610140525f3560e01c806242dc531461257257806301ffc9a7146124205780630396cb601461206557806309ccb8801461200c5780630bd28e3b14611f7057806313c65a6e14611f32578063154e58dc14611ed75780631b2e01b814611e41578063205c287814611ca057806322cdde4c14611c1c57806335567e1a14611b625780635287ce1214611a4257806370a08231146119d7578063765e827f14611939578063850aaf62146118745780639b249f6914611726578063b760faf9146116e5578063bb9fe6bf146114f6578063c23a5cea14611253578063d12e825d1461114f5763dbed18e00361000f5734610ec95761012136612ce2565b6101005260e0526101306136de565b6101405190815b60e0518110610f2e575061014a82612fc1565b61012052610140516080526101405160c0525b60e05160c0511061029b577fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9726101405161014051a161014051608081905290815b60e05181106101e1576101b48361010051614905565b610140517f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6101405180f35b6102436101f18260e051856131ee565b73ffffffffffffffffffffffffffffffffffffffff61021260208301613282565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d6101405161014051a28061322e565b9061014051915b80831061025c5750505060010161019e565b909194600190610289610270888587613090565b61027f608051610120516130fd565b5190608051614236565b0195816080510160805201919061024a565b6102aa60c05160e051836131ee565b73ffffffffffffffffffffffffffffffffffffffff6102d860206102ce848061322e565b60a0529301613282565b61014051911691905b60a05181106103055750505060a05160805101608052600160c0510160c05261015d565b6103168160805101610120516130fd565b516103248260a05185613090565b61014051915a81519273ffffffffffffffffffffffffffffffffffffffff61034b82613282565b168452602081810135908501526fffffffffffffffffffffffffffffffff6080808301358281166060880152811c604087015260a083013560c0808801919091528301359182166101008701521c6101208501526103ac60e08201826132a3565b9081610e15575b5050604051936103c282612e75565b6020850152846040526040810151946effffffffffffffffffffffffffffff8660c08401511760608401511760808401511760a084015117610100840151176101208401511711610daf5750604081015160608201510160808201510160a08201510160c0820151016101008201510294856040860152845173ffffffffffffffffffffffffffffffffffffffff60e08183511692610475898d61046960408b018b6132a3565b92909160805101614c92565b0151169661014051978015610d7e575b87516040810151905173ffffffffffffffffffffffffffffffffffffffff169061014051506040519a8b8960208d01519260208301937f19822f7c00000000000000000000000000000000000000000000000000000000855260248401926104ec9361510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d5261051c908d612bb9565b61014051908c5190846101405190602095f161014051519a3d602003610d73575b60405215610c80575015610c02575b505073ffffffffffffffffffffffffffffffffffffffff825116602083015190610140515260016020526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926105ba84612e0c565b90551603610b99575a840311610b305760e0015160609073ffffffffffffffffffffffffffffffffffffffff16610827575b73ffffffffffffffffffffffffffffffffffffffff949260a0859360809360606106219801520135905a900301910152614bbb565b911685036107be576107555761064b73ffffffffffffffffffffffffffffffffffffffff91614bbb565b91166106ec5761065d576001016102e1565b60a490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b9897969594505a9883519961085b73ffffffffffffffffffffffffffffffffffffffff60e08d01511660408701519061512e565b15610ac75760807f52b7512c000000000000000000000000000000000000000000000000000000009798999a9b01516040516108dc816108b060208a015160408b015190602084019d8e52896024850161510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b8651608073ffffffffffffffffffffffffffffffffffffffff60e08301511691015161014051918b61014051928551926101405191f1983d908161014051843e51948251604084019b8c519015918215610abb575b508115610a8b575b50610a065750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a90031161097a5750946105ec565b80887f220266b60000000000000000000000000000000000000000000000000000000060a4935260805101600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a87610a12613425565b6040519384937f65c8fd4d0000000000000000000000000000000000000000000000000000000085526080510160048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b0390fd5b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f610939565b6040141591505f610931565b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b610c0b9161512e565b15610c17578b8061054c565b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8b903b610cf057608490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b610cf8613425565b90610a876040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260805101600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b61014051915061053d565b6101408051849052516020819052604090205490985081811115610da85750610140515b97610485565b8103610da2565b80887f220266b6000000000000000000000000000000000000000000000000000000006084935260805101600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ed05781601411610ec95780359160248110610ec957603411610ec9576024810135608090811c60a0880152601490910135811c90860152606081901c15610e6b5760601c60e085015289806103b3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6101405180fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b610f3b8160e051846131ee565b92610f46848061322e565b919073ffffffffffffffffffffffffffffffffffffffff610f6960208801613282565b16956001871461111d5786610f86575b5050019250600101610137565b806040610f949201906132a3565b91873b15610ec957916040519283917f2dd8113300000000000000000000000000000000000000000000000000000000835286604484016040600486015252606483019160648860051b8501019281610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee182360301915b8b82106110c357505050505081611054917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85809503016024850152610140519561313d565b0381610140518a5af190816110a8575b5061109b57847f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b929350839260015f610f79565b610140516110b591612bb9565b61014051610ec9575f611064565b9193967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c90879294969703018552863584811215610ec957602061110c60019385839401613344565b98019501920188969594939161100e565b867f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957604080516007906020906111948482612bb9565b8281527f455243343333370000000000000000000000000000000000000000000000000091019081522081516001906020906111d08582612bb9565b828152017f310000000000000000000000000000000000000000000000000000000000000081522082519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f855283015260608201524660808201523060a082015260a0815261124660c082612bb9565b5190206002556101405180f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95761128a612c6a565b3361014051526101405160205260016040610140512001908154916dffffffffffffffffffffffffffff8360081c169283156114985760981c65ffffffffffff16801561143a5742106113dc5780547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611371612e46565b501561137e576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9573361014051526101405160205260016040610140512001805463ffffffff8160781c169081156116875760ff16156116295765ffffffffffff4216019065ffffffffffff82116115f65780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a26101405180f35b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526011600452602461014051fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95761171f61171a612c6a565b61317b565b6101405180f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043567ffffffffffffffff8111610ec957602061177a6117d5923690600401612c8d565b73ffffffffffffffffffffffffffffffffffffffff611797613452565b16906040518095819482937f570e1a36000000000000000000000000000000000000000000000000000000008452876004850152602484019161313d565b039161014051905af180156118665773ffffffffffffffffffffffffffffffffffffffff916101405191611837575b507f6ca7b80600000000000000000000000000000000000000000000000000000000610140515216600452602461014051fd5b611859915060203d60201161185f575b6118518183612bb9565b810190613111565b82611804565b503d611847565b6040513d61014051823e3d90fd5b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576118ab612c6a565b60243567ffffffffffffffff8111610ec9576118cb903690600401612c8d565b604051929181908437820190610140518252610140519280610140519303915af46118f4612e46565b90610a876040519283927f9941055400000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190612d75565b34610ec95761194736612ce2565b6119529291926136de565b61195b83612fc1565b611966818585613752565b5061014051927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a161014051915b8583106119a7576101b48585614905565b9091936001906119cd6119bb878987613090565b6119c588866130fd565b519088614236565b0194019190611996565b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95773ffffffffffffffffffffffffffffffffffffffff611a23612c6a565b1661014051526101405160205260206040610140512054604051908152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95773ffffffffffffffffffffffffffffffffffffffff611a8e612c6a565b604051611a9a81612b37565b6101405181526101405160208201526101405160408201526101405160608201526080610140519101521661014051526101405160205260a06040610140512065ffffffffffff604051611aed81612b37565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576020611b9b612c6a565b73ffffffffffffffffffffffffffffffffffffffff611bb8612cbb565b91166101405152600182526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff82165f52825260405f20547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043567ffffffffffffffff8111610ec9576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610ec957611c98602091600401612e75565b604051908152f35b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957611cd7612c6a565b6024359033610140515261014051602052604061014051208054808411611de35783611d0291612e39565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611d78612e46565b5015611d85576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957611e78612c6a565b73ffffffffffffffffffffffffffffffffffffffff611e95612cbb565b91166101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f52602052602060405f2054604051908152f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576020600254604051908152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610ec957336101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f5260205260405f206120038154612e0c565b90556101405180f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957602073ffffffffffffffffffffffffffffffffffffffff61205c613452565b16604051908152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043563ffffffff8116809103610ec95733610140515261014051602052604061014051209080156123c257600182015463ffffffff8160781c168210612364576120ee906dffffffffffffffffffffffffffff349160081c16612dd2565b918215612306576dffffffffffffffffffffffffffff83116122a857546040516122709161211b82612b37565b815265ffffffffffff602082019160018352604081016dffffffffffffffffffffffffffff87168152606082019086825260016080840193610140518552336101405152610140516020526040610140512090518155019451151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008754169116178555517fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff6effffffffffffffffffffffffffff008087549360081b16169116178455517fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff72ffffffff0000000000000000000000000000008086549360781b1616911617835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a26101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610ec957807f6930d3ee0000000000000000000000000000000000000000000000000000000060209214908115612548575b811561251e575b81156124f4575b81156124ca575b506040519015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014826124bf565b7f3e84f02100000000000000000000000000000000000000000000000000000000811491506124b8565b7fcf28ef9700000000000000000000000000000000000000000000000000000000811491506124b1565b7f989ccc5800000000000000000000000000000000000000000000000000000000811491506124aa565b346129e0576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126129e05760043567ffffffffffffffff81116129e057366023820112156129e0576125d3903690602481600401359101612c34565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c081126129e0576101406040519161260f83612b37565b126129e05760405161262081612b80565b60243573ffffffffffffffffffffffffffffffffffffffff811681036129e057815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff811681036129e05760e082015261012435610100820152610144356101208201528152602081019161016435835260408201906101843582526101a435606084015260808301916101c43583526101e43567ffffffffffffffff81116129e0576126f9903690600401612c8d565b955a90303303612ad95786516060810151955f9681519182612a1f575b50505050509061272e915a9003855101963691612c34565b925a9385516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480155f14612a19575048905b0180821015612a115750975b6127a673ffffffffffffffffffffffffffffffffffffffff60e084015116945182036060840151906149f5565b01925f92816128bc5750505173ffffffffffffffffffffffffffffffffffffffff16945b5a900301019485029051928184105f146128685750506003811015612835576002036128075760209281611c98929361280281614b16565b614a14565b7fdeadaa51000000000000000000000000000000000000000000000000000000006101405152602061014051fd5b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526021600452602461014051fd5b8161289e929594969396039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b50600384101561283557826128b7926020951590614a95565b611c98565b9096918782516128cf575b5050506127ca565b90919293505a9260038810156129e45760028803612905575b505060a06128fc925a9003910151906149f5565b908880806128c7565b60a083015191803b156129e0578b925f9283612961938c8b88604051998a98899788957f7c627b210000000000000000000000000000000000000000000000000000000087526004870152608060248701526084860190612d75565b9202604484015260648301520393f190816129cb575b506129c157610a87612987613425565b6040519182917fad7954bc000000000000000000000000000000000000000000000000000000008352602060048401526024830190612d75565b60a06128fc6128e8565b5f6129d591612bb9565b5f610140528a612977565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b905097612779565b9061276d565b915f9291838093602073ffffffffffffffffffffffffffffffffffffffff885116910192f115612a52575b808080612716565b61272e9392955060405191612a65613425565b908151612a7e575b505050604052600193909188612a4a565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201905191602073ffffffffffffffffffffffffffffffffffffffff855116940151612ace60405192839283612db8565b0390a3888080612a6d565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff821117612b5357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610140810190811067ffffffffffffffff821117612b5357604052565b6060810190811067ffffffffffffffff821117612b5357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612b5357604052565b67ffffffffffffffff8111612b5357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612c4082612bfa565b91612c4e6040519384612bb9565b8294818452818301116129e0578281602093845f960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036129e057565b9181601f840112156129e05782359167ffffffffffffffff83116129e057602083818601950101116129e057565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff821682036129e057565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126129e05760043567ffffffffffffffff81116129e05760040182601f820112156129e05780359267ffffffffffffffff84116129e0576020808301928560051b0101116129e057919060243573ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b604090612dcf939281528160208201520190612d75565b90565b91908201809211612ddf57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612ddf5760010190565b91908203918211612ddf57565b3d15612e70573d90612e5782612bfa565b91612e656040519384612bb9565b82523d5f602084013e565b606090565b604290612e81816134a8565b60025491612e8e81613282565b918015612f8c57905b60c0612ea660608301836132a3565b90816040519182372091612ebd60e08201826132a3565b908160405191823720926040519473ffffffffffffffffffffffffffffffffffffffff60208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152612f5461014082612bb9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612f9a60408201826132a3565b90816040519182372090612e97565b67ffffffffffffffff8111612b535760051b60200190565b90612fcb82612fa9565b612fd86040519182612bb9565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130068294612fa9565b01905f5b82811061301657505050565b60209060405161302581612b37565b60405161303181612b80565b5f81525f848201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f61012082015281525f838201525f60408201525f60608201525f60808201528282850101520161300a565b91908110156130d05760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee1813603018212156129e0570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80518210156130d05760209160051b010190565b908160209103126129e0575173ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6131e2348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b91908110156130d05760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156129e0570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129e0570180359067ffffffffffffffff82116129e057602001918160051b360383136129e057565b3573ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129e0570180359067ffffffffffffffff82116129e0576020019181360383136129e057565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156129e057016020813591019167ffffffffffffffff82116129e05781360383136129e057565b80359173ffffffffffffffffffffffffffffffffffffffff831683036129e05773ffffffffffffffffffffffffffffffffffffffff612dcf931681526020820135602082015261341661340a6133d16133b66133a360408701876132f4565b610120604088015261012087019161313d565b6133c360608701876132f4565b90868303606088015261313d565b6080850135608085015260a085013560a085015260c085013560c08501526133fc60e08601866132f4565b9085830360e087015261313d565b926101008101906132f4565b9161010081850391015261313d565b3d6108008111613449575b604051906020818301016040528082525f602083013e90565b50610800613430565b7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d45473ffffffffffffffffffffffffffffffffffffffff1680612dcf575073449ed7c3e6fee6a97311d4b55475df59c44add3390565b6134b560408201826132a3565b90916134c18284614b66565b156136d7576134cf90613282565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000831603613615575060181b91601482116135755750506040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008080602084019416161682526014815261356f603482612bb9565b51902090565b816014116129e057602061356f916040519384917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808086860199161616875260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec83019101603484013781015f8382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b3b156136795760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c61372a5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b92919092835f5b8181106137665750505050565b61377081856130fd565b5161377c828486613090565b5f915a81519273ffffffffffffffffffffffffffffffffffffffff6137a082613282565b168452602081013560208501526080810135936fffffffffffffffffffffffffffffffff8560801c951694604082019060608301968752815260c0820160a0840135815260c0840135906fffffffffffffffffffffffffffffffff8260801c9216916101208501906101008601938452815261381f60e08701876132a3565b90816141d0575b505060405161383487612e75565b9960208a019a8b528160405285519586855117825117926effffffffffffffffffffffffffffff60808a01948551179560a08b01968751178951179051171161416e5750519051019051019051019051019051029560408601918783528973ffffffffffffffffffffffffffffffffffffffff60e089516138c98b84835116956138c160408d018d6132a3565b929091614c92565b015116985f998015614147575b89516040810151905173ffffffffffffffffffffffffffffffffffffffff1680916040519d8e808d8b519360208301947f19822f7c00000000000000000000000000000000000000000000000000000000865260248401926139379361510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810182526139679082612bb9565b51905f6020948194f15f519c3d60200361413f575b60405215614054575015613fda575b505073ffffffffffffffffffffffffffffffffffffffff8451166020850151905f52600160205260405f2077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926139f384612e0c565b90551603613f75575a860311613f105773ffffffffffffffffffffffffffffffffffffffff60e0606094015116613c50575b505073ffffffffffffffffffffffffffffffffffffffff949260a085936080936060613a5c9801520135905a900301910152614bbb565b9116613beb57613b8657613a8473ffffffffffffffffffffffffffffffffffffffff91614bbb565b9116613b2157613a9657600101613759565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b909c9b9a99989796505a9085519d60e08f015173ffffffffffffffffffffffffffffffffffffffff168151613c849161512e565b15613eab57613cd77f52b7512c00000000000000000000000000000000000000000000000000000000999a9b9c9d9e9f60800151926108b060405193849251905190602084019d8e52896024850161510c565b5f8088518b82608073ffffffffffffffffffffffffffffffffffffffff60e08501511693015192865193f1983d90815f843e51948251604084019b8c519015918215613e9f575b508115613e6f575b50613df25750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a900311613d6a5750948260a0613a25565b80887f220266b60000000000000000000000000000000000000000000000000000000060a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a87613dfe613425565b6040519384937f65c8fd4d00000000000000000000000000000000000000000000000000000000855260048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f613d26565b6040141591505f613d1e565b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b613fe39161512e565b15613fef575f8061398b565b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8d903b6140c057608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b6140c8613425565b90610a876040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b5f915061397c565b9950815f525f60205260405f20548181115f1461416757505f5b996138d6565b8103614161565b808f7f220266b60000000000000000000000000000000000000000000000000000000060849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ed057816014116129e057803560601c91602481106129e0576014820135906034116129e0576fffffffffffffffffffffffffffffffff60248193013560801c1660a089015260801c1660808701528015610e6b5760e08601525f80613826565b9092915a6060820151604051958661425160608301836132a3565b5f600382116148fd575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f000000000000000000000000000000000000000000000000000000000361478f575050505f61436861445c6142f6614328602095868a01516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000008a850152604060248501526064840190613344565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b6108b06040519384927e42dc5300000000000000000000000000000000000000000000000000000000888501526102006024850152610224840190612d75565b61442b604484018b60806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015287612d75565b828151910182305af15f519660405215614477575b50505050565b9091929394505f3d602014614782575b7fdeaddead00000000000000000000000000000000000000000000000000000000810361451357608485604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b92935090917fdeadaa510000000000000000000000000000000000000000000000000000000003614576575061455b61455061456b925a90612e39565b608084015190612dd2565b6040830151836128028295614b16565b905b5f808080614471565b906145e99060405160208501518551907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792602073ffffffffffffffffffffffffffffffffffffffff8451169301516145cc613425565b906145dc60405192839283612db8565b0390a36040525a90612e39565b6145f96080840191825190612dd2565b915f905a9285516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480155f1461477c575048905b01808210156147745750955b61467373ffffffffffffffffffffffffffffffffffffffff60e084015116935182036060840151906149f5565b01925f92806147455750505173ffffffffffffffffffffffffffffffffffffffff16935b5a900301019283026040850151928184105f146146f9575050806146cc575090816146c6929361280281614b16565b9061456d565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b61472e908284939795039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b506146cc575090825f61474093614a95565b6146c6565b95919051614754575b50614697565b9350905061476d5a9360a05f955a9003910151906149f5565b905f61474e565b905095614646565b9061463a565b5060205f803e5f51614487565b6148f493506148c8916147d4917e42dc53000000000000000000000000000000000000000000000000000000006020860152610200602486015261022485019161313d565b614897604484018860806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015284612d75565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101885287612bb9565b60205f8761445c565b50813561425b565b73ffffffffffffffffffffffffffffffffffffffff168015614997575f80809381935af1614931612e46565b501561493957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b90619c408201811115614a0e57606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b90600211614bb657357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b8015614c8b575f60408051614bcf81612b9d565b8281528260208201520152604073ffffffffffffffffffffffffffffffffffffffff82169165ffffffffffff8160a01c16908115614c7d575b60d01c9065ffffffffffff835191614c1f83612b9d565b8583528360208401521692839101527f182d361d27e8fee91541f8630840b9272bdb770c7bb6239b09cd74563c4053415480155f14614c77575042915b8211918215614c6c575b50509091565b111590505f80614c66565b91614c5c565b65ffffffffffff9150614c08565b505f905f90565b929190915f9080614ca5575b5050505050565b83519473ffffffffffffffffffffffffffffffffffffffff86511695614ccb8386614b66565b6150245750853b614fbf5760148210614f5a5782602073ffffffffffffffffffffffffffffffffffffffff614cfe613452565b16604088510151604051809481937f570e1a3600000000000000000000000000000000000000000000000000000000835285600484015282614d458c8b602484019161313d565b0393f1908115614f4f578491614f30575b5073ffffffffffffffffffffffffffffffffffffffff81168015614ecb578703614e66573b15614e015750601411614dfe577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d91604091503573ffffffffffffffffffffffffffffffffffffffff60e06020860151955101511673ffffffffffffffffffffffffffffffffffffffff83519260601c1682526020820152a35f80808080614c9e565b80fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b614f49915060203d60201161185f576118518183612bb9565b5f614d56565b6040513d86823e3d90fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b945050919050601482116150385750505050565b604073ffffffffffffffffffffffffffffffffffffffff615057613452565b1693015190826014116129e057833b156129e0575f80946150db96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec604486019301910161313d565b0393f18015615101576150f1575b808080614471565b5f6150fb91612bb9565b5f6150e9565b6040513d5f823e3d90fd5b61512460409295949395606083526060830190613344565b9460208201520152565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081548181106136d75703905560019056fea264697066735822122096ce5d9258cfdddeda2dc01514a4981e59665db19cf9819d8a5879cfdfaaf94664736f6c634300081c0033", "sourceMap": "1262:38367:32:-:0;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6101606040526004361015610024575b3615610019575f80fd5b6100223361317b565b005b5f610140525f3560e01c806242dc531461257257806301ffc9a7146124205780630396cb601461206557806309ccb8801461200c5780630bd28e3b14611f7057806313c65a6e14611f32578063154e58dc14611ed75780631b2e01b814611e41578063205c287814611ca057806322cdde4c14611c1c57806335567e1a14611b625780635287ce1214611a4257806370a08231146119d7578063765e827f14611939578063850aaf62146118745780639b249f6914611726578063b760faf9146116e5578063bb9fe6bf146114f6578063c23a5cea14611253578063d12e825d1461114f5763dbed18e00361000f5734610ec95761012136612ce2565b6101005260e0526101306136de565b6101405190815b60e0518110610f2e575061014a82612fc1565b61012052610140516080526101405160c0525b60e05160c0511061029b577fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9726101405161014051a161014051608081905290815b60e05181106101e1576101b48361010051614905565b610140517f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6101405180f35b6102436101f18260e051856131ee565b73ffffffffffffffffffffffffffffffffffffffff61021260208301613282565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d6101405161014051a28061322e565b9061014051915b80831061025c5750505060010161019e565b909194600190610289610270888587613090565b61027f608051610120516130fd565b5190608051614236565b0195816080510160805201919061024a565b6102aa60c05160e051836131ee565b73ffffffffffffffffffffffffffffffffffffffff6102d860206102ce848061322e565b60a0529301613282565b61014051911691905b60a05181106103055750505060a05160805101608052600160c0510160c05261015d565b6103168160805101610120516130fd565b516103248260a05185613090565b61014051915a81519273ffffffffffffffffffffffffffffffffffffffff61034b82613282565b168452602081810135908501526fffffffffffffffffffffffffffffffff6080808301358281166060880152811c604087015260a083013560c0808801919091528301359182166101008701521c6101208501526103ac60e08201826132a3565b9081610e15575b5050604051936103c282612e75565b6020850152846040526040810151946effffffffffffffffffffffffffffff8660c08401511760608401511760808401511760a084015117610100840151176101208401511711610daf5750604081015160608201510160808201510160a08201510160c0820151016101008201510294856040860152845173ffffffffffffffffffffffffffffffffffffffff60e08183511692610475898d61046960408b018b6132a3565b92909160805101614c92565b0151169661014051978015610d7e575b87516040810151905173ffffffffffffffffffffffffffffffffffffffff169061014051506040519a8b8960208d01519260208301937f19822f7c00000000000000000000000000000000000000000000000000000000855260248401926104ec9361510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d5261051c908d612bb9565b61014051908c5190846101405190602095f161014051519a3d602003610d73575b60405215610c80575015610c02575b505073ffffffffffffffffffffffffffffffffffffffff825116602083015190610140515260016020526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926105ba84612e0c565b90551603610b99575a840311610b305760e0015160609073ffffffffffffffffffffffffffffffffffffffff16610827575b73ffffffffffffffffffffffffffffffffffffffff949260a0859360809360606106219801520135905a900301910152614bbb565b911685036107be576107555761064b73ffffffffffffffffffffffffffffffffffffffff91614bbb565b91166106ec5761065d576001016102e1565b60a490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b9897969594505a9883519961085b73ffffffffffffffffffffffffffffffffffffffff60e08d01511660408701519061512e565b15610ac75760807f52b7512c000000000000000000000000000000000000000000000000000000009798999a9b01516040516108dc816108b060208a015160408b015190602084019d8e52896024850161510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b8651608073ffffffffffffffffffffffffffffffffffffffff60e08301511691015161014051918b61014051928551926101405191f1983d908161014051843e51948251604084019b8c519015918215610abb575b508115610a8b575b50610a065750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a90031161097a5750946105ec565b80887f220266b60000000000000000000000000000000000000000000000000000000060a4935260805101600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a87610a12613425565b6040519384937f65c8fd4d0000000000000000000000000000000000000000000000000000000085526080510160048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b0390fd5b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f610939565b6040141591505f610931565b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b610c0b9161512e565b15610c17578b8061054c565b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8b903b610cf057608490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b610cf8613425565b90610a876040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260805101600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b61014051915061053d565b6101408051849052516020819052604090205490985081811115610da85750610140515b97610485565b8103610da2565b80887f220266b6000000000000000000000000000000000000000000000000000000006084935260805101600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ed05781601411610ec95780359160248110610ec957603411610ec9576024810135608090811c60a0880152601490910135811c90860152606081901c15610e6b5760601c60e085015289806103b3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6101405180fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b610f3b8160e051846131ee565b92610f46848061322e565b919073ffffffffffffffffffffffffffffffffffffffff610f6960208801613282565b16956001871461111d5786610f86575b5050019250600101610137565b806040610f949201906132a3565b91873b15610ec957916040519283917f2dd8113300000000000000000000000000000000000000000000000000000000835286604484016040600486015252606483019160648860051b8501019281610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee182360301915b8b82106110c357505050505081611054917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85809503016024850152610140519561313d565b0381610140518a5af190816110a8575b5061109b57847f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b929350839260015f610f79565b610140516110b591612bb9565b61014051610ec9575f611064565b9193967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c90879294969703018552863584811215610ec957602061110c60019385839401613344565b98019501920188969594939161100e565b867f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957604080516007906020906111948482612bb9565b8281527f455243343333370000000000000000000000000000000000000000000000000091019081522081516001906020906111d08582612bb9565b828152017f310000000000000000000000000000000000000000000000000000000000000081522082519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f855283015260608201524660808201523060a082015260a0815261124660c082612bb9565b5190206002556101405180f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95761128a612c6a565b3361014051526101405160205260016040610140512001908154916dffffffffffffffffffffffffffff8360081c169283156114985760981c65ffffffffffff16801561143a5742106113dc5780547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611371612e46565b501561137e576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9573361014051526101405160205260016040610140512001805463ffffffff8160781c169081156116875760ff16156116295765ffffffffffff4216019065ffffffffffff82116115f65780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a26101405180f35b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526011600452602461014051fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95761171f61171a612c6a565b61317b565b6101405180f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043567ffffffffffffffff8111610ec957602061177a6117d5923690600401612c8d565b73ffffffffffffffffffffffffffffffffffffffff611797613452565b16906040518095819482937f570e1a36000000000000000000000000000000000000000000000000000000008452876004850152602484019161313d565b039161014051905af180156118665773ffffffffffffffffffffffffffffffffffffffff916101405191611837575b507f6ca7b80600000000000000000000000000000000000000000000000000000000610140515216600452602461014051fd5b611859915060203d60201161185f575b6118518183612bb9565b810190613111565b82611804565b503d611847565b6040513d61014051823e3d90fd5b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576118ab612c6a565b60243567ffffffffffffffff8111610ec9576118cb903690600401612c8d565b604051929181908437820190610140518252610140519280610140519303915af46118f4612e46565b90610a876040519283927f9941055400000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190612d75565b34610ec95761194736612ce2565b6119529291926136de565b61195b83612fc1565b611966818585613752565b5061014051927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a161014051915b8583106119a7576101b48585614905565b9091936001906119cd6119bb878987613090565b6119c588866130fd565b519088614236565b0194019190611996565b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95773ffffffffffffffffffffffffffffffffffffffff611a23612c6a565b1661014051526101405160205260206040610140512054604051908152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95773ffffffffffffffffffffffffffffffffffffffff611a8e612c6a565b604051611a9a81612b37565b6101405181526101405160208201526101405160408201526101405160608201526080610140519101521661014051526101405160205260a06040610140512065ffffffffffff604051611aed81612b37565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576020611b9b612c6a565b73ffffffffffffffffffffffffffffffffffffffff611bb8612cbb565b91166101405152600182526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff82165f52825260405f20547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043567ffffffffffffffff8111610ec9576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610ec957611c98602091600401612e75565b604051908152f35b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957611cd7612c6a565b6024359033610140515261014051602052604061014051208054808411611de35783611d0291612e39565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611d78612e46565b5015611d85576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957611e78612c6a565b73ffffffffffffffffffffffffffffffffffffffff611e95612cbb565b91166101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f52602052602060405f2054604051908152f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576020600254604051908152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610ec957336101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f5260205260405f206120038154612e0c565b90556101405180f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957602073ffffffffffffffffffffffffffffffffffffffff61205c613452565b16604051908152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043563ffffffff8116809103610ec95733610140515261014051602052604061014051209080156123c257600182015463ffffffff8160781c168210612364576120ee906dffffffffffffffffffffffffffff349160081c16612dd2565b918215612306576dffffffffffffffffffffffffffff83116122a857546040516122709161211b82612b37565b815265ffffffffffff602082019160018352604081016dffffffffffffffffffffffffffff87168152606082019086825260016080840193610140518552336101405152610140516020526040610140512090518155019451151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008754169116178555517fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff6effffffffffffffffffffffffffff008087549360081b16169116178455517fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff72ffffffff0000000000000000000000000000008086549360781b1616911617835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a26101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610ec957807f6930d3ee0000000000000000000000000000000000000000000000000000000060209214908115612548575b811561251e575b81156124f4575b81156124ca575b506040519015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014826124bf565b7f3e84f02100000000000000000000000000000000000000000000000000000000811491506124b8565b7fcf28ef9700000000000000000000000000000000000000000000000000000000811491506124b1565b7f989ccc5800000000000000000000000000000000000000000000000000000000811491506124aa565b346129e0576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126129e05760043567ffffffffffffffff81116129e057366023820112156129e0576125d3903690602481600401359101612c34565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c081126129e0576101406040519161260f83612b37565b126129e05760405161262081612b80565b60243573ffffffffffffffffffffffffffffffffffffffff811681036129e057815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff811681036129e05760e082015261012435610100820152610144356101208201528152602081019161016435835260408201906101843582526101a435606084015260808301916101c43583526101e43567ffffffffffffffff81116129e0576126f9903690600401612c8d565b955a90303303612ad95786516060810151955f9681519182612a1f575b50505050509061272e915a9003855101963691612c34565b925a9385516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480155f14612a19575048905b0180821015612a115750975b6127a673ffffffffffffffffffffffffffffffffffffffff60e084015116945182036060840151906149f5565b01925f92816128bc5750505173ffffffffffffffffffffffffffffffffffffffff16945b5a900301019485029051928184105f146128685750506003811015612835576002036128075760209281611c98929361280281614b16565b614a14565b7fdeadaa51000000000000000000000000000000000000000000000000000000006101405152602061014051fd5b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526021600452602461014051fd5b8161289e929594969396039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b50600384101561283557826128b7926020951590614a95565b611c98565b9096918782516128cf575b5050506127ca565b90919293505a9260038810156129e45760028803612905575b505060a06128fc925a9003910151906149f5565b908880806128c7565b60a083015191803b156129e0578b925f9283612961938c8b88604051998a98899788957f7c627b210000000000000000000000000000000000000000000000000000000087526004870152608060248701526084860190612d75565b9202604484015260648301520393f190816129cb575b506129c157610a87612987613425565b6040519182917fad7954bc000000000000000000000000000000000000000000000000000000008352602060048401526024830190612d75565b60a06128fc6128e8565b5f6129d591612bb9565b5f610140528a612977565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b905097612779565b9061276d565b915f9291838093602073ffffffffffffffffffffffffffffffffffffffff885116910192f115612a52575b808080612716565b61272e9392955060405191612a65613425565b908151612a7e575b505050604052600193909188612a4a565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201905191602073ffffffffffffffffffffffffffffffffffffffff855116940151612ace60405192839283612db8565b0390a3888080612a6d565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff821117612b5357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610140810190811067ffffffffffffffff821117612b5357604052565b6060810190811067ffffffffffffffff821117612b5357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612b5357604052565b67ffffffffffffffff8111612b5357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612c4082612bfa565b91612c4e6040519384612bb9565b8294818452818301116129e0578281602093845f960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036129e057565b9181601f840112156129e05782359167ffffffffffffffff83116129e057602083818601950101116129e057565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff821682036129e057565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126129e05760043567ffffffffffffffff81116129e05760040182601f820112156129e05780359267ffffffffffffffff84116129e0576020808301928560051b0101116129e057919060243573ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b604090612dcf939281528160208201520190612d75565b90565b91908201809211612ddf57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612ddf5760010190565b91908203918211612ddf57565b3d15612e70573d90612e5782612bfa565b91612e656040519384612bb9565b82523d5f602084013e565b606090565b604290612e81816134a8565b60025491612e8e81613282565b918015612f8c57905b60c0612ea660608301836132a3565b90816040519182372091612ebd60e08201826132a3565b908160405191823720926040519473ffffffffffffffffffffffffffffffffffffffff60208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152612f5461014082612bb9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612f9a60408201826132a3565b90816040519182372090612e97565b67ffffffffffffffff8111612b535760051b60200190565b90612fcb82612fa9565b612fd86040519182612bb9565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130068294612fa9565b01905f5b82811061301657505050565b60209060405161302581612b37565b60405161303181612b80565b5f81525f848201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f61012082015281525f838201525f60408201525f60608201525f60808201528282850101520161300a565b91908110156130d05760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee1813603018212156129e0570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80518210156130d05760209160051b010190565b908160209103126129e0575173ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6131e2348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b91908110156130d05760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156129e0570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129e0570180359067ffffffffffffffff82116129e057602001918160051b360383136129e057565b3573ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129e0570180359067ffffffffffffffff82116129e0576020019181360383136129e057565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156129e057016020813591019167ffffffffffffffff82116129e05781360383136129e057565b80359173ffffffffffffffffffffffffffffffffffffffff831683036129e05773ffffffffffffffffffffffffffffffffffffffff612dcf931681526020820135602082015261341661340a6133d16133b66133a360408701876132f4565b610120604088015261012087019161313d565b6133c360608701876132f4565b90868303606088015261313d565b6080850135608085015260a085013560a085015260c085013560c08501526133fc60e08601866132f4565b9085830360e087015261313d565b926101008101906132f4565b9161010081850391015261313d565b3d6108008111613449575b604051906020818301016040528082525f602083013e90565b50610800613430565b7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d45473ffffffffffffffffffffffffffffffffffffffff1680612dcf575073449ed7c3e6fee6a97311d4b55475df59c44add3390565b6134b560408201826132a3565b90916134c18284614b66565b156136d7576134cf90613282565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000831603613615575060181b91601482116135755750506040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008080602084019416161682526014815261356f603482612bb9565b51902090565b816014116129e057602061356f916040519384917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808086860199161616875260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec83019101603484013781015f8382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b3b156136795760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c61372a5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b92919092835f5b8181106137665750505050565b61377081856130fd565b5161377c828486613090565b5f915a81519273ffffffffffffffffffffffffffffffffffffffff6137a082613282565b168452602081013560208501526080810135936fffffffffffffffffffffffffffffffff8560801c951694604082019060608301968752815260c0820160a0840135815260c0840135906fffffffffffffffffffffffffffffffff8260801c9216916101208501906101008601938452815261381f60e08701876132a3565b90816141d0575b505060405161383487612e75565b9960208a019a8b528160405285519586855117825117926effffffffffffffffffffffffffffff60808a01948551179560a08b01968751178951179051171161416e5750519051019051019051019051019051029560408601918783528973ffffffffffffffffffffffffffffffffffffffff60e089516138c98b84835116956138c160408d018d6132a3565b929091614c92565b015116985f998015614147575b89516040810151905173ffffffffffffffffffffffffffffffffffffffff1680916040519d8e808d8b519360208301947f19822f7c00000000000000000000000000000000000000000000000000000000865260248401926139379361510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810182526139679082612bb9565b51905f6020948194f15f519c3d60200361413f575b60405215614054575015613fda575b505073ffffffffffffffffffffffffffffffffffffffff8451166020850151905f52600160205260405f2077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926139f384612e0c565b90551603613f75575a860311613f105773ffffffffffffffffffffffffffffffffffffffff60e0606094015116613c50575b505073ffffffffffffffffffffffffffffffffffffffff949260a085936080936060613a5c9801520135905a900301910152614bbb565b9116613beb57613b8657613a8473ffffffffffffffffffffffffffffffffffffffff91614bbb565b9116613b2157613a9657600101613759565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b909c9b9a99989796505a9085519d60e08f015173ffffffffffffffffffffffffffffffffffffffff168151613c849161512e565b15613eab57613cd77f52b7512c00000000000000000000000000000000000000000000000000000000999a9b9c9d9e9f60800151926108b060405193849251905190602084019d8e52896024850161510c565b5f8088518b82608073ffffffffffffffffffffffffffffffffffffffff60e08501511693015192865193f1983d90815f843e51948251604084019b8c519015918215613e9f575b508115613e6f575b50613df25750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a900311613d6a5750948260a0613a25565b80887f220266b60000000000000000000000000000000000000000000000000000000060a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a87613dfe613425565b6040519384937f65c8fd4d00000000000000000000000000000000000000000000000000000000855260048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f613d26565b6040141591505f613d1e565b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b613fe39161512e565b15613fef575f8061398b565b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8d903b6140c057608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b6140c8613425565b90610a876040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b5f915061397c565b9950815f525f60205260405f20548181115f1461416757505f5b996138d6565b8103614161565b808f7f220266b60000000000000000000000000000000000000000000000000000000060849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ed057816014116129e057803560601c91602481106129e0576014820135906034116129e0576fffffffffffffffffffffffffffffffff60248193013560801c1660a089015260801c1660808701528015610e6b5760e08601525f80613826565b9092915a6060820151604051958661425160608301836132a3565b5f600382116148fd575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f000000000000000000000000000000000000000000000000000000000361478f575050505f61436861445c6142f6614328602095868a01516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000008a850152604060248501526064840190613344565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b6108b06040519384927e42dc5300000000000000000000000000000000000000000000000000000000888501526102006024850152610224840190612d75565b61442b604484018b60806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015287612d75565b828151910182305af15f519660405215614477575b50505050565b9091929394505f3d602014614782575b7fdeaddead00000000000000000000000000000000000000000000000000000000810361451357608485604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b92935090917fdeadaa510000000000000000000000000000000000000000000000000000000003614576575061455b61455061456b925a90612e39565b608084015190612dd2565b6040830151836128028295614b16565b905b5f808080614471565b906145e99060405160208501518551907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792602073ffffffffffffffffffffffffffffffffffffffff8451169301516145cc613425565b906145dc60405192839283612db8565b0390a36040525a90612e39565b6145f96080840191825190612dd2565b915f905a9285516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480155f1461477c575048905b01808210156147745750955b61467373ffffffffffffffffffffffffffffffffffffffff60e084015116935182036060840151906149f5565b01925f92806147455750505173ffffffffffffffffffffffffffffffffffffffff16935b5a900301019283026040850151928184105f146146f9575050806146cc575090816146c6929361280281614b16565b9061456d565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b61472e908284939795039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b506146cc575090825f61474093614a95565b6146c6565b95919051614754575b50614697565b9350905061476d5a9360a05f955a9003910151906149f5565b905f61474e565b905095614646565b9061463a565b5060205f803e5f51614487565b6148f493506148c8916147d4917e42dc53000000000000000000000000000000000000000000000000000000006020860152610200602486015261022485019161313d565b614897604484018860806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015284612d75565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101885287612bb9565b60205f8761445c565b50813561425b565b73ffffffffffffffffffffffffffffffffffffffff168015614997575f80809381935af1614931612e46565b501561493957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b90619c408201811115614a0e57606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b90600211614bb657357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b8015614c8b575f60408051614bcf81612b9d565b8281528260208201520152604073ffffffffffffffffffffffffffffffffffffffff82169165ffffffffffff8160a01c16908115614c7d575b60d01c9065ffffffffffff835191614c1f83612b9d565b8583528360208401521692839101527f182d361d27e8fee91541f8630840b9272bdb770c7bb6239b09cd74563c4053415480155f14614c77575042915b8211918215614c6c575b50509091565b111590505f80614c66565b91614c5c565b65ffffffffffff9150614c08565b505f905f90565b929190915f9080614ca5575b5050505050565b83519473ffffffffffffffffffffffffffffffffffffffff86511695614ccb8386614b66565b6150245750853b614fbf5760148210614f5a5782602073ffffffffffffffffffffffffffffffffffffffff614cfe613452565b16604088510151604051809481937f570e1a3600000000000000000000000000000000000000000000000000000000835285600484015282614d458c8b602484019161313d565b0393f1908115614f4f578491614f30575b5073ffffffffffffffffffffffffffffffffffffffff81168015614ecb578703614e66573b15614e015750601411614dfe577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d91604091503573ffffffffffffffffffffffffffffffffffffffff60e06020860151955101511673ffffffffffffffffffffffffffffffffffffffff83519260601c1682526020820152a35f80808080614c9e565b80fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b614f49915060203d60201161185f576118518183612bb9565b5f614d56565b6040513d86823e3d90fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b945050919050601482116150385750505050565b604073ffffffffffffffffffffffffffffffffffffffff615057613452565b1693015190826014116129e057833b156129e0575f80946150db96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec604486019301910161313d565b0393f18015615101576150f1575b808080614471565b5f6150fb91612bb9565b5f6150e9565b6040513d5f823e3d90fd5b61512460409295949395606083526060830190613344565b9460208201520152565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081548181106136d75703905560019056fea264697066735822122096ce5d9258cfdddeda2dc01514a4981e59665db19cf9819d8a5879cfdfaaf94664736f6c634300081c0033", "sourceMap": "1262:38367:32:-:0;;;;;;;;;-1:-1:-1;1262:38367:32;;;;;;;;1324:10:4;;;:::i;:::-;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7401:31;1262:38367;7401:31;;;1262:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1181:103:19;;:::i;:::-;1262:38367:32;;;;4487:11;;;;;;;5326:26;;;;:::i;:::-;;;1262:38367;;5367:19;;1262:38367;;5405:13;;5420:11;;;;;;;;5765:17;1262:38367;;;;5765:17;1262:38367;;5832:11;;;;1262:38367;;5877:11;;;;;;;6396:9;;;;;:::i;:::-;1262:38367;;637:66:19;3550:68:23;1262:38367:32;;;;5890:3;6097:11;5949:19;;;;;;:::i;:::-;1262:38367;6026:14;4687;6026;;;:::i;:::-;1262:38367;5991:51;1262:38367;;;;5991:51;6097:11;;:::i;:::-;1262:38367;;;6172:171;6192:10;;;;;;5890:3;;;4828:1;1262:38367;5862:13;;6204:3;6268:6;;;4828:1;6268:6;6244:49;6268:6;;;;;:::i;:::-;6276:16;;;;;;:::i;:::-;;6244:49;;;;:::i;:::-;1886:4;6315:9;;;;1262:38367;6315:9;;1262:38367;6177:13;;;;5433:3;5492:19;;;;;;;:::i;:::-;1262:38367;5620:14;4687;5566:11;;;;:::i;:::-;;;5620:14;;;:::i;:::-;-1:-1:-1;;1262:38367:32;;;-1:-1:-1;14162:10:32;;;;;;;1886:4;;;;;;;;5653:78;;4828:1;5433:3;;1262:38367;5433:3;;5405:13;;14174:3;14224:26;14232:17;;;1886:4;14224:26;;;:::i;:::-;;14380:6;;;;;;:::i;:::-;14159:1;;;31506:9;31555:17;;17685:13;1262:38367;17685:13;;;:::i;:::-;1262:38367;;;4687:14;17724:12;;;1262:38367;17708:13;;;1262:38367;430:2:5;17830:23:32;;;;1262:38367;430:2:5;;;17777:20:32;;;1262:38367;;;;17747:28;;1262:38367;17893:25;;;1262:38367;17864:26;;;;1262:38367;;;;18012:14;;1262:38367;430:2:5;;;17959:20:32;;;1262:38367;;17929:28;;;1262:38367;18071:23;1262:38367;18071:23;;17724:12;18071:23;:::i;:::-;18108:27;;18104:489;;14174:3;38853:67;;1262:38367;38853:67;31775:21;;;;:::i;:::-;4687:14;31752:20;;1262:38367;39136:66;1262:38367;39136:66;1262:38367;17747:28;;1262:38367;17864:26;1262:38367;17864:26;;;;1262:38367;32086:49;17777:20;;;1262:38367;32086:72;17830:23;32173:37;;1262:38367;32086:124;17893:25;32213:31;;1262:38367;32086:158;17959:20;;;1262:38367;32086:181;17929:28;;;1262:38367;32086:224;32328:33;1262:38367;;17747:28;1262:38367;17747:28;;1262:38367;17777:20;;;1262:38367;1886:4;17830:23;32173:37;;1262:38367;1886:4;17893:25;32213:31;;1262:38367;1886:4;17864:26;;;1262:38367;1886:4;17959:20;;;1262:38367;;32484:17;;1262:38367;32484:17;;1262:38367;21928:14;;1262:38367;;;;;;22040:11;;;;;1262:38367;22040:11;;;;:::i;:::-;14232:17;;;;;1886:4;22040:11;:::i;:::-;22086:17;1262:38367;;14159:1;;;22166:23;;;22162:182;;14174:3;23374:14;;1262:38367;23374:35;;1262:38367;;;;;14159:1;;;38853:67;1262:38367;38853:67;31752:20;;;4687:14;31752:20;;1886:4;23592:85;4687:14;23592:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;14159:1;;23691:326;;;14159:1;;;;23691:326;4687:14;23691:326;;14159:1;;23691:326;;;4687:14;23691:326;;;14174:3;1262:38367;39136:66;24082:8;24078:286;;22166:23;;22449:205;;14174:3;1262:38367;;;;;;4687:14;17708:13;;1262:38367;14159:1;;;1262:38367;4828:1;4687:14;1262:38367;;14159:1;;1262:38367;;;;;;-1:-1:-1;1262:38367:32;;;;;-1:-1:-1;1262:38367:32;;;;1154:34:2;;;;:::i;:::-;1262:38367:32;;;1154:41:2;1262:38367:32;;32788:9;1886:4;;32779:41;32775:138;;1262:38367;32967:17;1262:38367;17777:20;;1262:38367;;32963:155;;14174:3;1262:38367;33151:23;;17893:25;33151:23;;17830;33151;17777:20;28878:34;33151:23;;1262:38367;17893:25;1262:38367;33253:9;;1886:4;;;33223:18;;1262:38367;28878:34;:::i;:::-;1262:38367;;28926:32;;28922:111;;29042:96;;29440:43;1262:38367;29440:43;;:::i;:::-;1262:38367;;29493:105;;29607:106;;4828:1;1262:38367;14147:13;;29607:106;29648:54;1262:38367;;;29648:54;;;;14232:17;;1886:4;1262:38367;29648:54;;1262:38367;;23592:85;1262:38367;;;;;;;;;;;;;;;;;;29648:54;29493:105;29546:41;1262:38367;;;29546:41;;;;14232:17;;1886:4;1262:38367;29546:41;;1262:38367;;23592:85;1262:38367;;;;;;;;;;;;;29546:41;29042:96;29083:44;1262:38367;;;29083:44;;;;14232:17;;1886:4;1262:38367;29083:44;;1262:38367;;23592:85;1262:38367;;;;;;;;;;;;;29083:44;28922:111;28981:41;1262:38367;;;28981:41;;;;14232:17;;1886:4;1262:38367;28981:41;;1262:38367;;23592:85;1262:38367;;;;;;;;;;;;;28981:41;32963:155;25327:9;;;;;;;25380:14;;;25428:17;25518:48;1262:38367;;25428:17;;1262:38367;;;32484:17;;1262:38367;25518:48;;:::i;:::-;25517:49;25513:146;;17830:23;26316:91;25705:37;;;;;;1262:38367;;38853:67;26316:91;31752:20;26316:91;4687:14;31752:20;;1886:4;1262:38367;32484:17;;1262:38367;26316:91;4687:14;26316:91;;;;;;23592:85;26316:91;;;:::i;:::-;;23592:85;26316:91;;;;;;:::i;:::-;26437:14;;17830:23;1262:38367;;26437:24;;1262:38367;;26511:44;;1262:38367;14159:1;;;;;;26704:1236;;;14159:1;;;26704:1236;;;;14159:1;;;;26704:1236;;;;;;1262:38367;26704:1236;;;;;27978:8;;1262:38367;;;27978:31;;32963:155;27978:72;;;;;32963:155;27974:205;;;1262:38367;;23592:85;1262:38367;;;4020:413:1;;;1262:38367:32;4020:413:1;25860:9:32;1886:4;;25851:43;25847:149;;-1:-1:-1;33014:93:32;32963:155;;25847:149;25921:60;;;;;;14232:17;;1886:4;1262:38367;25921:60;;1262:38367;;23592:85;1262:38367;;;;;;;;;;;;;;;;;;25921:60;27974:205;28122:41;1262:38367;28122:41;;:::i;:::-;1262:38367;;28077:87;;;;;;14232:17;;1886:4;1262:38367;28077:87;;1262:38367;23592:85;1262:38367;;;;;;;;;;;;;17893:25;1262:38367;;;;;;;;;:::i;:::-;28077:87;;;27978:72;26704:1236;;28029:2;26704:1236;;;1886:4;;28013:37;27978:72;;;:31;1262:38367;27990:19;;;-1:-1:-1;27978:31:32;;;25513:146;25593:51;1262:38367;;;25593:51;;;;14232:17;;1886:4;1262:38367;25593:51;;1262:38367;;23592:85;1262:38367;;;;;;;;;;;;;25593:51;32775:138;32847:51;1262:38367;;;32847:51;;;;14232:17;;1886:4;1262:38367;32847:51;;1262:38367;;23592:85;1262:38367;;;;;;;;;;;;;32847:51;1262:38367;;;;;;;;;14232:17;;1886:4;1262:38367;;;;;23592:85;1262:38367;;;;;;;;;;;;;;22449:205;22501:45;;;:::i;:::-;22500:46;22496:144;;22449:205;;;;22496:144;22577:44;1262:38367;;;22577:44;;;;14232:17;;1886:4;1262:38367;22577:44;;1262:38367;;23592:85;1262:38367;;;;;;;;;;;;;22577:44;24078:286;24110:18;;;;;24160:46;1262:38367;;;24160:46;;;;14232:17;;1886:4;1262:38367;24160:46;;1262:38367;;23592:85;1262:38367;;;;;;;;;;;;;24160:46;24106:248;24297:41;;:::i;:::-;1262:38367;;;;24252:87;;;;;;14232:17;;1886:4;1262:38367;24252:87;;1262:38367;17777:20;23592:85;1262:38367;;;;;;;;;;;;;17893:25;1262:38367;;;;;;;;;:::i;23691:326::-;14159:1;;;-1:-1:-1;23691:326:32;;22162:182;14159:1;;;1262:38367;;;14159:1;4687:14;1262:38367;;;;;;;14159:1;;-1:-1:-1;22280:21:32;;;;;;14159:1;;;22280:49;22162:182;;;22280:49;1886:4;;22280:49;;1262:38367;;;;;;;14232:17;;1886:4;1262:38367;;;;;23592:85;1262:38367;;;;;;;;;;;;;;18104:489;486:2:5;18159:65:32;;486:2:5;;1262:38367:32;368:2:5;1262:38367:32;;;368:2:5;;;23592:85:32;1262:38367;-1:-1:-1;1262:38367:32;;486:2:5;1262:38367:32;;;23592:85;1262:38367;;430:2:5;17830:23:32;430:2:5;;;17893:25:32;18354:31;;1262:38367;368:2:5;1262:38367:32;;;430:2:5;;;18315:37:32;;;1262:38367;17777:20;309:8:0;;;18489:23:32;486:2:5;;17777:20:32;309:8:0;1262:38367:32;18553:17;;1262:38367;18104:489;;;;486:2:5;;1262:38367:32;;486:2:5;;;4687:14:32;1262:38367;486:2:5;;;;23592:85:32;486:2:5;;1262:38367:32;486:2:5;1262:38367:32;;;486:2:5;;1262:38367:32;14159:1;;;1262:38367;486:2:5;;1262:38367:32;;486:2:5;;;4687:14:32;1262:38367;486:2:5;;;;23592:85:32;486:2:5;;1262:38367:32;486:2:5;1262:38367:32;;;486:2:5;;4500:3:32;4559:19;;;;;;:::i;:::-;4633:11;;;;;:::i;:::-;4687:14;;1262:38367;4687:14;;;;;:::i;:::-;1262:38367;4797:33;4828:1;4797:33;;1262:38367;;4902:33;4898:329;;4500:3;-1:-1:-1;;1886:4:32;;-1:-1:-1;4828:1:32;1262:38367;4472:13;;4898:329;5063:13;1262:38367;5063:13;;;;;:::i;:::-;5028:49;;;;;;1262:38367;;;5028:49;;;1262:38367;5028:49;;1262:38367;;;;;;5028:49;;1262:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5028:49;1262:38367;;;5028:49;;;;;;;1262:38367;-1:-1:-1;5024:185:32;;1262:38367;5140:46;1262:38367;;5140:46;1262:38367;;;;;5140:46;5024:185;;;-1:-1:-1;5024:185:32;;4828:1;4898:329;;;5028:49;1262:38367;;5028:49;;;:::i;:::-;1262:38367;;;;5028:49;;;1262:38367;;;;;;;;;;;;;;;;;;;;;;;4687:14;1262:38367;4828:1;1262:38367;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2932:29;1262:38367;;2184:9;;1262:38367;;;;;;:::i;:::-;;;;2184:9;;;;2996:32;1262:38367;;3055:80;1262:38367;3055:80;;1262:38367;2733:95;1262:38367;;2733:95;;1262:38367;2733:95;;;1262:38367;3106:13;2733:95;;;1262:38367;3129:4;2733:95;;;1262:38367;2733:95;3055:80;;;;;;:::i;:::-;1262:38367;3045:91;;3329:46;1262:38367;;;;;;;;;;;;;;;;;;:::i;:::-;4096:10:4;1262:38367:32;;;;;;;4133:10:4;1262:38367:32;;;;4133:10:4;1262:38367:32;;;;;;;;;4161:9:4;;;1262:38367:32;;;;;;4213:21:4;;1262:38367:32;;4320:15:4;-1:-1:-1;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;4096:10:4;;4492:50;;;1262:38367:32;;;;;;;;;;;4570:38:4;;;;:::i;:::-;;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:10:4;1262:38367:32;;;;;;;3644:20:4;1262:38367:32;;;;3644:20:4;1262:38367:32;;;;;;;3644:25:4;;;1262:38367:32;;;;;;;;3774:15:4;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:10:4;;3899:39;;1262:38367:32;;3899:39:4;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7111:45;;:::i;:::-;1262:38367;;;;6886:38;;;;;;1262:38367;6886:38;;;1262:38367;6886:38;;1262:38367;;;;;;:::i;:::-;6886:38;1262:38367;;;6886:38;;;;;;;1262:38367;;;;6886:38;;;1262:38367;;6941:27;1262:38367;;6941:27;1262:38367;;;;;;6941:27;6886:38;;;;1262:38367;6886:38;1262:38367;6886:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1262:38367;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7359:25;;;;;;;:::i;:::-;1262:38367;;;;7401:31;;;;;;1262:38367;;;7401:31;;1262:38367;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;1181:103:19;;;;;:::i;:::-;3773:24:32;;;:::i;:::-;3831:52;;;;;:::i;:::-;-1:-1:-1;1262:38367:32;;;3938:17;1262:38367;;3938:17;1262:38367;;3970:120;3990:10;;;;;;4129:9;;;;:::i;4002:3::-;4056:6;;;1262:38367;4056:6;4038:37;4056:6;;;;;:::i;:::-;4064:10;;;;:::i;:::-;;4038:37;;;:::i;:::-;1886:4;4002:3;1262:38367;3975:13;;;;1262:38367;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;507:19:2;1262:38367:32;;;;;;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;;;;;;507:55:2;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4863:10:4;;1262:38367:32;;;;;;;;;;;;;4939:32:4;;;1262:38367:32;;5026:31:4;;;;:::i;:::-;1262:38367:32;;;;;;;;;;;;;;;;4863:10:4;;5072:54;;;1262:38367:32;;;;;;;;;;;5154:47:4;;;;:::i;:::-;;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;279:74:2;1262:38367:32;;;;;;;279:74:2;1262:38367:32;-1:-1:-1;1262:38367:32;;;;;-1:-1:-1;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;1065:197:5;1262:38367:32;;;;;;;;;;;;;;;;3467:19;1262:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;694:10:2;1262:38367:32;;;674:19:2;1262:38367:32;;;;;;;674:36:2;1262:38367:32;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;674:38:2;1262:38367:32;;674:38:2;:::i;:::-;1262:38367:32;;;;;;;;;;;;;;;;;;;;7111:45;;:::i;:::-;1262:38367;;;;;;;;;;;;;;;;;;;;;;;;;2894:10:4;1262:38367:32;;;;;;;;;;;2923:19:4;;;1262:38367:32;;3023:20:4;;;1262:38367:32;;;;;;3004:39:4;;1262:38367:32;;3123:22:4;3136:9;1262:38367:32;3136:9:4;1262:38367:32;;;;3123:22:4;:::i;:::-;3163:9;;;1262:38367:32;;;3213:26:4;;1262:38367:32;;;;;;;;;;:::i;:::-;;;;;3291:137:4;;1262:38367:32;3023:20:4;1262:38367:32;;;3291:137:4;;1262:38367:32;;;;;3291:137:4;;;1262:38367:32;;;;3023:20:4;3291:137;;;1262:38367:32;;;;;2894:10:4;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3443:47:4;1262:38367:32;2894:10:4;3443:47;;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7836:126;7864:97;1262:38367;7836:126;;:186;;;;;1262:38367;7836:236;;;;1262:38367;7836:298;;;;1262:38367;7836:338;;;;1262:38367;;;;;;;;;;7836:338;877:25:26;862:40;;;7836:338:32;;;:298;7930:31;8088:46;;;-1:-1:-1;7836:298:32;;:236;7896:31;8026:46;;;-1:-1:-1;7836:236:32;;:186;7864:29;7978:44;;;-1:-1:-1;7836:186:32;;1262:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15879:9;;15928:4;;15906:10;:27;1262:38367;;16001:14;;1262:38367;16049:20;;1262:38367;16518:62;1262:38367;;;;16594:19;;16590:557;;1262:38367;17210:9;;;;;;1886:4;17210:9;;1886:4;;1262:38367;;1886:4;1262:38367;;1886:4;;:::i;:::-;17258:48;34250:9;34293:21;34358:14;;1262:38367;37566:20;;1262:38367;;37631:28;;1262:38367;405:35:31;1262:38367:32;2102:12:31;;:38;:12;;;2117:13;;2102:38;;1886:4:32;3696:5:1;;;;;;:13;;;34779:60:32;1262:38367;;34467:17;;1262:38367;;;;1886:4;;1262:38367;34818:20;;1262:38367;34779:60;;:::i;:::-;1886:4;;1262:38367;;34915:23;1262:38367;;-1:-1:-1;;1262:38367:32;;;;34911:1262;36208:9;1886:4;;;;1262:38367;;;;;36356:23;;;;36352:796;36356:23;;;1262:38367;;;;;;;;36411:36;36403:44;36411:36;;1262:38367;36471:23;;36618:9;36471:23;36535:6;;;;:::i;:::-;36618:9;:::i;36399:440::-;36675:146;1262:38367;;36675:146;1262:38367;;;36675:146;1262:38367;;;;;;;;;;;;36352:796;1886:4;36935:40;1886:4;;;;;;;36935:40;1262:38367;;1706:8:4;1262:38367:32;1706:8:4;1262:38367:32;;;1706:8:4;1262:38367:32;;;;1886:4;1262:38367;;;1558:305:4;;36935:40:32;;1262:38367;;;;;;37008:41;37123:9;37008:41;1262:38367;37008:41;;37123:9;;:::i;:::-;36352:796;;34911:1262;35027:25;;;;1262:38367;;35070:1089;;34911:1262;;;;;;35070:1089;35197:9;;;;;;1262:38367;;;;;;;35240:36;35232:44;;35228:549;;35070:1089;36016:9;;1262:38367;36072:68;36016:9;;1886:4;;36108:31;;1262:38367;36072:68;;:::i;:::-;35070:1089;;;;;;35228:549;1262:38367;35342:31;;1262:38367;35308:160;;;;;;1262:38367;;;;;;;;;;;;35308:160;;;;;;;1262:38367;35308:160;;1262:38367;35308:160;;1262:38367;;;;;;;;;;;:::i;:::-;;;;;;;;;;;35308:160;;;;;;;35228:549;-1:-1:-1;35304:451:32;;1262:38367;35628:41;;:::i;:::-;1262:38367;;35706:22;;;;;;1262:38367;;35706:22;;1262:38367;;;;;;:::i;35304:451::-;1262:38367;36072:68;35228:549;;35308:160;1262:38367;35308:160;;;:::i;:::-;1262:38367;;;35308:160;;;;1262:38367;;;;;;;;;;;;;3696:13:1;;;;;;2102:38:31;;;;16590:557:32;1262:38367;;;;;;;;;;;;368:118:15;;;;16714:8:32;16710:427;;16590:557;;;;;;16710:427;1886:4;38853:67;;;;1262:38367;38853:67;16813:41;;;:::i;:::-;1262:38367;;;16872:152;;16710:427;39136:66;;;1262:38367;39136:66;1262:38367;16710:427;;;;;;16872:152;16922:83;1886:4;;1262:38367;;;;;;16983:13;;1262:38367;16922:83;1262:38367;;16922:83;;;;;:::i;:::-;;;;16872:152;;;;;1262:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;1262:38367:32;;;;;-1:-1:-1;1262:38367:32;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1262:38367:32;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1886:4::-;;1262:38367;;;1886:4;;1262:38367;;;;;;;;1886:4;1262:38367;;;1886:4;-1:-1:-1;1886:4:32;;;;;;1262:38367;;1886:4;;;:::o;:::-;;;;;;1262:38367;;1886:4;;;;;;;;:::i;:::-;;:::o;1262:38367::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1262:38367:32;;;;:::o;:::-;;;:::o;6461:300::-;3445:249:25;6461:300:32;6592:54;;;:::i;:::-;3467:19;1262:38367;1668:13:5;;;;:::i;:::-;1752:82;:25;;;;:82;;2050:14;1882:15;;;;;;:::i;:::-;3287:193:1;;;;;;;;2120:23:5;;;;;;;:::i;:::-;3287:193:1;;;;;;;;1262:38367:32;3287:193:1;1262:38367:32;2162:233:5;1262:38367:32;1707:12:5;2162:233;;1262:38367:32;1065:197:5;1262:38367:32;;;3287:193:1;1262:38367:32;;;1707:12:5;;;1262:38367:32;1882:15:5;1262:38367:32;;;1935:23:5;1262:38367:32;;;1997:25:5;1262:38367:32;;;1935:23:5;;;1262:38367:32;;;;;1997:25:5;;;1262:38367:32;2120:23:5;1262:38367:32;;;2050:14:5;1262:38367:32;;;;;;;;;;2162:233:5;;;;;;:::i;:::-;1262:38367:32;4988:47:5;;3287:193:1;3445:249:25;;;;;3467:19:32;3445:249:25;;;;;;;;6461:300:32;:::o;1752:82:5:-;1818:15;;;;;;;:::i;:::-;3287:193:1;;1818:15:5;3287:193:1;;;;;1752:82:5;;;1262:38367:32;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1262:38367:32;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;1262:38367:32;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;-1:-1:-1;1262:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;1262:38367:32;;;;;;;;;;;:::o;2570:179:4:-;2712:30;1262:38367:32;;2660:37:4;2687:9;2660:37;1262:38367:32;;1706:8:4;1262:38367:32;1706:8:4;1262:38367:32;;;1706:8:4;1262:38367:32;;;;1886:4;1262:38367;;;1558:305:4;;2660:37;1262:38367:32;;;;;;;2712:30:4;;2570:179::o;1262:38367:32:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;1176:508:15:-;1273:405;1886:4:32;1273:405:15;;;;1176:508;1273:405;;;;;;;;;;;;;;;;;;1176:508;:::o;1273:405::-;;1886:4:32;1273:405:15;;1581:226:31;317:27;;1262:38367:32;;1741:21:31;1262:38367:32;;1741:59:31;897:42;1581:226;:::o;756:488:0:-;902:15;;;;;;:::i;:::-;932:28;;;;;;:::i;:::-;931:29;927:68;;1043:13;;;:::i;:::-;2535:113;1262:38367:32;2535:113:0;;;1262:38367:32;2535:113:0;1262:38367:32;;;;;2786:36:0;2782:241;;-1:-1:-1;3069:2:0;1262:38367:32;;1090:2:0;1071:21;;1090:2;;1262:38367:32;;902:15:0;1262:38367:32;445:6:0;1123:26;;;;;1262:38367:32;;;;;;1090:2:0;1123:26;;;;;;:::i;:::-;1262:38367:32;1113:37:0;;1106:44;:::o;1067:170::-;1262:38367:32;1090:2:0;1262:38367:32;;;1194:42:0;;1262:38367:32;902:15:0;1262:38367:32;1194:42:0;;;445:6;1194:42;;;;;1262:38367:32;;;;;;1090:2:0;1262:38367:32;;;;;;;;;;;;;;;;1194:42:0;;;;;;;;;:::i;2782:241::-;2919:18;:22;309:8;;2978:34;902:15;1262:38367:32;2978:34:0;;;309:8;2978:34;;;309:8;;;;;1262:38367:32;309:8:0;1262:38367:32;;;309:8:0;2978:34;309:8;;902:15;1262:38367:32;309:8:0;;;;;;;;;;;;1262:38367:32;309:8:0;1262:38367:32;;;309:8:0;;927:68;976:8;;;1262:38367:32;976:8:0;:::o;1290:346:19:-;637:66;3321:69:23;1413:93:19;;1624:4;637:66;3550:68:23;1290:346:19:o;1413:93::-;1465:30;-1:-1:-1;1465:30:19;;-1:-1:-1;1465:30:19;13854:743:32;;;;;14109:19;1262:38367;14162:10;;;;;;13854:743;;;;:::o;14174:3::-;14224:26;;;;:::i;:::-;;14380:6;;;;;:::i;:::-;1262:38367;31506:9;;31555:17;;17685:13;1262:38367;17685:13;;;:::i;:::-;1262:38367;;;17724:12;;;1262:38367;17724:12;17708:13;;1262:38367;17830:23;;;1262:38367;17801:53;430:2:5;1262:38367:32;17830:23;1262:38367;430:2:5;;2525:52;17747:28:32;;;17777:20;;;;1262:38367;;;;;17864:26;;;17893:25;;;1262:38367;;;17864:26;18012:14;;1262:38367;17983:44;430:2:5;1262:38367:32;17830:23;1262:38367;430:2:5;;2525:52;17929:28:32;;;17959:20;;;;1262:38367;;;;;18071:23;;;;;;:::i;:::-;18108:27;;18104:489;;14174:3;38853:67;;17747:28;38853:67;31775:21;;;:::i;:::-;31752:20;17724:12;31752:20;;1262:38367;;;39136:66;17747:28;39136:66;1262:38367;;;;;;32086:49;1262:38367;;32086:72;32173:37;1262:38367;17830:23;32173:37;;1262:38367;;;32086:124;32213:31;17893:25;32213:31;;1262:38367;;;32086:158;1262:38367;;32086:181;1262:38367;;32086:224;32328:33;1262:38367;;;;;;1886:4;1262:38367;;1886:4;1262:38367;;1886:4;1262:38367;;1886:4;1262:38367;;;32484:17;17747:28;32484:17;;1262:38367;;;;21928:14;1262:38367;18071:23;21928:14;;22040:11;1262:38367;;;;;22040:11;;17747:28;22040:11;;;;:::i;:::-;;;;;:::i;:::-;22086:17;1262:38367;;22117:31;1262:38367;22166:23;;;22162:182;;14174:3;23374:14;;17747:28;23374:35;;1262:38367;;;;;23467:12;;17747:28;38853:67;1886:4;;;;;;23592:85;17724:12;23592:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;23691:326;;1262:38367;17724:12;23691:326;;;;1262:38367;23691:326;;;17724:12;23691:326;;;14174:3;17747:28;39136:66;24082:8;24078:286;;22166:23;;22449:205;;14174:3;1262:38367;;;;;;17724:12;17708:13;;1262:38367;;;;;17724:12;1262:38367;17747:28;1262:38367;;;;17747:28;1262:38367;;-1:-1:-1;1262:38367:32;;;;;-1:-1:-1;1262:38367:32;;;;1154:34:2;;;;:::i;:::-;1262:38367:32;;;1154:41:2;1262:38367:32;;32788:9;1886:4;;32779:41;32775:138;;1262:38367;18071:23;17777:20;32967:17;;1262:38367;;32963:155;;14174:3;33151:23;;1262:38367;33151:23;;17893:25;33151:23;;17830;33151;17777:20;28878:34;33151:23;;1262:38367;17893:25;1262:38367;33253:9;;1886:4;;;33223:18;;1262:38367;28878:34;:::i;:::-;1262:38367;;28922:111;;29042:96;;29440:43;1262:38367;29440:43;;:::i;:::-;1262:38367;;29493:105;;29607:106;;1262:38367;;14147:13;;29607:106;29648:54;1262:38367;17747:28;1262:38367;29648:54;;;;;;;1262:38367;17747:28;23592:85;1262:38367;;;;;;;;;;;;;;;;;;29648:54;29493:105;29546:41;1262:38367;17747:28;1262:38367;29546:41;;;;;;;1262:38367;17747:28;23592:85;1262:38367;;;;;;;;;;;;;29546:41;29042:96;29083:44;1262:38367;17747:28;1262:38367;29083:44;;;;;;;1262:38367;17747:28;23592:85;1262:38367;;;;;;;;;;;;;29083:44;28922:111;28981:41;1262:38367;17747:28;1262:38367;28981:41;;;;;;;1262:38367;17747:28;23592:85;1262:38367;;;;;;;;;;;;;28981:41;32963:155;25327:9;;;;;;;;;;25380:14;;;25428:17;18071:23;25428:17;;1262:38367;;;;;25518:48;;;:::i;:::-;25517:49;25513:146;;26316:91;;25705:37;;;;;;;17830:23;25705:37;1262:38367;38853:67;26316:91;17747:28;38853:67;1886:4;;;;1262:38367;;26316:91;17724:12;26316:91;;;;;;23592:85;26316:91;;;:::i;:::-;1262:38367;26437:14;;;:24;;17830:23;1262:38367;18071:23;26437:24;;1262:38367;;26511:44;;1262:38367;26704:1236;;;;;;;;;1262:38367;26704:1236;;;;;;17747:28;26704:1236;;;;;27978:8;;1262:38367;;;27978:31;;32963:155;27978:72;;;;;32963:155;27974:205;;;1262:38367;;23592:85;1262:38367;;;4020:413:1;;;17747:28:32;4020:413:1;25860:9:32;1886:4;;25851:43;25847:149;;-1:-1:-1;33014:93:32;;17893:25;32963:155;;25847:149;25921:60;;;;;;;;;1262:38367;17747:28;23592:85;1262:38367;;;;;;;;;;;;;;;;;;25921:60;27974:205;28122:41;1262:38367;28122:41;;:::i;:::-;17747:28;1262:38367;28077:87;;;;;;26316:91;28077:87;;1262:38367;23592:85;1262:38367;;;;;;;;;;;;;17893:25;1262:38367;;;;;;;;;:::i;27978:72::-;26704:1236;;28029:2;26704:1236;;;1886:4;;28013:37;27978:72;;;:31;17747:28;27990:19;;;-1:-1:-1;27978:31:32;;;25513:146;25593:51;1262:38367;17747:28;1262:38367;25593:51;;;;;;;1262:38367;17747:28;23592:85;1262:38367;;;;;;;;;;;;;25593:51;32775:138;32847:51;1262:38367;17747:28;1262:38367;32847:51;;;;;;;1262:38367;17747:28;23592:85;1262:38367;;;;;;;;;;;;;32847:51;1262:38367;;;17747:28;1262:38367;;;;;;;;;17747:28;23592:85;1262:38367;;;;;;;;;;;;;;22449:205;22501:45;;;:::i;:::-;22500:46;22496:144;;22449:205;;;;22496:144;22577:44;1262:38367;17747:28;1262:38367;22577:44;;;;;;;1262:38367;17747:28;23592:85;1262:38367;;;;;;;;;;;;;22577:44;24078:286;24110:18;;;;;24160:46;1262:38367;17747:28;1262:38367;24160:46;;;;23592:85;24160:46;;1262:38367;17747:28;23592:85;1262:38367;;;;;;;;;;;;;24160:46;24106:248;24297:41;;:::i;:::-;1262:38367;;17747:28;1262:38367;24252:87;;;;;;23592:85;24252:87;;1262:38367;17777:20;23592:85;1262:38367;;;;;;;;;;;;;17893:25;1262:38367;;;;;;;;;:::i;23691:326::-;1262:38367;;-1:-1:-1;23691:326:32;;22162:182;1262:38367;;;;;;17724:12;1262:38367;17747:28;1262:38367;;;22280:21;;;:49;:21;;;:49;1262:38367;22280:49;22162:182;;;22280:49;1886:4;;22280:49;;1262:38367;;;;;;;;;;;17747:28;23592:85;1262:38367;;;;;;;;;;;;;;18104:489;486:2:5;18159:65:32;;486:2:5;;1262:38367:32;368:2:5;1262:38367:32;;;368:2:5;;17777:20:32;309:8:0;;23592:85:32;1262:38367;-1:-1:-1;1262:38367:32;;368:2:5;1262:38367:32;;430:2:5;;486;1262:38367:32;;;430:2:5;23592:85:32;4512:78:5;;1262:38367:32;430:2:5;17830:23:32;430:2:5;;17893:25:32;18354:31;;1262:38367;17830:23;430:2:5;;17830:23:32;18315:37;;1262:38367;18489:23;;486:2:5;;18071:23:32;18553:17;;1262:38367;18104:489;;;;9003:2957;;;;9207:9;9275:20;;;1262:38367;38853:67;;9417:15;;;9275:20;9417:15;;;;:::i;:::-;1262:38367;9512:160;;;;;9003:2957;1262:38367;;9702:38;9689:51;9702:38;;9844:17;;;1262:38367;;9893:68;1262:38367;9789:74;10103:178;9844:17;;;;1886:4;38853:67;1262:38367;9789:74;;;9702:38;9789:74;;;;38853:67;9789:74;;;1262:38367;;;;;;:::i;:::-;;;;;;9789:74;;;;;;;;:::i;:::-;1262:38367;38853:67;1262:38367;9893:68;;;1262:38367;9893:68;;;;1262:38367;9789:74;9893:68;;1262:38367;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9893:68::-;10103:178;;;;;;;;;1262:38367;10103:178;39136:66;38853:67;39136:66;10346:8;10342:1612;;9685:405;9003:2957;;;;:::o;10342:1612::-;10370:23;;;;;;1262:38367;10407:228;10103:178;10407:228;;;10342:1612;1262:38367;10652:35;;1262:38367;;10888:36;1262:38367;38853:67;1262:38367;10888:36;;;;;;;1262:38367;38853:67;1817:13;;;;;;;;1262:38367;1817:13;1262:38367;;;1817:13;10888:36;10648:1296;10949:43;;-1:-1:-1;10949:43:32;;1746:13;10949:43;1746:13;;11134:9;11125:36;:18;11333:9;11134;;11125:18;;:::i;:::-;11146:15;;;1262:38367;11125:36;;:::i;:::-;38853:67;11203:14;;1262:38367;11254:6;;;;;:::i;11333:9::-;10945:999;;10342:1612;;;;;;10945:999;38853:67;11783:18;38853:67;;;10103:178;11519:17;;1886:4;11558:14;;1262:38367;11479:223;10103:178;1262:38367;;;;11601:20;;1262:38367;11643:41;;:::i;:::-;1262:38367;11479:223;38853:67;1262:38367;11479:223;;;;;:::i;:::-;;;;38853:67;39136:66;11792:9;11783:18;;:::i;:::-;:36;11804:15;;;1262:38367;;;11783:36;;:::i;:::-;11849:80;1262:38367;34250:9;;34293:21;34358:14;;37566:20;;;1262:38367;37631:28;;;1262:38367;405:35:31;1262:38367:32;2102:12:31;;:38;:12;;;2117:13;;2102:38;;1886:4:32;3696:5:1;;;;;;:13;;;34779:60:32;1262:38367;34467:17;;;1262:38367;;;;1886:4;;9275:20;34818;;1262:38367;34779:60;;:::i;:::-;1886:4;;1262:38367;;34915:23;1262:38367;;-1:-1:-1;;1262:38367:32;;;;34911:1262;36208:9;1886:4;;;;1262:38367;;;38853:67;36324:14;;1262:38367;36356:23;;;;36352:796;36356:23;;;1262:38367;;;;;36471:23;;;36618:9;36471:23;36535:6;;;;:::i;36618:9::-;10945:999;;;1262:38367;;;;;;;;;;36352:796;36935:40;1886:4;;;;;;;36935:40;1262:38367;;1706:8:4;1262:38367:32;1706:8:4;1262:38367:32;;;1706:8:4;1262:38367:32;;;;1886:4;1262:38367;;;1558:305:4;;36935:40:32;;1262:38367;;37123:9;;;1262:38367;37123:9;;;:::i;:::-;36352:796;;34911:1262;35027:25;;;1262:38367;35070:1089;;34911:1262;;;;35070:1089;35197:9;;;;36072:68;35197:9;1262:38367;36108:31;1262:38367;36016:9;;1886:4;;36108:31;;1262:38367;36072:68;;:::i;:::-;35070:1089;;;;3696:13:1;;;;;;2102:38:31;;;;10407:228:32;;10103:178;1262:38367;10407:228;;1262:38367;10407:228;;;9685:405;10012:63;;;1262:38367;10012:63;1262:38367;10012:63;1262:38367;10012:63;;;;1262:38367;10012:63;;;1262:38367;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10012:63;;;;;;;;:::i;:::-;10103:178;1262:38367;10000:75;9685:405;;9512:160;-1:-1:-1;9512:160:32;;;;8410:286;1262:38367;;8511:25;;1262:38367;;8534:1;8593:35;;;;;;;;;:::i;:::-;;1262:38367;;;8410:286::o;1262:38367::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39214:413;;2133:5;1886:4;;39349:43;;;39345:90;;39570:3;1886:4;2019:2;1886:4;;1262:38367;2019:2;39214:413;:::o;39345:90::-;39412:8;;1262:38367;39412:8;:::o;12393:411::-;;;;12560:237;1262:38367;12592:17;;;1886:4;12623:14;;1262:38367;;;;;12658:24;12592:17;1262:38367;12658:24;;;1262:38367;;12696:20;;1262:38367;;;;;;;;12592:17;1262:38367;;;;;;;;;;;12560:237;12393:411::o;:::-;;1262:38367;12560:237;12393:411;12592:17;;;1886:4;12623:14;;1262:38367;;;;;12658:24;12592:17;1262:38367;12658:24;;;1262:38367;;12696:20;;1262:38367;;;;;;;;;12592:17;1262:38367;;;;;;;;;;;12560:237;12393:411::o;12976:183::-;13089:17;;;1886:4;13108:14;;1262:38367;13062:90;13089:17;1262:38367;;;;;13131:20;;1262:38367;;;;;;13062:90;12976:183::o;1557:552:0:-;;1672:1;-1:-1:-1;1650:62:0;;1861:95;445:6;;1262:38367:32;2053:49:0;;1557:552::o;1650:62::-;1689:12;1262:38367:32;1689:12:0;:::o;30049:540:32:-;30223:19;;30219:76;;30241:1;1262:38367;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1666:3:1;1262:38367:32;;1680:15:1;;;1676:67;;30049:540:32;1794:8:1;1262:38367:32;;;;;;;;;:::i;:::-;;;;1817:50:1;1262:38367:32;1817:50:1;;1262:38367:32;;1817:50:1;;;;1262:38367:32;494:28:31;1262:38367:32;2434:14:31;;:44;:14;;;2451:15;;2434:44;;30475:32:32;;:69;;;;;2434:44:31;30458:86:32;;30554:28;30049:540;:::o;30475:69::-;30511:33;;;-1:-1:-1;30475:69:32;;;;2434:44:31;;;;1676:67:1;1262:38367:32;;-1:-1:-1;1676:67:1;;30219:76:32;30258:26;30241:1;30258:26;30241:1;30258:26;:::o;19481:1671::-;;;;;19650:1;19631:20;;19627:1519;;19481:1671;;;;;;:::o;19627:1519::-;19684:14;;1262:38367;;;;;19723:43;;;;;:::i;:::-;19719:495;;20231:18;;;20227:121;;20383:2;20365:20;;20361:110;;7111:45;1262:38367;;7111:45;;:::i;:::-;1262:38367;20536:35;:14;;:35;1262:38367;20536:35;1262:38367;20502:80;;;;1262:38367;20502:80;;;;;;1262:38367;;;;;;;;;;:::i;:::-;20502:80;;;;;;;;;;;;19627:1519;1262:38367;;;;20600:21;;20596:115;;20728:17;;20724:116;;20857:19;:24;20853:123;;1262:38367;20383:2;1262:38367;;;21058:77;21015:23;20536:35;21015:23;368:2:5;;1262:38367:32;;;21074:17;;1886:4;21110:14;;:24;1262:38367;;;;;309:8:0;;;;1262:38367:32;;;;;;21058:77;19627:1519;;;;;;;1262:38367;;;20853:123;20908:53;1262:38367;20536:35;1262:38367;20908:53;;;;20502:80;20908:53;;1262:38367;20536:35;1262:38367;;;;;;;;;;;;;;20908:53;20724:116;20772:53;1262:38367;20536:35;1262:38367;20772:53;;;;20502:80;20772:53;;1262:38367;20536:35;1262:38367;;;;;;;;;;;;;;20772:53;20596:115;20648:48;1262:38367;20536:35;1262:38367;20648:48;;;;20502:80;20648:48;;1262:38367;20536:35;1262:38367;;;;;;;;;;;;;;20648:48;20502:80;;;;1262:38367;20502:80;1262:38367;20502:80;;;;;;;:::i;:::-;;;;;20536:35;1262:38367;;;;;;;;20361:110;20412:44;1262:38367;;;20412:44;;;;;;;1262:38367;;;;;;;;;;;;;;;;20412:44;20227:121;20281:52;1262:38367;;;20281:52;;;;;;;1262:38367;;;;;;;;;;;;;;;;20281:52;19719:495;19790:20;;;;;;19808:2;19790:20;;19786:390;;20193:7;;;;:::o;19786:390::-;20098:35;1262:38367;7111:45;;:::i;:::-;1262:38367;20098:35;;1262:38367;;;19808:2;1262:38367;;;20059:98;;;;;19650:1;1262:38367;;;;20098:35;1262:38367;20059:98;;;;;;;1262:38367;20059:98;;;;;1262:38367;20098:35;1262:38367;;;;19808:2;1262:38367;;;;;;;;;:::i;:::-;20059:98;;;;;;;;;19786:390;;;;;;20059:98;19650:1;20059:98;;;:::i;:::-;19650:1;20059:98;;;20098:35;1262:38367;;19650:1;1262:38367;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;2134:396:4:-;1262:38367:32;;;;;;;;;;;;;2367:23:4;;;2363:74;;1886:4:32;1262:38367;;2509:4:4;2134:396;:::o", "linkReferences": {} }, "methodIdentifiers": { "addStake(uint32)": "0396cb60", "balanceOf(address)": "70a08231", "delegateAndRevert(address,bytes)": "850aaf62", "depositTo(address)": "b760faf9", "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", "initDomainSeparator()": "d12e825d", "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": "0042dc53", "nonceSequenceNumber(address,uint192)": "1b2e01b8", "senderCreator()": "09ccb880", "supportsInterface(bytes4)": "01ffc9a7", "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\":\"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\":[{\"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\"},{\"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\":[{\"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\":\"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\":[{\"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\":\"opsPerAggregator\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"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\":\"ops\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initDomainSeparator\",\"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 EntryPointFilterOpsOverride08.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 EntryPointFilterOpsOverride08.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"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\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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:security-contact\":\"https://bounty.ethereum.org\",\"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.\"}},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the reverted call to \\\"postOp\\\".\",\"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 \\\"callData\\\" call.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"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.\"}},\"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\"}},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"opsPerAggregator\":\"- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).\"}},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"ops\":\"- The operations to execute.\"}},\"incrementNonce(uint192)\":{\"params\":{\"key\":\"- the \\\"nonce key\\\" to increment the \\\"nonce sequence\\\" for.\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"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\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 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 andhandleAggregatedOps, to identify the offending op. Should be caught in off-chain handleOps/handleAggregatedOps 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 and handleAggregatedOps, 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() and handleAggregatedOps(), 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\":{\"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.this method cannot be used for EIP-7702 derived contracts.\"},\"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), entrypoint address, chainId and (optionally) 7702 delegate address\"},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperation with Aggregators\"},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead.\"},\"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)\":{\"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.\"},\"senderCreator()\":{\"notice\":\"Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts.\"},\"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.\"}},\"notice\":\"Account-Abstraction (EIP-4337) singleton EntryPoint v0.8 implementation. Only one instance required on each chain.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v08/EntryPointFilterOpsOverride.sol\":\"EntryPointFilterOpsOverride08\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"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-v8/contracts/core/Eip7702Support.sol\":{\"keccak256\":\"0x8e22fc49f3ec8dadd4ec6f6829485d3d301afced9e73da1012e903d4221d715d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85c21152f6f1e1754dbae1b9fa85040d9d282a8badd848765845a71acf3bbd99\",\"dweb:/ipfs/QmdNZSjrtoV4RM6fuKKUQU73AYzALsaBwY2tz2Lxz4mNaS\"]},\"lib/account-abstraction-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01\",\"dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE\"]},\"lib/account-abstraction-v8/contracts/core/SenderCreator.sol\":{\"keccak256\":\"0x3138a92de18e7e39c45020f0e5e7d16da622c01f3846094f7be05c2aefb098fd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f87883de39461c04a76e672b69c968467c4ec3258d1887ba96c989563a843df\",\"dweb:/ipfs/QmPyuTTqCvoaZekGEmzPHN5j8oEXKV9vLxiSCMSLQA7usy\"]},\"lib/account-abstraction-v8/contracts/core/StakeManager.sol\":{\"keccak256\":\"0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2\",\"dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5\"]},\"lib/account-abstraction-v8/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced\",\"dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77\",\"dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT\"]},\"lib/account-abstraction-v8/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x3b0423737e810dd886183ed32cfed9b45edd315f5fb3e1076fc19f86791adc64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c43081efaa2eda581b6249053281bb58cb0c4eeb6bf87efc55d95daaec2fc931\",\"dweb:/ipfs/QmXRN2JnyzWZNeFMHauTnDuc7jhxGY4ZkY37HTtjXKdC87\"]},\"lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d\",\"dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX\"]},\"lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00\",\"dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85\",\"dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz\"]},\"lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"lib/account-abstraction-v8/contracts/utils/Exec.sol\":{\"keccak256\":\"0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868\",\"dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8\"]},\"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/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"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/EntryPointFilterOpsOverride.sol\":{\"keccak256\":\"0xb6a9b3fddb0408218411537336de24b3d32fb97ce23b6989e4927c132bc10223\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a2e10aa1ee224640eaa562f22ae87e5cefb4c33b6f05b51120c8d327715cd92f\",\"dweb:/ipfs/QmcDdhEc4bp96kGfed9VUwFrQW6eru4qaovg7E5mM5XwRd\"]},\"src/v08/IEntryPointFilterOpsOverride.sol\":{\"keccak256\":\"0xe069a104d10fd2a44eaa5fb8e5b42c88db1b79e2fb158d479baf1d037100aa0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1440a823d770d3b70e73c769ac97039facc8b9cdb3f41debd37ae7a12ef5e9b\",\"dweb:/ipfs/QmahuKjkumBBkJEgfogRM2Pa3sSFLQ6mkyXBao87G4EF4T\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.28+commit.7893614a" }, "language": "Solidity", "output": { "abi": [{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": [{ "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": "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": [{ "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": "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": [{ "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": "opsPerAggregator", "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": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleAggregatedOps" }, { "inputs": [{ "internalType": "struct PackedUserOperation[]", "name": "ops", "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": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleOps" }, { "inputs": [{ "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "nonpayable", "type": "function", "name": "incrementNonce" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "initDomainSeparator" }, { "inputs": [{ "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "struct EntryPointFilterOpsOverride08.UserOpInfo", "name": "opInfo", "type": "tuple", "components": [{ "internalType": "struct EntryPointFilterOpsOverride08.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" }], "stateMutability": "nonpayable", "type": "function", "name": "innerHandleOp", "outputs": [{ "internalType": "uint256", "name": "actualGasCost", "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": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] }, { "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": { "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." } }, "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" } }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "opsPerAggregator": "- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts)." } }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "ops": "- The operations to execute." } }, "incrementNonce(uint192)": { "params": { "key": "- the \"nonce key\" to increment the \"nonce sequence\" for." } }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "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" } }, "supportsInterface(bytes4)": { "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 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": { "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.this method cannot be used for EIP-7702 derived contracts." }, "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), entrypoint address, chainId and (optionally) 7702 delegate address" }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "notice": "Execute a batch of UserOperation with Aggregators" }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "notice": "Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead." }, "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)": { "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." }, "senderCreator()": { "notice": "Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts." }, "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": 1000000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "src/v08/EntryPointFilterOpsOverride.sol": "EntryPointFilterOpsOverride08" }, "evmVersion": "cancun", "libraries": {}, "viaIR": true }, "sources": { "lib/account-abstraction-v8/contracts/core/Eip7702Support.sol": { "keccak256": "0x8e22fc49f3ec8dadd4ec6f6829485d3d301afced9e73da1012e903d4221d715d", "urls": ["bzz-raw://85c21152f6f1e1754dbae1b9fa85040d9d282a8badd848765845a71acf3bbd99", "dweb:/ipfs/QmdNZSjrtoV4RM6fuKKUQU73AYzALsaBwY2tz2Lxz4mNaS"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/core/Helpers.sol": { "keccak256": "0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e", "urls": ["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f", "dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/core/NonceManager.sol": { "keccak256": "0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c", "urls": ["bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01", "dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/SenderCreator.sol": { "keccak256": "0x3138a92de18e7e39c45020f0e5e7d16da622c01f3846094f7be05c2aefb098fd", "urls": ["bzz-raw://6f87883de39461c04a76e672b69c968467c4ec3258d1887ba96c989563a843df", "dweb:/ipfs/QmPyuTTqCvoaZekGEmzPHN5j8oEXKV9vLxiSCMSLQA7usy"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/StakeManager.sol": { "keccak256": "0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a", "urls": ["bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2", "dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/UserOperationLib.sol": { "keccak256": "0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1", "urls": ["bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99", "dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAccount.sol": { "keccak256": "0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864", "urls": ["bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319", "dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol": { "keccak256": "0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0", "urls": ["bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced", "dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol": { "keccak256": "0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf", "urls": ["bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77", "dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IEntryPoint.sol": { "keccak256": "0x3b0423737e810dd886183ed32cfed9b45edd315f5fb3e1076fc19f86791adc64", "urls": ["bzz-raw://c43081efaa2eda581b6249053281bb58cb0c4eeb6bf87efc55d95daaec2fc931", "dweb:/ipfs/QmXRN2JnyzWZNeFMHauTnDuc7jhxGY4ZkY37HTtjXKdC87"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol": { "keccak256": "0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87", "urls": ["bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d", "dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol": { "keccak256": "0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8", "urls": ["bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00", "dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol": { "keccak256": "0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4", "urls": ["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570", "dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol": { "keccak256": "0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0", "urls": ["bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85", "dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol": { "keccak256": "0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800", "urls": ["bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79", "dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/utils/Exec.sol": { "keccak256": "0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd", "urls": ["bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868", "dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8"], "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/introspection/ERC165.sol": { "keccak256": "0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa", "urls": ["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287", "dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol": { "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", "urls": ["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"], "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/EntryPointFilterOpsOverride.sol": { "keccak256": "0xb6a9b3fddb0408218411537336de24b3d32fb97ce23b6989e4927c132bc10223", "urls": ["bzz-raw://a2e10aa1ee224640eaa562f22ae87e5cefb4c33b6f05b51120c8d327715cd92f", "dweb:/ipfs/QmcDdhEc4bp96kGfed9VUwFrQW6eru4qaovg7E5mM5XwRd"], "license": "GPL-3.0" }, "src/v08/IEntryPointFilterOpsOverride.sol": { "keccak256": "0xe069a104d10fd2a44eaa5fb8e5b42c88db1b79e2fb158d479baf1d037100aa0e", "urls": ["bzz-raw://f1440a823d770d3b70e73c769ac97039facc8b9cdb3f41debd37ae7a12ef5e9b", "dweb:/ipfs/QmahuKjkumBBkJEgfogRM2Pa3sSFLQ6mkyXBao87G4EF4T"], "license": "MIT" } }, "version": 1 }, "id": 32 }
|
|
1
|
+
{ "abi": [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "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": "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": "opsPerAggregator", "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": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "handleOps", "inputs": [{ "name": "ops", "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": "beneficiary", "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": "initDomainSeparator", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "innerHandleOp", "inputs": [{ "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "opInfo", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride08.UserOpInfo", "components": [{ "name": "mUserOp", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride08.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" }], "outputs": [{ "name": "actualGasCost", "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": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "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": "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": "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": "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" }] }], "bytecode": { "object": "0x60808060405234601557615196908161001a8239f35b5f80fdfe6101606040526004361015610024575b3615610019575f80fd5b6100223361317b565b005b5f610140525f3560e01c806242dc531461257257806301ffc9a7146124205780630396cb601461206557806309ccb8801461200c5780630bd28e3b14611f7057806313c65a6e14611f32578063154e58dc14611ed75780631b2e01b814611e41578063205c287814611ca057806322cdde4c14611c1c57806335567e1a14611b625780635287ce1214611a4257806370a08231146119d7578063765e827f14611939578063850aaf62146118745780639b249f6914611726578063b760faf9146116e5578063bb9fe6bf146114f6578063c23a5cea14611253578063d12e825d1461114f5763dbed18e00361000f5734610ec95761012136612ce2565b6101005260e0526101306136de565b6101405190815b60e0518110610f2e575061014a82612fc1565b61012052610140516080526101405160c0525b60e05160c0511061029b577fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9726101405161014051a161014051608081905290815b60e05181106101e1576101b48361010051614905565b610140517f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6101405180f35b6102436101f18260e051856131ee565b73ffffffffffffffffffffffffffffffffffffffff61021260208301613282565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d6101405161014051a28061322e565b9061014051915b80831061025c5750505060010161019e565b909194600190610289610270888587613090565b61027f608051610120516130fd565b5190608051614236565b0195816080510160805201919061024a565b6102aa60c05160e051836131ee565b73ffffffffffffffffffffffffffffffffffffffff6102d860206102ce848061322e565b60a0529301613282565b61014051911691905b60a05181106103055750505060a05160805101608052600160c0510160c05261015d565b6103168160805101610120516130fd565b516103248260a05185613090565b61014051915a81519273ffffffffffffffffffffffffffffffffffffffff61034b82613282565b168452602081810135908501526fffffffffffffffffffffffffffffffff6080808301358281166060880152811c604087015260a083013560c0808801919091528301359182166101008701521c6101208501526103ac60e08201826132a3565b9081610e15575b5050604051936103c282612e75565b6020850152846040526040810151946effffffffffffffffffffffffffffff8660c08401511760608401511760808401511760a084015117610100840151176101208401511711610daf5750604081015160608201510160808201510160a08201510160c0820151016101008201510294856040860152845173ffffffffffffffffffffffffffffffffffffffff60e08183511692610475898d61046960408b018b6132a3565b92909160805101614c92565b0151169661014051978015610d7e575b87516040810151905173ffffffffffffffffffffffffffffffffffffffff169061014051506040519a8b8960208d01519260208301937f19822f7c00000000000000000000000000000000000000000000000000000000855260248401926104ec9361510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d5261051c908d612bb9565b61014051908c5190846101405190602095f161014051519a3d602003610d73575b60405215610c80575015610c02575b505073ffffffffffffffffffffffffffffffffffffffff825116602083015190610140515260016020526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926105ba84612e0c565b90551603610b99575a840311610b305760e0015160609073ffffffffffffffffffffffffffffffffffffffff16610827575b73ffffffffffffffffffffffffffffffffffffffff949260a0859360809360606106219801520135905a900301910152614bbb565b911685036107be576107555761064b73ffffffffffffffffffffffffffffffffffffffff91614bbb565b91166106ec5761065d576001016102e1565b60a490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b9897969594505a9883519961085b73ffffffffffffffffffffffffffffffffffffffff60e08d01511660408701519061512e565b15610ac75760807f52b7512c000000000000000000000000000000000000000000000000000000009798999a9b01516040516108dc816108b060208a015160408b015190602084019d8e52896024850161510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b8651608073ffffffffffffffffffffffffffffffffffffffff60e08301511691015161014051918b61014051928551926101405191f1983d908161014051843e51948251604084019b8c519015918215610abb575b508115610a8b575b50610a065750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a90031161097a5750946105ec565b80887f220266b60000000000000000000000000000000000000000000000000000000060a4935260805101600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a87610a12613425565b6040519384937f65c8fd4d0000000000000000000000000000000000000000000000000000000085526080510160048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b0390fd5b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f610939565b6040141591505f610931565b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b610c0b9161512e565b15610c17578b8061054c565b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8b903b610cf057608490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b610cf8613425565b90610a876040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260805101600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b61014051915061053d565b6101408051849052516020819052604090205490985081811115610da85750610140515b97610485565b8103610da2565b80887f220266b6000000000000000000000000000000000000000000000000000000006084935260805101600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ed05781601411610ec95780359160248110610ec957603411610ec9576024810135608090811c60a0880152601490910135811c90860152606081901c15610e6b5760601c60e085015289806103b3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6101405180fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b610f3b8160e051846131ee565b92610f46848061322e565b919073ffffffffffffffffffffffffffffffffffffffff610f6960208801613282565b16956001871461111d5786610f86575b5050019250600101610137565b806040610f949201906132a3565b91873b15610ec957916040519283917f2dd8113300000000000000000000000000000000000000000000000000000000835286604484016040600486015252606483019160648860051b8501019281610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee182360301915b8b82106110c357505050505081611054917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85809503016024850152610140519561313d565b0381610140518a5af190816110a8575b5061109b57847f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b929350839260015f610f79565b610140516110b591612bb9565b61014051610ec9575f611064565b9193967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c90879294969703018552863584811215610ec957602061110c60019385839401613344565b98019501920188969594939161100e565b867f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957604080516007906020906111948482612bb9565b8281527f455243343333370000000000000000000000000000000000000000000000000091019081522081516001906020906111d08582612bb9565b828152017f310000000000000000000000000000000000000000000000000000000000000081522082519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f855283015260608201524660808201523060a082015260a0815261124660c082612bb9565b5190206002556101405180f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95761128a612c6a565b3361014051526101405160205260016040610140512001908154916dffffffffffffffffffffffffffff8360081c169283156114985760981c65ffffffffffff16801561143a5742106113dc5780547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611371612e46565b501561137e576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9573361014051526101405160205260016040610140512001805463ffffffff8160781c169081156116875760ff16156116295765ffffffffffff4216019065ffffffffffff82116115f65780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a26101405180f35b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526011600452602461014051fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95761171f61171a612c6a565b61317b565b6101405180f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043567ffffffffffffffff8111610ec957602061177a6117d5923690600401612c8d565b73ffffffffffffffffffffffffffffffffffffffff611797613452565b16906040518095819482937f570e1a36000000000000000000000000000000000000000000000000000000008452876004850152602484019161313d565b039161014051905af180156118665773ffffffffffffffffffffffffffffffffffffffff916101405191611837575b507f6ca7b80600000000000000000000000000000000000000000000000000000000610140515216600452602461014051fd5b611859915060203d60201161185f575b6118518183612bb9565b810190613111565b82611804565b503d611847565b6040513d61014051823e3d90fd5b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576118ab612c6a565b60243567ffffffffffffffff8111610ec9576118cb903690600401612c8d565b604051929181908437820190610140518252610140519280610140519303915af46118f4612e46565b90610a876040519283927f9941055400000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190612d75565b34610ec95761194736612ce2565b6119529291926136de565b61195b83612fc1565b611966818585613752565b5061014051927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a161014051915b8583106119a7576101b48585614905565b9091936001906119cd6119bb878987613090565b6119c588866130fd565b519088614236565b0194019190611996565b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95773ffffffffffffffffffffffffffffffffffffffff611a23612c6a565b1661014051526101405160205260206040610140512054604051908152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95773ffffffffffffffffffffffffffffffffffffffff611a8e612c6a565b604051611a9a81612b37565b6101405181526101405160208201526101405160408201526101405160608201526080610140519101521661014051526101405160205260a06040610140512065ffffffffffff604051611aed81612b37565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576020611b9b612c6a565b73ffffffffffffffffffffffffffffffffffffffff611bb8612cbb565b91166101405152600182526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff82165f52825260405f20547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043567ffffffffffffffff8111610ec9576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610ec957611c98602091600401612e75565b604051908152f35b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957611cd7612c6a565b6024359033610140515261014051602052604061014051208054808411611de35783611d0291612e39565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611d78612e46565b5015611d85576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957611e78612c6a565b73ffffffffffffffffffffffffffffffffffffffff611e95612cbb565b91166101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f52602052602060405f2054604051908152f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576020600254604051908152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610ec957336101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f5260205260405f206120038154612e0c565b90556101405180f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957602073ffffffffffffffffffffffffffffffffffffffff61205c613452565b16604051908152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043563ffffffff8116809103610ec95733610140515261014051602052604061014051209080156123c257600182015463ffffffff8160781c168210612364576120ee906dffffffffffffffffffffffffffff349160081c16612dd2565b918215612306576dffffffffffffffffffffffffffff83116122a857546040516122709161211b82612b37565b815265ffffffffffff602082019160018352604081016dffffffffffffffffffffffffffff87168152606082019086825260016080840193610140518552336101405152610140516020526040610140512090518155019451151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008754169116178555517fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff6effffffffffffffffffffffffffff008087549360081b16169116178455517fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff72ffffffff0000000000000000000000000000008086549360781b1616911617835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a26101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610ec957807f6930d3ee0000000000000000000000000000000000000000000000000000000060209214908115612548575b811561251e575b81156124f4575b81156124ca575b506040519015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014826124bf565b7f3e84f02100000000000000000000000000000000000000000000000000000000811491506124b8565b7fcf28ef9700000000000000000000000000000000000000000000000000000000811491506124b1565b7f989ccc5800000000000000000000000000000000000000000000000000000000811491506124aa565b346129e0576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126129e05760043567ffffffffffffffff81116129e057366023820112156129e0576125d3903690602481600401359101612c34565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c081126129e0576101406040519161260f83612b37565b126129e05760405161262081612b80565b60243573ffffffffffffffffffffffffffffffffffffffff811681036129e057815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff811681036129e05760e082015261012435610100820152610144356101208201528152602081019161016435835260408201906101843582526101a435606084015260808301916101c43583526101e43567ffffffffffffffff81116129e0576126f9903690600401612c8d565b955a90303303612ad95786516060810151955f9681519182612a1f575b50505050509061272e915a9003855101963691612c34565b925a9385516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480155f14612a19575048905b0180821015612a115750975b6127a673ffffffffffffffffffffffffffffffffffffffff60e084015116945182036060840151906149f5565b01925f92816128bc5750505173ffffffffffffffffffffffffffffffffffffffff16945b5a900301019485029051928184105f146128685750506003811015612835576002036128075760209281611c98929361280281614b16565b614a14565b7fdeadaa51000000000000000000000000000000000000000000000000000000006101405152602061014051fd5b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526021600452602461014051fd5b8161289e929594969396039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b50600384101561283557826128b7926020951590614a95565b611c98565b9096918782516128cf575b5050506127ca565b90919293505a9260038810156129e45760028803612905575b505060a06128fc925a9003910151906149f5565b908880806128c7565b60a083015191803b156129e0578b925f9283612961938c8b88604051998a98899788957f7c627b210000000000000000000000000000000000000000000000000000000087526004870152608060248701526084860190612d75565b9202604484015260648301520393f190816129cb575b506129c157610a87612987613425565b6040519182917fad7954bc000000000000000000000000000000000000000000000000000000008352602060048401526024830190612d75565b60a06128fc6128e8565b5f6129d591612bb9565b5f610140528a612977565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b905097612779565b9061276d565b915f9291838093602073ffffffffffffffffffffffffffffffffffffffff885116910192f115612a52575b808080612716565b61272e9392955060405191612a65613425565b908151612a7e575b505050604052600193909188612a4a565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201905191602073ffffffffffffffffffffffffffffffffffffffff855116940151612ace60405192839283612db8565b0390a3888080612a6d565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff821117612b5357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610140810190811067ffffffffffffffff821117612b5357604052565b6060810190811067ffffffffffffffff821117612b5357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612b5357604052565b67ffffffffffffffff8111612b5357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612c4082612bfa565b91612c4e6040519384612bb9565b8294818452818301116129e0578281602093845f960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036129e057565b9181601f840112156129e05782359167ffffffffffffffff83116129e057602083818601950101116129e057565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff821682036129e057565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126129e05760043567ffffffffffffffff81116129e05760040182601f820112156129e05780359267ffffffffffffffff84116129e0576020808301928560051b0101116129e057919060243573ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b604090612dcf939281528160208201520190612d75565b90565b91908201809211612ddf57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612ddf5760010190565b91908203918211612ddf57565b3d15612e70573d90612e5782612bfa565b91612e656040519384612bb9565b82523d5f602084013e565b606090565b604290612e81816134a8565b60025491612e8e81613282565b918015612f8c57905b60c0612ea660608301836132a3565b90816040519182372091612ebd60e08201826132a3565b908160405191823720926040519473ffffffffffffffffffffffffffffffffffffffff60208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152612f5461014082612bb9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612f9a60408201826132a3565b90816040519182372090612e97565b67ffffffffffffffff8111612b535760051b60200190565b90612fcb82612fa9565b612fd86040519182612bb9565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130068294612fa9565b01905f5b82811061301657505050565b60209060405161302581612b37565b60405161303181612b80565b5f81525f848201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f61012082015281525f838201525f60408201525f60608201525f60808201528282850101520161300a565b91908110156130d05760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee1813603018212156129e0570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80518210156130d05760209160051b010190565b908160209103126129e0575173ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6131e2348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b91908110156130d05760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156129e0570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129e0570180359067ffffffffffffffff82116129e057602001918160051b360383136129e057565b3573ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129e0570180359067ffffffffffffffff82116129e0576020019181360383136129e057565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156129e057016020813591019167ffffffffffffffff82116129e05781360383136129e057565b80359173ffffffffffffffffffffffffffffffffffffffff831683036129e05773ffffffffffffffffffffffffffffffffffffffff612dcf931681526020820135602082015261341661340a6133d16133b66133a360408701876132f4565b610120604088015261012087019161313d565b6133c360608701876132f4565b90868303606088015261313d565b6080850135608085015260a085013560a085015260c085013560c08501526133fc60e08601866132f4565b9085830360e087015261313d565b926101008101906132f4565b9161010081850391015261313d565b3d6108008111613449575b604051906020818301016040528082525f602083013e90565b50610800613430565b7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d45473ffffffffffffffffffffffffffffffffffffffff1680612dcf575073449ed7c3e6fee6a97311d4b55475df59c44add3390565b6134b560408201826132a3565b90916134c18284614b66565b156136d7576134cf90613282565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000831603613615575060181b91601482116135755750506040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008080602084019416161682526014815261356f603482612bb9565b51902090565b816014116129e057602061356f916040519384917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808086860199161616875260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec83019101603484013781015f8382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b3b156136795760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c61372a5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b92919092835f5b8181106137665750505050565b61377081856130fd565b5161377c828486613090565b5f915a81519273ffffffffffffffffffffffffffffffffffffffff6137a082613282565b168452602081013560208501526080810135936fffffffffffffffffffffffffffffffff8560801c951694604082019060608301968752815260c0820160a0840135815260c0840135906fffffffffffffffffffffffffffffffff8260801c9216916101208501906101008601938452815261381f60e08701876132a3565b90816141d0575b505060405161383487612e75565b9960208a019a8b528160405285519586855117825117926effffffffffffffffffffffffffffff60808a01948551179560a08b01968751178951179051171161416e5750519051019051019051019051019051029560408601918783528973ffffffffffffffffffffffffffffffffffffffff60e089516138c98b84835116956138c160408d018d6132a3565b929091614c92565b015116985f998015614147575b89516040810151905173ffffffffffffffffffffffffffffffffffffffff1680916040519d8e808d8b519360208301947f19822f7c00000000000000000000000000000000000000000000000000000000865260248401926139379361510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810182526139679082612bb9565b51905f6020948194f15f519c3d60200361413f575b60405215614054575015613fda575b505073ffffffffffffffffffffffffffffffffffffffff8451166020850151905f52600160205260405f2077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926139f384612e0c565b90551603613f75575a860311613f105773ffffffffffffffffffffffffffffffffffffffff60e0606094015116613c50575b505073ffffffffffffffffffffffffffffffffffffffff949260a085936080936060613a5c9801520135905a900301910152614bbb565b9116613beb57613b8657613a8473ffffffffffffffffffffffffffffffffffffffff91614bbb565b9116613b2157613a9657600101613759565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b909c9b9a99989796505a9085519d60e08f015173ffffffffffffffffffffffffffffffffffffffff168151613c849161512e565b15613eab57613cd77f52b7512c00000000000000000000000000000000000000000000000000000000999a9b9c9d9e9f60800151926108b060405193849251905190602084019d8e52896024850161510c565b5f8088518b82608073ffffffffffffffffffffffffffffffffffffffff60e08501511693015192865193f1983d90815f843e51948251604084019b8c519015918215613e9f575b508115613e6f575b50613df25750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a900311613d6a5750948260a0613a25565b80887f220266b60000000000000000000000000000000000000000000000000000000060a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a87613dfe613425565b6040519384937f65c8fd4d00000000000000000000000000000000000000000000000000000000855260048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f613d26565b6040141591505f613d1e565b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b613fe39161512e565b15613fef575f8061398b565b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8d903b6140c057608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b6140c8613425565b90610a876040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b5f915061397c565b9950815f525f60205260405f20548181115f1461416757505f5b996138d6565b8103614161565b808f7f220266b60000000000000000000000000000000000000000000000000000000060849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ed057816014116129e057803560601c91602481106129e0576014820135906034116129e0576fffffffffffffffffffffffffffffffff60248193013560801c1660a089015260801c1660808701528015610e6b5760e08601525f80613826565b9092915a6060820151604051958661425160608301836132a3565b5f600382116148fd575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f000000000000000000000000000000000000000000000000000000000361478f575050505f61436861445c6142f6614328602095868a01516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000008a850152604060248501526064840190613344565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b6108b06040519384927e42dc5300000000000000000000000000000000000000000000000000000000888501526102006024850152610224840190612d75565b61442b604484018b60806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015287612d75565b828151910182305af15f519660405215614477575b50505050565b9091929394505f3d602014614782575b7fdeaddead00000000000000000000000000000000000000000000000000000000810361451357608485604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b92935090917fdeadaa510000000000000000000000000000000000000000000000000000000003614576575061455b61455061456b925a90612e39565b608084015190612dd2565b6040830151836128028295614b16565b905b5f808080614471565b906145e99060405160208501518551907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792602073ffffffffffffffffffffffffffffffffffffffff8451169301516145cc613425565b906145dc60405192839283612db8565b0390a36040525a90612e39565b6145f96080840191825190612dd2565b915f905a9285516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480155f1461477c575048905b01808210156147745750955b61467373ffffffffffffffffffffffffffffffffffffffff60e084015116935182036060840151906149f5565b01925f92806147455750505173ffffffffffffffffffffffffffffffffffffffff16935b5a900301019283026040850151928184105f146146f9575050806146cc575090816146c6929361280281614b16565b9061456d565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b61472e908284939795039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b506146cc575090825f61474093614a95565b6146c6565b95919051614754575b50614697565b9350905061476d5a9360a05f955a9003910151906149f5565b905f61474e565b905095614646565b9061463a565b5060205f803e5f51614487565b6148f493506148c8916147d4917e42dc53000000000000000000000000000000000000000000000000000000006020860152610200602486015261022485019161313d565b614897604484018860806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015284612d75565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101885287612bb9565b60205f8761445c565b50813561425b565b73ffffffffffffffffffffffffffffffffffffffff168015614997575f80809381935af1614931612e46565b501561493957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b90619c408201811115614a0e57606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b90600211614bb657357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b8015614c8b575f60408051614bcf81612b9d565b8281528260208201520152604073ffffffffffffffffffffffffffffffffffffffff82169165ffffffffffff8160a01c16908115614c7d575b60d01c9065ffffffffffff835191614c1f83612b9d565b8583528360208401521692839101527f182d361d27e8fee91541f8630840b9272bdb770c7bb6239b09cd74563c4053415480155f14614c77575042915b8211918215614c6c575b50509091565b111590505f80614c66565b91614c5c565b65ffffffffffff9150614c08565b505f905f90565b929190915f9080614ca5575b5050505050565b83519473ffffffffffffffffffffffffffffffffffffffff86511695614ccb8386614b66565b6150245750853b614fbf5760148210614f5a5782602073ffffffffffffffffffffffffffffffffffffffff614cfe613452565b16604088510151604051809481937f570e1a3600000000000000000000000000000000000000000000000000000000835285600484015282614d458c8b602484019161313d565b0393f1908115614f4f578491614f30575b5073ffffffffffffffffffffffffffffffffffffffff81168015614ecb578703614e66573b15614e015750601411614dfe577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d91604091503573ffffffffffffffffffffffffffffffffffffffff60e06020860151955101511673ffffffffffffffffffffffffffffffffffffffff83519260601c1682526020820152a35f80808080614c9e565b80fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b614f49915060203d60201161185f576118518183612bb9565b5f614d56565b6040513d86823e3d90fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b945050919050601482116150385750505050565b604073ffffffffffffffffffffffffffffffffffffffff615057613452565b1693015190826014116129e057833b156129e0575f80946150db96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec604486019301910161313d565b0393f18015615101576150f1575b808080614471565b5f6150fb91612bb9565b5f6150e9565b6040513d5f823e3d90fd5b61512460409295949395606083526060830190613344565b9460208201520152565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081548181106136d75703905560019056fea2646970667358221220030e5985170808db5d88356870c373546942b01839312efb2537df13d172705564736f6c634300081c0033", "sourceMap": "1214:38367:32:-:0;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6101606040526004361015610024575b3615610019575f80fd5b6100223361317b565b005b5f610140525f3560e01c806242dc531461257257806301ffc9a7146124205780630396cb601461206557806309ccb8801461200c5780630bd28e3b14611f7057806313c65a6e14611f32578063154e58dc14611ed75780631b2e01b814611e41578063205c287814611ca057806322cdde4c14611c1c57806335567e1a14611b625780635287ce1214611a4257806370a08231146119d7578063765e827f14611939578063850aaf62146118745780639b249f6914611726578063b760faf9146116e5578063bb9fe6bf146114f6578063c23a5cea14611253578063d12e825d1461114f5763dbed18e00361000f5734610ec95761012136612ce2565b6101005260e0526101306136de565b6101405190815b60e0518110610f2e575061014a82612fc1565b61012052610140516080526101405160c0525b60e05160c0511061029b577fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9726101405161014051a161014051608081905290815b60e05181106101e1576101b48361010051614905565b610140517f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6101405180f35b6102436101f18260e051856131ee565b73ffffffffffffffffffffffffffffffffffffffff61021260208301613282565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d6101405161014051a28061322e565b9061014051915b80831061025c5750505060010161019e565b909194600190610289610270888587613090565b61027f608051610120516130fd565b5190608051614236565b0195816080510160805201919061024a565b6102aa60c05160e051836131ee565b73ffffffffffffffffffffffffffffffffffffffff6102d860206102ce848061322e565b60a0529301613282565b61014051911691905b60a05181106103055750505060a05160805101608052600160c0510160c05261015d565b6103168160805101610120516130fd565b516103248260a05185613090565b61014051915a81519273ffffffffffffffffffffffffffffffffffffffff61034b82613282565b168452602081810135908501526fffffffffffffffffffffffffffffffff6080808301358281166060880152811c604087015260a083013560c0808801919091528301359182166101008701521c6101208501526103ac60e08201826132a3565b9081610e15575b5050604051936103c282612e75565b6020850152846040526040810151946effffffffffffffffffffffffffffff8660c08401511760608401511760808401511760a084015117610100840151176101208401511711610daf5750604081015160608201510160808201510160a08201510160c0820151016101008201510294856040860152845173ffffffffffffffffffffffffffffffffffffffff60e08183511692610475898d61046960408b018b6132a3565b92909160805101614c92565b0151169661014051978015610d7e575b87516040810151905173ffffffffffffffffffffffffffffffffffffffff169061014051506040519a8b8960208d01519260208301937f19822f7c00000000000000000000000000000000000000000000000000000000855260248401926104ec9361510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d5261051c908d612bb9565b61014051908c5190846101405190602095f161014051519a3d602003610d73575b60405215610c80575015610c02575b505073ffffffffffffffffffffffffffffffffffffffff825116602083015190610140515260016020526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926105ba84612e0c565b90551603610b99575a840311610b305760e0015160609073ffffffffffffffffffffffffffffffffffffffff16610827575b73ffffffffffffffffffffffffffffffffffffffff949260a0859360809360606106219801520135905a900301910152614bbb565b911685036107be576107555761064b73ffffffffffffffffffffffffffffffffffffffff91614bbb565b91166106ec5761065d576001016102e1565b60a490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b9897969594505a9883519961085b73ffffffffffffffffffffffffffffffffffffffff60e08d01511660408701519061512e565b15610ac75760807f52b7512c000000000000000000000000000000000000000000000000000000009798999a9b01516040516108dc816108b060208a015160408b015190602084019d8e52896024850161510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b8651608073ffffffffffffffffffffffffffffffffffffffff60e08301511691015161014051918b61014051928551926101405191f1983d908161014051843e51948251604084019b8c519015918215610abb575b508115610a8b575b50610a065750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a90031161097a5750946105ec565b80887f220266b60000000000000000000000000000000000000000000000000000000060a4935260805101600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a87610a12613425565b6040519384937f65c8fd4d0000000000000000000000000000000000000000000000000000000085526080510160048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b0390fd5b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f610939565b6040141591505f610931565b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b610c0b9161512e565b15610c17578b8061054c565b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8b903b610cf057608490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b610cf8613425565b90610a876040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260805101600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b61014051915061053d565b6101408051849052516020819052604090205490985081811115610da85750610140515b97610485565b8103610da2565b80887f220266b6000000000000000000000000000000000000000000000000000000006084935260805101600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ed05781601411610ec95780359160248110610ec957603411610ec9576024810135608090811c60a0880152601490910135811c90860152606081901c15610e6b5760601c60e085015289806103b3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6101405180fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b610f3b8160e051846131ee565b92610f46848061322e565b919073ffffffffffffffffffffffffffffffffffffffff610f6960208801613282565b16956001871461111d5786610f86575b5050019250600101610137565b806040610f949201906132a3565b91873b15610ec957916040519283917f2dd8113300000000000000000000000000000000000000000000000000000000835286604484016040600486015252606483019160648860051b8501019281610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee182360301915b8b82106110c357505050505081611054917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85809503016024850152610140519561313d565b0381610140518a5af190816110a8575b5061109b57847f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b929350839260015f610f79565b610140516110b591612bb9565b61014051610ec9575f611064565b9193967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c90879294969703018552863584811215610ec957602061110c60019385839401613344565b98019501920188969594939161100e565b867f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957604080516007906020906111948482612bb9565b8281527f455243343333370000000000000000000000000000000000000000000000000091019081522081516001906020906111d08582612bb9565b828152017f310000000000000000000000000000000000000000000000000000000000000081522082519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f855283015260608201524660808201523060a082015260a0815261124660c082612bb9565b5190206002556101405180f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95761128a612c6a565b3361014051526101405160205260016040610140512001908154916dffffffffffffffffffffffffffff8360081c169283156114985760981c65ffffffffffff16801561143a5742106113dc5780547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611371612e46565b501561137e576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9573361014051526101405160205260016040610140512001805463ffffffff8160781c169081156116875760ff16156116295765ffffffffffff4216019065ffffffffffff82116115f65780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a26101405180f35b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526011600452602461014051fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95761171f61171a612c6a565b61317b565b6101405180f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043567ffffffffffffffff8111610ec957602061177a6117d5923690600401612c8d565b73ffffffffffffffffffffffffffffffffffffffff611797613452565b16906040518095819482937f570e1a36000000000000000000000000000000000000000000000000000000008452876004850152602484019161313d565b039161014051905af180156118665773ffffffffffffffffffffffffffffffffffffffff916101405191611837575b507f6ca7b80600000000000000000000000000000000000000000000000000000000610140515216600452602461014051fd5b611859915060203d60201161185f575b6118518183612bb9565b810190613111565b82611804565b503d611847565b6040513d61014051823e3d90fd5b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576118ab612c6a565b60243567ffffffffffffffff8111610ec9576118cb903690600401612c8d565b604051929181908437820190610140518252610140519280610140519303915af46118f4612e46565b90610a876040519283927f9941055400000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190612d75565b34610ec95761194736612ce2565b6119529291926136de565b61195b83612fc1565b611966818585613752565b5061014051927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a161014051915b8583106119a7576101b48585614905565b9091936001906119cd6119bb878987613090565b6119c588866130fd565b519088614236565b0194019190611996565b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95773ffffffffffffffffffffffffffffffffffffffff611a23612c6a565b1661014051526101405160205260206040610140512054604051908152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95773ffffffffffffffffffffffffffffffffffffffff611a8e612c6a565b604051611a9a81612b37565b6101405181526101405160208201526101405160408201526101405160608201526080610140519101521661014051526101405160205260a06040610140512065ffffffffffff604051611aed81612b37565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576020611b9b612c6a565b73ffffffffffffffffffffffffffffffffffffffff611bb8612cbb565b91166101405152600182526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff82165f52825260405f20547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043567ffffffffffffffff8111610ec9576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610ec957611c98602091600401612e75565b604051908152f35b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957611cd7612c6a565b6024359033610140515261014051602052604061014051208054808411611de35783611d0291612e39565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611d78612e46565b5015611d85576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b34610ec95760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957611e78612c6a565b73ffffffffffffffffffffffffffffffffffffffff611e95612cbb565b91166101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f52602052602060405f2054604051908152f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576020600254604051908152f35b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610ec957336101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f5260205260405f206120038154612e0c565b90556101405180f35b34610ec957610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec957602073ffffffffffffffffffffffffffffffffffffffff61205c613452565b16604051908152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec95760043563ffffffff8116809103610ec95733610140515261014051602052604061014051209080156123c257600182015463ffffffff8160781c168210612364576120ee906dffffffffffffffffffffffffffff349160081c16612dd2565b918215612306576dffffffffffffffffffffffffffff83116122a857546040516122709161211b82612b37565b815265ffffffffffff602082019160018352604081016dffffffffffffffffffffffffffff87168152606082019086825260016080840193610140518552336101405152610140516020526040610140512090518155019451151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008754169116178555517fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff6effffffffffffffffffffffffffff008087549360081b16169116178455517fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff72ffffffff0000000000000000000000000000008086549360781b1616911617835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a26101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b34610ec95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ec9576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610ec957807f6930d3ee0000000000000000000000000000000000000000000000000000000060209214908115612548575b811561251e575b81156124f4575b81156124ca575b506040519015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014826124bf565b7f3e84f02100000000000000000000000000000000000000000000000000000000811491506124b8565b7fcf28ef9700000000000000000000000000000000000000000000000000000000811491506124b1565b7f989ccc5800000000000000000000000000000000000000000000000000000000811491506124aa565b346129e0576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126129e05760043567ffffffffffffffff81116129e057366023820112156129e0576125d3903690602481600401359101612c34565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c081126129e0576101406040519161260f83612b37565b126129e05760405161262081612b80565b60243573ffffffffffffffffffffffffffffffffffffffff811681036129e057815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff811681036129e05760e082015261012435610100820152610144356101208201528152602081019161016435835260408201906101843582526101a435606084015260808301916101c43583526101e43567ffffffffffffffff81116129e0576126f9903690600401612c8d565b955a90303303612ad95786516060810151955f9681519182612a1f575b50505050509061272e915a9003855101963691612c34565b925a9385516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480155f14612a19575048905b0180821015612a115750975b6127a673ffffffffffffffffffffffffffffffffffffffff60e084015116945182036060840151906149f5565b01925f92816128bc5750505173ffffffffffffffffffffffffffffffffffffffff16945b5a900301019485029051928184105f146128685750506003811015612835576002036128075760209281611c98929361280281614b16565b614a14565b7fdeadaa51000000000000000000000000000000000000000000000000000000006101405152602061014051fd5b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526021600452602461014051fd5b8161289e929594969396039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b50600384101561283557826128b7926020951590614a95565b611c98565b9096918782516128cf575b5050506127ca565b90919293505a9260038810156129e45760028803612905575b505060a06128fc925a9003910151906149f5565b908880806128c7565b60a083015191803b156129e0578b925f9283612961938c8b88604051998a98899788957f7c627b210000000000000000000000000000000000000000000000000000000087526004870152608060248701526084860190612d75565b9202604484015260648301520393f190816129cb575b506129c157610a87612987613425565b6040519182917fad7954bc000000000000000000000000000000000000000000000000000000008352602060048401526024830190612d75565b60a06128fc6128e8565b5f6129d591612bb9565b5f610140528a612977565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b905097612779565b9061276d565b915f9291838093602073ffffffffffffffffffffffffffffffffffffffff885116910192f115612a52575b808080612716565b61272e9392955060405191612a65613425565b908151612a7e575b505050604052600193909188612a4a565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201905191602073ffffffffffffffffffffffffffffffffffffffff855116940151612ace60405192839283612db8565b0390a3888080612a6d565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff821117612b5357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610140810190811067ffffffffffffffff821117612b5357604052565b6060810190811067ffffffffffffffff821117612b5357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612b5357604052565b67ffffffffffffffff8111612b5357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612c4082612bfa565b91612c4e6040519384612bb9565b8294818452818301116129e0578281602093845f960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036129e057565b9181601f840112156129e05782359167ffffffffffffffff83116129e057602083818601950101116129e057565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff821682036129e057565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126129e05760043567ffffffffffffffff81116129e05760040182601f820112156129e05780359267ffffffffffffffff84116129e0576020808301928560051b0101116129e057919060243573ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b604090612dcf939281528160208201520190612d75565b90565b91908201809211612ddf57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612ddf5760010190565b91908203918211612ddf57565b3d15612e70573d90612e5782612bfa565b91612e656040519384612bb9565b82523d5f602084013e565b606090565b604290612e81816134a8565b60025491612e8e81613282565b918015612f8c57905b60c0612ea660608301836132a3565b90816040519182372091612ebd60e08201826132a3565b908160405191823720926040519473ffffffffffffffffffffffffffffffffffffffff60208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152612f5461014082612bb9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612f9a60408201826132a3565b90816040519182372090612e97565b67ffffffffffffffff8111612b535760051b60200190565b90612fcb82612fa9565b612fd86040519182612bb9565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130068294612fa9565b01905f5b82811061301657505050565b60209060405161302581612b37565b60405161303181612b80565b5f81525f848201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f61012082015281525f838201525f60408201525f60608201525f60808201528282850101520161300a565b91908110156130d05760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee1813603018212156129e0570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80518210156130d05760209160051b010190565b908160209103126129e0575173ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6131e2348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b91908110156130d05760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156129e0570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129e0570180359067ffffffffffffffff82116129e057602001918160051b360383136129e057565b3573ffffffffffffffffffffffffffffffffffffffff811681036129e05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129e0570180359067ffffffffffffffff82116129e0576020019181360383136129e057565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156129e057016020813591019167ffffffffffffffff82116129e05781360383136129e057565b80359173ffffffffffffffffffffffffffffffffffffffff831683036129e05773ffffffffffffffffffffffffffffffffffffffff612dcf931681526020820135602082015261341661340a6133d16133b66133a360408701876132f4565b610120604088015261012087019161313d565b6133c360608701876132f4565b90868303606088015261313d565b6080850135608085015260a085013560a085015260c085013560c08501526133fc60e08601866132f4565b9085830360e087015261313d565b926101008101906132f4565b9161010081850391015261313d565b3d6108008111613449575b604051906020818301016040528082525f602083013e90565b50610800613430565b7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d45473ffffffffffffffffffffffffffffffffffffffff1680612dcf575073449ed7c3e6fee6a97311d4b55475df59c44add3390565b6134b560408201826132a3565b90916134c18284614b66565b156136d7576134cf90613282565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000831603613615575060181b91601482116135755750506040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008080602084019416161682526014815261356f603482612bb9565b51902090565b816014116129e057602061356f916040519384917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808086860199161616875260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec83019101603484013781015f8382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b3b156136795760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c61372a5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b92919092835f5b8181106137665750505050565b61377081856130fd565b5161377c828486613090565b5f915a81519273ffffffffffffffffffffffffffffffffffffffff6137a082613282565b168452602081013560208501526080810135936fffffffffffffffffffffffffffffffff8560801c951694604082019060608301968752815260c0820160a0840135815260c0840135906fffffffffffffffffffffffffffffffff8260801c9216916101208501906101008601938452815261381f60e08701876132a3565b90816141d0575b505060405161383487612e75565b9960208a019a8b528160405285519586855117825117926effffffffffffffffffffffffffffff60808a01948551179560a08b01968751178951179051171161416e5750519051019051019051019051019051029560408601918783528973ffffffffffffffffffffffffffffffffffffffff60e089516138c98b84835116956138c160408d018d6132a3565b929091614c92565b015116985f998015614147575b89516040810151905173ffffffffffffffffffffffffffffffffffffffff1680916040519d8e808d8b519360208301947f19822f7c00000000000000000000000000000000000000000000000000000000865260248401926139379361510c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810182526139679082612bb9565b51905f6020948194f15f519c3d60200361413f575b60405215614054575015613fda575b505073ffffffffffffffffffffffffffffffffffffffff8451166020850151905f52600160205260405f2077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926139f384612e0c565b90551603613f75575a860311613f105773ffffffffffffffffffffffffffffffffffffffff60e0606094015116613c50575b505073ffffffffffffffffffffffffffffffffffffffff949260a085936080936060613a5c9801520135905a900301910152614bbb565b9116613beb57613b8657613a8473ffffffffffffffffffffffffffffffffffffffff91614bbb565b9116613b2157613a9657600101613759565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b909c9b9a99989796505a9085519d60e08f015173ffffffffffffffffffffffffffffffffffffffff168151613c849161512e565b15613eab57613cd77f52b7512c00000000000000000000000000000000000000000000000000000000999a9b9c9d9e9f60800151926108b060405193849251905190602084019d8e52896024850161510c565b5f8088518b82608073ffffffffffffffffffffffffffffffffffffffff60e08501511693015192865193f1983d90815f843e51948251604084019b8c519015918215613e9f575b508115613e6f575b50613df25750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a900311613d6a5750948260a0613a25565b80887f220266b60000000000000000000000000000000000000000000000000000000060a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a87613dfe613425565b6040519384937f65c8fd4d00000000000000000000000000000000000000000000000000000000855260048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f613d26565b6040141591505f613d1e565b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b613fe39161512e565b15613fef575f8061398b565b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8d903b6140c057608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b6140c8613425565b90610a876040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d75565b5f915061397c565b9950815f525f60205260405f20548181115f1461416757505f5b996138d6565b8103614161565b808f7f220266b60000000000000000000000000000000000000000000000000000000060849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ed057816014116129e057803560601c91602481106129e0576014820135906034116129e0576fffffffffffffffffffffffffffffffff60248193013560801c1660a089015260801c1660808701528015610e6b5760e08601525f80613826565b9092915a6060820151604051958661425160608301836132a3565b5f600382116148fd575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f000000000000000000000000000000000000000000000000000000000361478f575050505f61436861445c6142f6614328602095868a01516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000008a850152604060248501526064840190613344565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612bb9565b6108b06040519384927e42dc5300000000000000000000000000000000000000000000000000000000888501526102006024850152610224840190612d75565b61442b604484018b60806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015287612d75565b828151910182305af15f519660405215614477575b50505050565b9091929394505f3d602014614782575b7fdeaddead00000000000000000000000000000000000000000000000000000000810361451357608485604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b92935090917fdeadaa510000000000000000000000000000000000000000000000000000000003614576575061455b61455061456b925a90612e39565b608084015190612dd2565b6040830151836128028295614b16565b905b5f808080614471565b906145e99060405160208501518551907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792602073ffffffffffffffffffffffffffffffffffffffff8451169301516145cc613425565b906145dc60405192839283612db8565b0390a36040525a90612e39565b6145f96080840191825190612dd2565b915f905a9285516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480155f1461477c575048905b01808210156147745750955b61467373ffffffffffffffffffffffffffffffffffffffff60e084015116935182036060840151906149f5565b01925f92806147455750505173ffffffffffffffffffffffffffffffffffffffff16935b5a900301019283026040850151928184105f146146f9575050806146cc575090816146c6929361280281614b16565b9061456d565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b61472e908284939795039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b506146cc575090825f61474093614a95565b6146c6565b95919051614754575b50614697565b9350905061476d5a9360a05f955a9003910151906149f5565b905f61474e565b905095614646565b9061463a565b5060205f803e5f51614487565b6148f493506148c8916147d4917e42dc53000000000000000000000000000000000000000000000000000000006020860152610200602486015261022485019161313d565b614897604484018860806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015284612d75565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101885287612bb9565b60205f8761445c565b50813561425b565b73ffffffffffffffffffffffffffffffffffffffff168015614997575f80809381935af1614931612e46565b501561493957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b90619c408201811115614a0e57606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b90600211614bb657357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b8015614c8b575f60408051614bcf81612b9d565b8281528260208201520152604073ffffffffffffffffffffffffffffffffffffffff82169165ffffffffffff8160a01c16908115614c7d575b60d01c9065ffffffffffff835191614c1f83612b9d565b8583528360208401521692839101527f182d361d27e8fee91541f8630840b9272bdb770c7bb6239b09cd74563c4053415480155f14614c77575042915b8211918215614c6c575b50509091565b111590505f80614c66565b91614c5c565b65ffffffffffff9150614c08565b505f905f90565b929190915f9080614ca5575b5050505050565b83519473ffffffffffffffffffffffffffffffffffffffff86511695614ccb8386614b66565b6150245750853b614fbf5760148210614f5a5782602073ffffffffffffffffffffffffffffffffffffffff614cfe613452565b16604088510151604051809481937f570e1a3600000000000000000000000000000000000000000000000000000000835285600484015282614d458c8b602484019161313d565b0393f1908115614f4f578491614f30575b5073ffffffffffffffffffffffffffffffffffffffff81168015614ecb578703614e66573b15614e015750601411614dfe577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d91604091503573ffffffffffffffffffffffffffffffffffffffff60e06020860151955101511673ffffffffffffffffffffffffffffffffffffffff83519260601c1682526020820152a35f80808080614c9e565b80fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b614f49915060203d60201161185f576118518183612bb9565b5f614d56565b6040513d86823e3d90fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b945050919050601482116150385750505050565b604073ffffffffffffffffffffffffffffffffffffffff615057613452565b1693015190826014116129e057833b156129e0575f80946150db96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec604486019301910161313d565b0393f18015615101576150f1575b808080614471565b5f6150fb91612bb9565b5f6150e9565b6040513d5f823e3d90fd5b61512460409295949395606083526060830190613344565b9460208201520152565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081548181106136d75703905560019056fea2646970667358221220030e5985170808db5d88356870c373546942b01839312efb2537df13d172705564736f6c634300081c0033", "sourceMap": "1214:38367:32:-:0;;;;;;;;;-1:-1:-1;1214:38367:32;;;;;;;;1324:10:4;;;:::i;:::-;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7353:31;1214:38367;7353:31;;;1214:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1181:103:19;;:::i;:::-;1214:38367:32;;;;4439:11;;;;;;;5278:26;;;;:::i;:::-;;;1214:38367;;5319:19;;1214:38367;;5357:13;;5372:11;;;;;;;;5717:17;1214:38367;;;;5717:17;1214:38367;;5784:11;;;;1214:38367;;5829:11;;;;;;;6348:9;;;;;:::i;:::-;1214:38367;;637:66:19;3550:68:23;1214:38367:32;;;;5842:3;6049:11;5901:19;;;;;;:::i;:::-;1214:38367;5978:14;4639;5978;;;:::i;:::-;1214:38367;5943:51;1214:38367;;;;5943:51;6049:11;;:::i;:::-;1214:38367;;;6124:171;6144:10;;;;;;5842:3;;;4780:1;1214:38367;5814:13;;6156:3;6220:6;;;4780:1;6220:6;6196:49;6220:6;;;;;:::i;:::-;6228:16;;;;;;:::i;:::-;;6196:49;;;;:::i;:::-;1838:4;6267:9;;;;1214:38367;6267:9;;1214:38367;6129:13;;;;5385:3;5444:19;;;;;;;:::i;:::-;1214:38367;5572:14;4639;5518:11;;;;:::i;:::-;;;5572:14;;;:::i;:::-;-1:-1:-1;;1214:38367:32;;;-1:-1:-1;14114:10:32;;;;;;;1838:4;;;;;;;;5605:78;;4780:1;5385:3;;1214:38367;5385:3;;5357:13;;14126:3;14176:26;14184:17;;;1838:4;14176:26;;;:::i;:::-;;14332:6;;;;;;:::i;:::-;14111:1;;;31458:9;31507:17;;17637:13;1214:38367;17637:13;;;:::i;:::-;1214:38367;;;4639:14;17676:12;;;1214:38367;17660:13;;;1214:38367;430:2:5;17782:23:32;;;;1214:38367;430:2:5;;;17729:20:32;;;1214:38367;;;;17699:28;;1214:38367;17845:25;;;1214:38367;17816:26;;;;1214:38367;;;;17964:14;;1214:38367;430:2:5;;;17911:20:32;;;1214:38367;;17881:28;;;1214:38367;18023:23;1214:38367;18023:23;;17676:12;18023:23;:::i;:::-;18060:27;;18056:489;;14126:3;38805:67;;1214:38367;38805:67;31727:21;;;;:::i;:::-;4639:14;31704:20;;1214:38367;39088:66;1214:38367;39088:66;1214:38367;17699:28;;1214:38367;17816:26;1214:38367;17816:26;;;;1214:38367;32038:49;17729:20;;;1214:38367;32038:72;17782:23;32125:37;;1214:38367;32038:124;17845:25;32165:31;;1214:38367;32038:158;17911:20;;;1214:38367;32038:181;17881:28;;;1214:38367;32038:224;32280:33;1214:38367;;17699:28;1214:38367;17699:28;;1214:38367;17729:20;;;1214:38367;1838:4;17782:23;32125:37;;1214:38367;1838:4;17845:25;32165:31;;1214:38367;1838:4;17816:26;;;1214:38367;1838:4;17911:20;;;1214:38367;;32436:17;;1214:38367;32436:17;;1214:38367;21880:14;;1214:38367;;;;;;21992:11;;;;;1214:38367;21992:11;;;;:::i;:::-;14184:17;;;;;1838:4;21992:11;:::i;:::-;22038:17;1214:38367;;14111:1;;;22118:23;;;22114:182;;14126:3;23326:14;;1214:38367;23326:35;;1214:38367;;;;;14111:1;;;38805:67;1214:38367;38805:67;31704:20;;;4639:14;31704:20;;1838:4;23544:85;4639:14;23544:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;14111:1;;23643:326;;;14111:1;;;;23643:326;4639:14;23643:326;;14111:1;;23643:326;;;4639:14;23643:326;;;14126:3;1214:38367;39088:66;24034:8;24030:286;;22118:23;;22401:205;;14126:3;1214:38367;;;;;;4639:14;17660:13;;1214:38367;14111:1;;;1214:38367;4780:1;4639:14;1214:38367;;14111:1;;1214:38367;;;;;;-1:-1:-1;1214:38367:32;;;;;-1:-1:-1;1214:38367:32;;;;1154:34:2;;;;:::i;:::-;1214:38367:32;;;1154:41:2;1214:38367:32;;32740:9;1838:4;;32731:41;32727:138;;1214:38367;32919:17;1214:38367;17729:20;;1214:38367;;32915:155;;14126:3;1214:38367;33103:23;;17845:25;33103:23;;17782;33103;17729:20;28830:34;33103:23;;1214:38367;17845:25;1214:38367;33205:9;;1838:4;;;33175:18;;1214:38367;28830:34;:::i;:::-;1214:38367;;28878:32;;28874:111;;28994:96;;29392:43;1214:38367;29392:43;;:::i;:::-;1214:38367;;29445:105;;29559:106;;4780:1;1214:38367;14099:13;;29559:106;29600:54;1214:38367;;;29600:54;;;;14184:17;;1838:4;1214:38367;29600:54;;1214:38367;;23544:85;1214:38367;;;;;;;;;;;;;;;;;;29600:54;29445:105;29498:41;1214:38367;;;29498:41;;;;14184:17;;1838:4;1214:38367;29498:41;;1214:38367;;23544:85;1214:38367;;;;;;;;;;;;;29498:41;28994:96;29035:44;1214:38367;;;29035:44;;;;14184:17;;1838:4;1214:38367;29035:44;;1214:38367;;23544:85;1214:38367;;;;;;;;;;;;;29035:44;28874:111;28933:41;1214:38367;;;28933:41;;;;14184:17;;1838:4;1214:38367;28933:41;;1214:38367;;23544:85;1214:38367;;;;;;;;;;;;;28933:41;32915:155;25279:9;;;;;;;25332:14;;;25380:17;25470:48;1214:38367;;25380:17;;1214:38367;;;32436:17;;1214:38367;25470:48;;:::i;:::-;25469:49;25465:146;;17782:23;26268:91;25657:37;;;;;;1214:38367;;38805:67;26268:91;31704:20;26268:91;4639:14;31704:20;;1838:4;1214:38367;32436:17;;1214:38367;26268:91;4639:14;26268:91;;;;;;23544:85;26268:91;;;:::i;:::-;;23544:85;26268:91;;;;;;:::i;:::-;26389:14;;17782:23;1214:38367;;26389:24;;1214:38367;;26463:44;;1214:38367;14111:1;;;;;;26656:1236;;;14111:1;;;26656:1236;;;;14111:1;;;;26656:1236;;;;;;1214:38367;26656:1236;;;;;27930:8;;1214:38367;;;27930:31;;32915:155;27930:72;;;;;32915:155;27926:205;;;1214:38367;;23544:85;1214:38367;;;4020:413:1;;;1214:38367:32;4020:413:1;25812:9:32;1838:4;;25803:43;25799:149;;-1:-1:-1;32966:93:32;32915:155;;25799:149;25873:60;;;;;;14184:17;;1838:4;1214:38367;25873:60;;1214:38367;;23544:85;1214:38367;;;;;;;;;;;;;;;;;;25873:60;27926:205;28074:41;1214:38367;28074:41;;:::i;:::-;1214:38367;;28029:87;;;;;;14184:17;;1838:4;1214:38367;28029:87;;1214:38367;23544:85;1214:38367;;;;;;;;;;;;;17845:25;1214:38367;;;;;;;;;:::i;:::-;28029:87;;;27930:72;26656:1236;;27981:2;26656:1236;;;1838:4;;27965:37;27930:72;;;:31;1214:38367;27942:19;;;-1:-1:-1;27930:31:32;;;25465:146;25545:51;1214:38367;;;25545:51;;;;14184:17;;1838:4;1214:38367;25545:51;;1214:38367;;23544:85;1214:38367;;;;;;;;;;;;;25545:51;32727:138;32799:51;1214:38367;;;32799:51;;;;14184:17;;1838:4;1214:38367;32799:51;;1214:38367;;23544:85;1214:38367;;;;;;;;;;;;;32799:51;1214:38367;;;;;;;;;14184:17;;1838:4;1214:38367;;;;;23544:85;1214:38367;;;;;;;;;;;;;;22401:205;22453:45;;;:::i;:::-;22452:46;22448:144;;22401:205;;;;22448:144;22529:44;1214:38367;;;22529:44;;;;14184:17;;1838:4;1214:38367;22529:44;;1214:38367;;23544:85;1214:38367;;;;;;;;;;;;;22529:44;24030:286;24062:18;;;;;24112:46;1214:38367;;;24112:46;;;;14184:17;;1838:4;1214:38367;24112:46;;1214:38367;;23544:85;1214:38367;;;;;;;;;;;;;24112:46;24058:248;24249:41;;:::i;:::-;1214:38367;;;;24204:87;;;;;;14184:17;;1838:4;1214:38367;24204:87;;1214:38367;17729:20;23544:85;1214:38367;;;;;;;;;;;;;17845:25;1214:38367;;;;;;;;;:::i;23643:326::-;14111:1;;;-1:-1:-1;23643:326:32;;22114:182;14111:1;;;1214:38367;;;14111:1;4639:14;1214:38367;;;;;;;14111:1;;-1:-1:-1;22232:21:32;;;;;;14111:1;;;22232:49;22114:182;;;22232:49;1838:4;;22232:49;;1214:38367;;;;;;;14184:17;;1838:4;1214:38367;;;;;23544:85;1214:38367;;;;;;;;;;;;;;18056:489;486:2:5;18111:65:32;;486:2:5;;1214:38367:32;368:2:5;1214:38367:32;;;368:2:5;;;23544:85:32;1214:38367;-1:-1:-1;1214:38367:32;;486:2:5;1214:38367:32;;;23544:85;1214:38367;;430:2:5;17782:23:32;430:2:5;;;17845:25:32;18306:31;;1214:38367;368:2:5;1214:38367:32;;;430:2:5;;;18267:37:32;;;1214:38367;17729:20;309:8:0;;;18441:23:32;486:2:5;;17729:20:32;309:8:0;1214:38367:32;18505:17;;1214:38367;18056:489;;;;486:2:5;;1214:38367:32;;486:2:5;;;4639:14:32;1214:38367;486:2:5;;;;23544:85:32;486:2:5;;1214:38367:32;486:2:5;1214:38367:32;;;486:2:5;;1214:38367:32;14111:1;;;1214:38367;486:2:5;;1214:38367:32;;486:2:5;;;4639:14:32;1214:38367;486:2:5;;;;23544:85:32;486:2:5;;1214:38367:32;486:2:5;1214:38367:32;;;486:2:5;;4452:3:32;4511:19;;;;;;:::i;:::-;4585:11;;;;;:::i;:::-;4639:14;;1214:38367;4639:14;;;;;:::i;:::-;1214:38367;4749:33;4780:1;4749:33;;1214:38367;;4854:33;4850:329;;4452:3;-1:-1:-1;;1838:4:32;;-1:-1:-1;4780:1:32;1214:38367;4424:13;;4850:329;5015:13;1214:38367;5015:13;;;;;:::i;:::-;4980:49;;;;;;1214:38367;;;4980:49;;;1214:38367;4980:49;;1214:38367;;;;;;4980:49;;1214:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4980:49;1214:38367;;;4980:49;;;;;;;1214:38367;-1:-1:-1;4976:185:32;;1214:38367;5092:46;1214:38367;;5092:46;1214:38367;;;;;5092:46;4976:185;;;-1:-1:-1;4976:185:32;;4780:1;4850:329;;;4980:49;1214:38367;;4980:49;;;:::i;:::-;1214:38367;;;;4980:49;;;1214:38367;;;;;;;;;;;;;;;;;;;;;;;4639:14;1214:38367;4780:1;1214:38367;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2884:29;1214:38367;;2136:9;;1214:38367;;;;;;:::i;:::-;;;;2136:9;;;;2948:32;1214:38367;;3007:80;1214:38367;3007:80;;1214:38367;2685:95;1214:38367;;2685:95;;1214:38367;2685:95;;;1214:38367;3058:13;2685:95;;;1214:38367;3081:4;2685:95;;;1214:38367;2685:95;3007:80;;;;;;:::i;:::-;1214:38367;2997:91;;3281:46;1214:38367;;;;;;;;;;;;;;;;;;:::i;:::-;4096:10:4;1214:38367:32;;;;;;;4133:10:4;1214:38367:32;;;;4133:10:4;1214:38367:32;;;;;;;;;4161:9:4;;;1214:38367:32;;;;;;4213:21:4;;1214:38367:32;;4320:15:4;-1:-1:-1;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;4096:10:4;;4492:50;;;1214:38367:32;;;;;;;;;;;4570:38:4;;;;:::i;:::-;;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:10:4;1214:38367:32;;;;;;;3644:20:4;1214:38367:32;;;;3644:20:4;1214:38367:32;;;;;;;3644:25:4;;;1214:38367:32;;;;;;;;3774:15:4;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:10:4;;3899:39;;1214:38367:32;;3899:39:4;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7063:45;;:::i;:::-;1214:38367;;;;6838:38;;;;;;1214:38367;6838:38;;;1214:38367;6838:38;;1214:38367;;;;;;:::i;:::-;6838:38;1214:38367;;;6838:38;;;;;;;1214:38367;;;;6838:38;;;1214:38367;;6893:27;1214:38367;;6893:27;1214:38367;;;;;;6893:27;6838:38;;;;1214:38367;6838:38;1214:38367;6838:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1214:38367;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7311:25;;;;;;;:::i;:::-;1214:38367;;;;7353:31;;;;;;1214:38367;;;7353:31;;1214:38367;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;1181:103:19;;;;;:::i;:::-;3725:24:32;;;:::i;:::-;3783:52;;;;;:::i;:::-;-1:-1:-1;1214:38367:32;;;3890:17;1214:38367;;3890:17;1214:38367;;3922:120;3942:10;;;;;;4081:9;;;;:::i;3954:3::-;4008:6;;;1214:38367;4008:6;3990:37;4008:6;;;;;:::i;:::-;4016:10;;;;:::i;:::-;;3990:37;;;:::i;:::-;1838:4;3954:3;1214:38367;3927:13;;;;1214:38367;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;507:19:2;1214:38367:32;;;;;;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;;;;;;507:55:2;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4863:10:4;;1214:38367:32;;;;;;;;;;;;;4939:32:4;;;1214:38367:32;;5026:31:4;;;;:::i;:::-;1214:38367:32;;;;;;;;;;;;;;;;4863:10:4;;5072:54;;;1214:38367:32;;;;;;;;;;;5154:47:4;;;;:::i;:::-;;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;279:74:2;1214:38367:32;;;;;;;279:74:2;1214:38367:32;-1:-1:-1;1214:38367:32;;;;;-1:-1:-1;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;1065:197:5;1214:38367:32;;;;;;;;;;;;;;;;3419:19;1214:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;694:10:2;1214:38367:32;;;674:19:2;1214:38367:32;;;;;;;674:36:2;1214:38367:32;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;674:38:2;1214:38367:32;;674:38:2;:::i;:::-;1214:38367:32;;;;;;;;;;;;;;;;;;;;7063:45;;:::i;:::-;1214:38367;;;;;;;;;;;;;;;;;;;;;;;;;2894:10:4;1214:38367:32;;;;;;;;;;;2923:19:4;;;1214:38367:32;;3023:20:4;;;1214:38367:32;;;;;;3004:39:4;;1214:38367:32;;3123:22:4;3136:9;1214:38367:32;3136:9:4;1214:38367:32;;;;3123:22:4;:::i;:::-;3163:9;;;1214:38367:32;;;3213:26:4;;1214:38367:32;;;;;;;;;;:::i;:::-;;;;;3291:137:4;;1214:38367:32;3023:20:4;1214:38367:32;;;3291:137:4;;1214:38367:32;;;;;3291:137:4;;;1214:38367:32;;;;3023:20:4;3291:137;;;1214:38367:32;;;;;2894:10:4;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3443:47:4;1214:38367:32;2894:10:4;3443:47;;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7788:126;7816:97;1214:38367;7788:126;;:186;;;;;1214:38367;7788:236;;;;1214:38367;7788:298;;;;1214:38367;7788:338;;;;1214:38367;;;;;;;;;;7788:338;877:25:26;862:40;;;7788:338:32;;;:298;7882:31;8040:46;;;-1:-1:-1;7788:298:32;;:236;7848:31;7978:46;;;-1:-1:-1;7788:236:32;;:186;7816:29;7930:44;;;-1:-1:-1;7788:186:32;;1214:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15831:9;;15880:4;;15858:10;:27;1214:38367;;15953:14;;1214:38367;16001:20;;1214:38367;16470:62;1214:38367;;;;16546:19;;16542:557;;1214:38367;17162:9;;;;;;1838:4;17162:9;;1838:4;;1214:38367;;1838:4;1214:38367;;1838:4;;:::i;:::-;17210:48;34202:9;34245:21;34310:14;;1214:38367;37518:20;;1214:38367;;37583:28;;1214:38367;405:35:31;1214:38367:32;2492:12:31;;:38;:12;;;2507:13;;2492:38;;1838:4:32;3696:5:1;;;;;;:13;;;34731:60:32;1214:38367;;34419:17;;1214:38367;;;;1838:4;;1214:38367;34770:20;;1214:38367;34731:60;;:::i;:::-;1838:4;;1214:38367;;34867:23;1214:38367;;-1:-1:-1;;1214:38367:32;;;;34863:1262;36160:9;1838:4;;;;1214:38367;;;;;36308:23;;;;36304:796;36308:23;;;1214:38367;;;;;;;;36363:36;36355:44;36363:36;;1214:38367;36423:23;;36570:9;36423:23;36487:6;;;;:::i;:::-;36570:9;:::i;36351:440::-;36627:146;1214:38367;;36627:146;1214:38367;;;36627:146;1214:38367;;;;;;;;;;;;36304:796;1838:4;36887:40;1838:4;;;;;;;36887:40;1214:38367;;1706:8:4;1214:38367:32;1706:8:4;1214:38367:32;;;1706:8:4;1214:38367:32;;;;1838:4;1214:38367;;;1558:305:4;;36887:40:32;;1214:38367;;;;;;36960:41;37075:9;36960:41;1214:38367;36960:41;;37075:9;;:::i;:::-;36304:796;;34863:1262;34979:25;;;;1214:38367;;35022:1089;;34863:1262;;;;;;35022:1089;35149:9;;;;;;1214:38367;;;;;;;35192:36;35184:44;;35180:549;;35022:1089;35968:9;;1214:38367;36024:68;35968:9;;1838:4;;36060:31;;1214:38367;36024:68;;:::i;:::-;35022:1089;;;;;;35180:549;1214:38367;35294:31;;1214:38367;35260:160;;;;;;1214:38367;;;;;;;;;;;;35260:160;;;;;;;1214:38367;35260:160;;1214:38367;35260:160;;1214:38367;;;;;;;;;;;:::i;:::-;;;;;;;;;;;35260:160;;;;;;;35180:549;-1:-1:-1;35256:451:32;;1214:38367;35580:41;;:::i;:::-;1214:38367;;35658:22;;;;;;1214:38367;;35658:22;;1214:38367;;;;;;:::i;35256:451::-;1214:38367;36024:68;35180:549;;35260:160;1214:38367;35260:160;;;:::i;:::-;1214:38367;;;35260:160;;;;1214:38367;;;;;;;;;;;;;3696:13:1;;;;;;2492:38:31;;;;16542:557:32;1214:38367;;;;;;;;;;;;368:118:15;;;;16666:8:32;16662:427;;16542:557;;;;;;16662:427;1838:4;38805:67;;;;1214:38367;38805:67;16765:41;;;:::i;:::-;1214:38367;;;16824:152;;16662:427;39088:66;;;1214:38367;39088:66;1214:38367;16662:427;;;;;;16824:152;16874:83;1838:4;;1214:38367;;;;;;16935:13;;1214:38367;16874:83;1214:38367;;16874:83;;;;;:::i;:::-;;;;16824:152;;;;;1214:38367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;1214:38367:32;;;;;-1:-1:-1;1214:38367:32;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1214:38367:32;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1838:4::-;;1214:38367;;;1838:4;;1214:38367;;;;;;;;1838:4;1214:38367;;;1838:4;-1:-1:-1;1838:4:32;;;;;;1214:38367;;1838:4;;;:::o;:::-;;;;;;1214:38367;;1838:4;;;;;;;;:::i;:::-;;:::o;1214:38367::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1214:38367:32;;;;:::o;:::-;;;:::o;6413:300::-;3445:249:25;6413:300:32;6544:54;;;:::i;:::-;3419:19;1214:38367;1668:13:5;;;;:::i;:::-;1752:82;:25;;;;:82;;2050:14;1882:15;;;;;;:::i;:::-;3287:193:1;;;;;;;;2120:23:5;;;;;;;:::i;:::-;3287:193:1;;;;;;;;1214:38367:32;3287:193:1;1214:38367:32;2162:233:5;1214:38367:32;1707:12:5;2162:233;;1214:38367:32;1065:197:5;1214:38367:32;;;3287:193:1;1214:38367:32;;;1707:12:5;;;1214:38367:32;1882:15:5;1214:38367:32;;;1935:23:5;1214:38367:32;;;1997:25:5;1214:38367:32;;;1935:23:5;;;1214:38367:32;;;;;1997:25:5;;;1214:38367:32;2120:23:5;1214:38367:32;;;2050:14:5;1214:38367:32;;;;;;;;;;2162:233:5;;;;;;:::i;:::-;1214:38367:32;4988:47:5;;3287:193:1;3445:249:25;;;;;3419:19:32;3445:249:25;;;;;;;;6413:300:32;:::o;1752:82:5:-;1818:15;;;;;;;:::i;:::-;3287:193:1;;1818:15:5;3287:193:1;;;;;1752:82:5;;;1214:38367:32;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1214:38367:32;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;1214:38367:32;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;-1:-1:-1;1214:38367:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;1214:38367:32;;;;;;;;;;;:::o;2570:179:4:-;2712:30;1214:38367:32;;2660:37:4;2687:9;2660:37;1214:38367:32;;1706:8:4;1214:38367:32;1706:8:4;1214:38367:32;;;1706:8:4;1214:38367:32;;;;1838:4;1214:38367;;;1558:305:4;;2660:37;1214:38367:32;;;;;;;2712:30:4;;2570:179::o;1214:38367:32:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;1176:508:15:-;1273:405;1838:4:32;1273:405:15;;;;1176:508;1273:405;;;;;;;;;;;;;;;;;;1176:508;:::o;1273:405::-;;1838:4:32;1273:405:15;;1682:226:31;317:27;;1214:38367:32;;1842:21:31;1214:38367:32;;1842:59:31;897:42;1682:226;:::o;756:488:0:-;902:15;;;;;;:::i;:::-;932:28;;;;;;:::i;:::-;931:29;927:68;;1043:13;;;:::i;:::-;2535:113;1214:38367:32;2535:113:0;;;1214:38367:32;2535:113:0;1214:38367:32;;;;;2786:36:0;2782:241;;-1:-1:-1;3069:2:0;1214:38367:32;;1090:2:0;1071:21;;1090:2;;1214:38367:32;;902:15:0;1214:38367:32;445:6:0;1123:26;;;;;1214:38367:32;;;;;;1090:2:0;1123:26;;;;;;:::i;:::-;1214:38367:32;1113:37:0;;1106:44;:::o;1067:170::-;1214:38367:32;1090:2:0;1214:38367:32;;;1194:42:0;;1214:38367:32;902:15:0;1214:38367:32;1194:42:0;;;445:6;1194:42;;;;;1214:38367:32;;;;;;1090:2:0;1214:38367:32;;;;;;;;;;;;;;;;1194:42:0;;;;;;;;;:::i;2782:241::-;2919:18;:22;309:8;;2978:34;902:15;1214:38367:32;2978:34:0;;;309:8;2978:34;;;309:8;;;;;1214:38367:32;309:8:0;1214:38367:32;;;309:8:0;2978:34;309:8;;902:15;1214:38367:32;309:8:0;;;;;;;;;;;;1214:38367:32;309:8:0;1214:38367:32;;;309:8:0;;927:68;976:8;;;1214:38367:32;976:8:0;:::o;1290:346:19:-;637:66;3321:69:23;1413:93:19;;1624:4;637:66;3550:68:23;1290:346:19:o;1413:93::-;1465:30;-1:-1:-1;1465:30:19;;-1:-1:-1;1465:30:19;13806:743:32;;;;;14061:19;1214:38367;14114:10;;;;;;13806:743;;;;:::o;14126:3::-;14176:26;;;;:::i;:::-;;14332:6;;;;;:::i;:::-;1214:38367;31458:9;;31507:17;;17637:13;1214:38367;17637:13;;;:::i;:::-;1214:38367;;;17676:12;;;1214:38367;17676:12;17660:13;;1214:38367;17782:23;;;1214:38367;17753:53;430:2:5;1214:38367:32;17782:23;1214:38367;430:2:5;;2525:52;17699:28:32;;;17729:20;;;;1214:38367;;;;;17816:26;;;17845:25;;;1214:38367;;;17816:26;17964:14;;1214:38367;17935:44;430:2:5;1214:38367:32;17782:23;1214:38367;430:2:5;;2525:52;17881:28:32;;;17911:20;;;;1214:38367;;;;;18023:23;;;;;;:::i;:::-;18060:27;;18056:489;;14126:3;38805:67;;17699:28;38805:67;31727:21;;;:::i;:::-;31704:20;17676:12;31704:20;;1214:38367;;;39088:66;17699:28;39088:66;1214:38367;;;;;;32038:49;1214:38367;;32038:72;32125:37;1214:38367;17782:23;32125:37;;1214:38367;;;32038:124;32165:31;17845:25;32165:31;;1214:38367;;;32038:158;1214:38367;;32038:181;1214:38367;;32038:224;32280:33;1214:38367;;;;;;1838:4;1214:38367;;1838:4;1214:38367;;1838:4;1214:38367;;1838:4;1214:38367;;;32436:17;17699:28;32436:17;;1214:38367;;;;21880:14;1214:38367;18023:23;21880:14;;21992:11;1214:38367;;;;;21992:11;;17699:28;21992:11;;;;:::i;:::-;;;;;:::i;:::-;22038:17;1214:38367;;22069:31;1214:38367;22118:23;;;22114:182;;14126:3;23326:14;;17699:28;23326:35;;1214:38367;;;;;23419:12;;17699:28;38805:67;1838:4;;;;;;23544:85;17676:12;23544:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;23643:326;;1214:38367;17676:12;23643:326;;;;1214:38367;23643:326;;;17676:12;23643:326;;;14126:3;17699:28;39088:66;24034:8;24030:286;;22118:23;;22401:205;;14126:3;1214:38367;;;;;;17676:12;17660:13;;1214:38367;;;;;17676:12;1214:38367;17699:28;1214:38367;;;;17699:28;1214:38367;;-1:-1:-1;1214:38367:32;;;;;-1:-1:-1;1214:38367:32;;;;1154:34:2;;;;:::i;:::-;1214:38367:32;;;1154:41:2;1214:38367:32;;32740:9;1838:4;;32731:41;32727:138;;1214:38367;18023:23;17729:20;32919:17;;1214:38367;;32915:155;;14126:3;33103:23;;1214:38367;33103:23;;17845:25;33103:23;;17782;33103;17729:20;28830:34;33103:23;;1214:38367;17845:25;1214:38367;33205:9;;1838:4;;;33175:18;;1214:38367;28830:34;:::i;:::-;1214:38367;;28874:111;;28994:96;;29392:43;1214:38367;29392:43;;:::i;:::-;1214:38367;;29445:105;;29559:106;;1214:38367;;14099:13;;29559:106;29600:54;1214:38367;17699:28;1214:38367;29600:54;;;;;;;1214:38367;17699:28;23544:85;1214:38367;;;;;;;;;;;;;;;;;;29600:54;29445:105;29498:41;1214:38367;17699:28;1214:38367;29498:41;;;;;;;1214:38367;17699:28;23544:85;1214:38367;;;;;;;;;;;;;29498:41;28994:96;29035:44;1214:38367;17699:28;1214:38367;29035:44;;;;;;;1214:38367;17699:28;23544:85;1214:38367;;;;;;;;;;;;;29035:44;28874:111;28933:41;1214:38367;17699:28;1214:38367;28933:41;;;;;;;1214:38367;17699:28;23544:85;1214:38367;;;;;;;;;;;;;28933:41;32915:155;25279:9;;;;;;;;;;25332:14;;;25380:17;18023:23;25380:17;;1214:38367;;;;;25470:48;;;:::i;:::-;25469:49;25465:146;;26268:91;;25657:37;;;;;;;17782:23;25657:37;1214:38367;38805:67;26268:91;17699:28;38805:67;1838:4;;;;1214:38367;;26268:91;17676:12;26268:91;;;;;;23544:85;26268:91;;;:::i;:::-;1214:38367;26389:14;;;:24;;17782:23;1214:38367;18023:23;26389:24;;1214:38367;;26463:44;;1214:38367;26656:1236;;;;;;;;;1214:38367;26656:1236;;;;;;17699:28;26656:1236;;;;;27930:8;;1214:38367;;;27930:31;;32915:155;27930:72;;;;;32915:155;27926:205;;;1214:38367;;23544:85;1214:38367;;;4020:413:1;;;17699:28:32;4020:413:1;25812:9:32;1838:4;;25803:43;25799:149;;-1:-1:-1;32966:93:32;;17845:25;32915:155;;25799:149;25873:60;;;;;;;;;1214:38367;17699:28;23544:85;1214:38367;;;;;;;;;;;;;;;;;;25873:60;27926:205;28074:41;1214:38367;28074:41;;:::i;:::-;17699:28;1214:38367;28029:87;;;;;;26268:91;28029:87;;1214:38367;23544:85;1214:38367;;;;;;;;;;;;;17845:25;1214:38367;;;;;;;;;:::i;27930:72::-;26656:1236;;27981:2;26656:1236;;;1838:4;;27965:37;27930:72;;;:31;17699:28;27942:19;;;-1:-1:-1;27930:31:32;;;25465:146;25545:51;1214:38367;17699:28;1214:38367;25545:51;;;;;;;1214:38367;17699:28;23544:85;1214:38367;;;;;;;;;;;;;25545:51;32727:138;32799:51;1214:38367;17699:28;1214:38367;32799:51;;;;;;;1214:38367;17699:28;23544:85;1214:38367;;;;;;;;;;;;;32799:51;1214:38367;;;17699:28;1214:38367;;;;;;;;;17699:28;23544:85;1214:38367;;;;;;;;;;;;;;22401:205;22453:45;;;:::i;:::-;22452:46;22448:144;;22401:205;;;;22448:144;22529:44;1214:38367;17699:28;1214:38367;22529:44;;;;;;;1214:38367;17699:28;23544:85;1214:38367;;;;;;;;;;;;;22529:44;24030:286;24062:18;;;;;24112:46;1214:38367;17699:28;1214:38367;24112:46;;;;23544:85;24112:46;;1214:38367;17699:28;23544:85;1214:38367;;;;;;;;;;;;;24112:46;24058:248;24249:41;;:::i;:::-;1214:38367;;17699:28;1214:38367;24204:87;;;;;;23544:85;24204:87;;1214:38367;17729:20;23544:85;1214:38367;;;;;;;;;;;;;17845:25;1214:38367;;;;;;;;;:::i;23643:326::-;1214:38367;;-1:-1:-1;23643:326:32;;22114:182;1214:38367;;;;;;17676:12;1214:38367;17699:28;1214:38367;;;22232:21;;;:49;:21;;;:49;1214:38367;22232:49;22114:182;;;22232:49;1838:4;;22232:49;;1214:38367;;;;;;;;;;;17699:28;23544:85;1214:38367;;;;;;;;;;;;;;18056:489;486:2:5;18111:65:32;;486:2:5;;1214:38367:32;368:2:5;1214:38367:32;;;368:2:5;;17729:20:32;309:8:0;;23544:85:32;1214:38367;-1:-1:-1;1214:38367:32;;368:2:5;1214:38367:32;;430:2:5;;486;1214:38367:32;;;430:2:5;23544:85:32;4512:78:5;;1214:38367:32;430:2:5;17782:23:32;430:2:5;;17845:25:32;18306:31;;1214:38367;17782:23;430:2:5;;17782:23:32;18267:37;;1214:38367;18441:23;;486:2:5;;18023:23:32;18505:17;;1214:38367;18056:489;;;;8955:2957;;;;9159:9;9227:20;;;1214:38367;38805:67;;9369:15;;;9227:20;9369:15;;;;:::i;:::-;1214:38367;9464:160;;;;;8955:2957;1214:38367;;9654:38;9641:51;9654:38;;9796:17;;;1214:38367;;9845:68;1214:38367;9741:74;10055:178;9796:17;;;;1838:4;38805:67;1214:38367;9741:74;;;9654:38;9741:74;;;;38805:67;9741:74;;;1214:38367;;;;;;:::i;:::-;;;;;;9741:74;;;;;;;;:::i;:::-;1214:38367;38805:67;1214:38367;9845:68;;;1214:38367;9845:68;;;;1214:38367;9741:74;9845:68;;1214:38367;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9845:68::-;10055:178;;;;;;;;;1214:38367;10055:178;39088:66;38805:67;39088:66;10298:8;10294:1612;;9637:405;8955:2957;;;;:::o;10294:1612::-;10322:23;;;;;;1214:38367;10359:228;10055:178;10359:228;;;10294:1612;1214:38367;10604:35;;1214:38367;;10840:36;1214:38367;38805:67;1214:38367;10840:36;;;;;;;1214:38367;38805:67;1769:13;;;;;;;;1214:38367;1769:13;1214:38367;;;1769:13;10840:36;10600:1296;10901:43;;-1:-1:-1;10901:43:32;;1698:13;10901:43;1698:13;;11086:9;11077:36;:18;11285:9;11086;;11077:18;;:::i;:::-;11098:15;;;1214:38367;11077:36;;:::i;:::-;38805:67;11155:14;;1214:38367;11206:6;;;;;:::i;11285:9::-;10897:999;;10294:1612;;;;;;10897:999;38805:67;11735:18;38805:67;;;10055:178;11471:17;;1838:4;11510:14;;1214:38367;11431:223;10055:178;1214:38367;;;;11553:20;;1214:38367;11595:41;;:::i;:::-;1214:38367;11431:223;38805:67;1214:38367;11431:223;;;;;:::i;:::-;;;;38805:67;39088:66;11744:9;11735:18;;:::i;:::-;:36;11756:15;;;1214:38367;;;11735:36;;:::i;:::-;11801:80;1214:38367;34202:9;;34245:21;34310:14;;37518:20;;;1214:38367;37583:28;;;1214:38367;405:35:31;1214:38367:32;2492:12:31;;:38;:12;;;2507:13;;2492:38;;1838:4:32;3696:5:1;;;;;;:13;;;34731:60:32;1214:38367;34419:17;;;1214:38367;;;;1838:4;;9227:20;34770;;1214:38367;34731:60;;:::i;:::-;1838:4;;1214:38367;;34867:23;1214:38367;;-1:-1:-1;;1214:38367:32;;;;34863:1262;36160:9;1838:4;;;;1214:38367;;;38805:67;36276:14;;1214:38367;36308:23;;;;36304:796;36308:23;;;1214:38367;;;;;36423:23;;;36570:9;36423:23;36487:6;;;;:::i;36570:9::-;10897:999;;;1214:38367;;;;;;;;;;36304:796;36887:40;1838:4;;;;;;;36887:40;1214:38367;;1706:8:4;1214:38367:32;1706:8:4;1214:38367:32;;;1706:8:4;1214:38367:32;;;;1838:4;1214:38367;;;1558:305:4;;36887:40:32;;1214:38367;;37075:9;;;1214:38367;37075:9;;;:::i;:::-;36304:796;;34863:1262;34979:25;;;1214:38367;35022:1089;;34863:1262;;;;35022:1089;35149:9;;;;36024:68;35149:9;1214:38367;36060:31;1214:38367;35968:9;;1838:4;;36060:31;;1214:38367;36024:68;;:::i;:::-;35022:1089;;;;3696:13:1;;;;;;2492:38:31;;;;10359:228:32;;10055:178;1214:38367;10359:228;;1214:38367;10359:228;;;9637:405;9964:63;;;1214:38367;9964:63;1214:38367;9964:63;1214:38367;9964:63;;;;1214:38367;9964:63;;;1214:38367;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9964:63;;;;;;;;:::i;:::-;10055:178;1214:38367;9952:75;9637:405;;9464:160;-1:-1:-1;9464:160:32;;;;8362:286;1214:38367;;8463:25;;1214:38367;;8486:1;8545:35;;;;;;;;;:::i;:::-;;1214:38367;;;8362:286::o;1214:38367::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39166:413;;2085:5;1838:4;;39301:43;;;39297:90;;39522:3;1838:4;1971:2;1838:4;;1214:38367;1971:2;39166:413;:::o;39297:90::-;39364:8;;1214:38367;39364:8;:::o;12345:411::-;;;;12512:237;1214:38367;12544:17;;;1838:4;12575:14;;1214:38367;;;;;12610:24;12544:17;1214:38367;12610:24;;;1214:38367;;12648:20;;1214:38367;;;;;;;;12544:17;1214:38367;;;;;;;;;;;12512:237;12345:411::o;:::-;;1214:38367;12512:237;12345:411;12544:17;;;1838:4;12575:14;;1214:38367;;;;;12610:24;12544:17;1214:38367;12610:24;;;1214:38367;;12648:20;;1214:38367;;;;;;;;;12544:17;1214:38367;;;;;;;;;;;12512:237;12345:411::o;12928:183::-;13041:17;;;1838:4;13060:14;;1214:38367;13014:90;13041:17;1214:38367;;;;;13083:20;;1214:38367;;;;;;13014:90;12928:183::o;1557:552:0:-;;1672:1;-1:-1:-1;1650:62:0;;1861:95;445:6;;1214:38367:32;2053:49:0;;1557:552::o;1650:62::-;1689:12;1214:38367:32;1689:12:0;:::o;30001:540:32:-;30175:19;;30171:76;;30193:1;1214:38367;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1666:3:1;1214:38367:32;;1680:15:1;;;1676:67;;30001:540:32;1794:8:1;1214:38367:32;;;;;;;;;:::i;:::-;;;;1817:50:1;1214:38367:32;1817:50:1;;1214:38367:32;;1817:50:1;;;;1214:38367:32;494:28:31;1214:38367:32;2824:14:31;;:44;:14;;;2841:15;;2824:44;;30427:32:32;;:69;;;;;2824:44:31;30410:86:32;;30506:28;30001:540;:::o;30427:69::-;30463:33;;;-1:-1:-1;30427:69:32;;;;2824:44:31;;;;1676:67:1;1214:38367:32;;-1:-1:-1;1676:67:1;;30171:76:32;30210:26;30193:1;30210:26;30193:1;30210:26;:::o;19433:1671::-;;;;;19602:1;19583:20;;19579:1519;;19433:1671;;;;;;:::o;19579:1519::-;19636:14;;1214:38367;;;;;19675:43;;;;;:::i;:::-;19671:495;;20183:18;;;20179:121;;20335:2;20317:20;;20313:110;;7063:45;1214:38367;;7063:45;;:::i;:::-;1214:38367;20488:35;:14;;:35;1214:38367;20488:35;1214:38367;20454:80;;;;1214:38367;20454:80;;;;;;1214:38367;;;;;;;;;;:::i;:::-;20454:80;;;;;;;;;;;;19579:1519;1214:38367;;;;20552:21;;20548:115;;20680:17;;20676:116;;20809:19;:24;20805:123;;1214:38367;20335:2;1214:38367;;;21010:77;20967:23;20488:35;20967:23;368:2:5;;1214:38367:32;;;21026:17;;1838:4;21062:14;;:24;1214:38367;;;;;309:8:0;;;;1214:38367:32;;;;;;21010:77;19579:1519;;;;;;;1214:38367;;;20805:123;20860:53;1214:38367;20488:35;1214:38367;20860:53;;;;20454:80;20860:53;;1214:38367;20488:35;1214:38367;;;;;;;;;;;;;;20860:53;20676:116;20724:53;1214:38367;20488:35;1214:38367;20724:53;;;;20454:80;20724:53;;1214:38367;20488:35;1214:38367;;;;;;;;;;;;;;20724:53;20548:115;20600:48;1214:38367;20488:35;1214:38367;20600:48;;;;20454:80;20600:48;;1214:38367;20488:35;1214:38367;;;;;;;;;;;;;;20600:48;20454:80;;;;1214:38367;20454:80;1214:38367;20454:80;;;;;;;:::i;:::-;;;;;20488:35;1214:38367;;;;;;;;20313:110;20364:44;1214:38367;;;20364:44;;;;;;;1214:38367;;;;;;;;;;;;;;;;20364:44;20179:121;20233:52;1214:38367;;;20233:52;;;;;;;1214:38367;;;;;;;;;;;;;;;;20233:52;19671:495;19742:20;;;;;;19760:2;19742:20;;19738:390;;20145:7;;;;:::o;19738:390::-;20050:35;1214:38367;7063:45;;:::i;:::-;1214:38367;20050:35;;1214:38367;;;19760:2;1214:38367;;;20011:98;;;;;19602:1;1214:38367;;;;20050:35;1214:38367;20011:98;;;;;;;1214:38367;20011:98;;;;;1214:38367;20050:35;1214:38367;;;;19760:2;1214:38367;;;;;;;;;:::i;:::-;20011:98;;;;;;;;;19738:390;;;;;;20011:98;19602:1;20011:98;;;:::i;:::-;19602:1;20011:98;;;20050:35;1214:38367;;19602:1;1214:38367;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;2134:396:4:-;1214:38367:32;;;;;;;;;;;;;2367:23:4;;;2363:74;;1838:4:32;1214:38367;;2509:4:4;2134:396;:::o", "linkReferences": {} }, "methodIdentifiers": { "addStake(uint32)": "0396cb60", "balanceOf(address)": "70a08231", "delegateAndRevert(address,bytes)": "850aaf62", "depositTo(address)": "b760faf9", "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", "initDomainSeparator()": "d12e825d", "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": "0042dc53", "nonceSequenceNumber(address,uint192)": "1b2e01b8", "senderCreator()": "09ccb880", "supportsInterface(bytes4)": "01ffc9a7", "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\":\"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\":[{\"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\"},{\"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\":[{\"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\":\"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\":[{\"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\":\"opsPerAggregator\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"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\":\"ops\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initDomainSeparator\",\"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 EntryPointFilterOpsOverride08.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 EntryPointFilterOpsOverride08.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"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\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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/ha2YsRp8/\",\"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.\"}},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the reverted call to \\\"postOp\\\".\",\"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 \\\"callData\\\" call.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"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.\"}},\"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\"}},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"opsPerAggregator\":\"- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).\"}},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"ops\":\"- The operations to execute.\"}},\"incrementNonce(uint192)\":{\"params\":{\"key\":\"- the \\\"nonce key\\\" to increment the \\\"nonce sequence\\\" for.\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"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\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 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 andhandleAggregatedOps, to identify the offending op. Should be caught in off-chain handleOps/handleAggregatedOps 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 and handleAggregatedOps, 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() and handleAggregatedOps(), 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\":{\"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.this method cannot be used for EIP-7702 derived contracts.\"},\"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), entrypoint address, chainId and (optionally) 7702 delegate address\"},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperation with Aggregators\"},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead.\"},\"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)\":{\"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.\"},\"senderCreator()\":{\"notice\":\"Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts.\"},\"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/EntryPointFilterOpsOverride.sol\":\"EntryPointFilterOpsOverride08\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"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-v8/contracts/core/Eip7702Support.sol\":{\"keccak256\":\"0x8e22fc49f3ec8dadd4ec6f6829485d3d301afced9e73da1012e903d4221d715d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85c21152f6f1e1754dbae1b9fa85040d9d282a8badd848765845a71acf3bbd99\",\"dweb:/ipfs/QmdNZSjrtoV4RM6fuKKUQU73AYzALsaBwY2tz2Lxz4mNaS\"]},\"lib/account-abstraction-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01\",\"dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE\"]},\"lib/account-abstraction-v8/contracts/core/SenderCreator.sol\":{\"keccak256\":\"0x3138a92de18e7e39c45020f0e5e7d16da622c01f3846094f7be05c2aefb098fd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f87883de39461c04a76e672b69c968467c4ec3258d1887ba96c989563a843df\",\"dweb:/ipfs/QmPyuTTqCvoaZekGEmzPHN5j8oEXKV9vLxiSCMSLQA7usy\"]},\"lib/account-abstraction-v8/contracts/core/StakeManager.sol\":{\"keccak256\":\"0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2\",\"dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5\"]},\"lib/account-abstraction-v8/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced\",\"dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77\",\"dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT\"]},\"lib/account-abstraction-v8/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x3b0423737e810dd886183ed32cfed9b45edd315f5fb3e1076fc19f86791adc64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c43081efaa2eda581b6249053281bb58cb0c4eeb6bf87efc55d95daaec2fc931\",\"dweb:/ipfs/QmXRN2JnyzWZNeFMHauTnDuc7jhxGY4ZkY37HTtjXKdC87\"]},\"lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d\",\"dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX\"]},\"lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00\",\"dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85\",\"dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz\"]},\"lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"lib/account-abstraction-v8/contracts/utils/Exec.sol\":{\"keccak256\":\"0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868\",\"dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8\"]},\"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/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"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/EntryPointFilterOpsOverride.sol\":{\"keccak256\":\"0x312b8593b556038084e9152d776d09bfc023fc0a626f3ee6deadaa3986ac0c6f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8d080ac5993db4813f61b69769c3bf203ec95d505d6f4476483e58d7f76b85ea\",\"dweb:/ipfs/QmPfJzfJGooJmS7zkbmNhuUVN82RguynJh4YUUM3aoFBzz\"]},\"src/v08/IEntryPointFilterOpsOverride.sol\":{\"keccak256\":\"0xe069a104d10fd2a44eaa5fb8e5b42c88db1b79e2fb158d479baf1d037100aa0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1440a823d770d3b70e73c769ac97039facc8b9cdb3f41debd37ae7a12ef5e9b\",\"dweb:/ipfs/QmahuKjkumBBkJEgfogRM2Pa3sSFLQ6mkyXBao87G4EF4T\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.28+commit.7893614a" }, "language": "Solidity", "output": { "abi": [{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": [{ "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": "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": [{ "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": "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": [{ "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": "opsPerAggregator", "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": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleAggregatedOps" }, { "inputs": [{ "internalType": "struct PackedUserOperation[]", "name": "ops", "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": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleOps" }, { "inputs": [{ "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "nonpayable", "type": "function", "name": "incrementNonce" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "initDomainSeparator" }, { "inputs": [{ "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "struct EntryPointFilterOpsOverride08.UserOpInfo", "name": "opInfo", "type": "tuple", "components": [{ "internalType": "struct EntryPointFilterOpsOverride08.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" }], "stateMutability": "nonpayable", "type": "function", "name": "innerHandleOp", "outputs": [{ "internalType": "uint256", "name": "actualGasCost", "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": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] }, { "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": { "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." } }, "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" } }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "opsPerAggregator": "- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts)." } }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "ops": "- The operations to execute." } }, "incrementNonce(uint192)": { "params": { "key": "- the \"nonce key\" to increment the \"nonce sequence\" for." } }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "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" } }, "supportsInterface(bytes4)": { "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 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": { "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.this method cannot be used for EIP-7702 derived contracts." }, "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), entrypoint address, chainId and (optionally) 7702 delegate address" }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "notice": "Execute a batch of UserOperation with Aggregators" }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "notice": "Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead." }, "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)": { "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." }, "senderCreator()": { "notice": "Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts." }, "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": 1000000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "src/v08/EntryPointFilterOpsOverride.sol": "EntryPointFilterOpsOverride08" }, "evmVersion": "cancun", "libraries": {}, "viaIR": true }, "sources": { "lib/account-abstraction-v8/contracts/core/Eip7702Support.sol": { "keccak256": "0x8e22fc49f3ec8dadd4ec6f6829485d3d301afced9e73da1012e903d4221d715d", "urls": ["bzz-raw://85c21152f6f1e1754dbae1b9fa85040d9d282a8badd848765845a71acf3bbd99", "dweb:/ipfs/QmdNZSjrtoV4RM6fuKKUQU73AYzALsaBwY2tz2Lxz4mNaS"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/core/Helpers.sol": { "keccak256": "0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e", "urls": ["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f", "dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/core/NonceManager.sol": { "keccak256": "0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c", "urls": ["bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01", "dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/SenderCreator.sol": { "keccak256": "0x3138a92de18e7e39c45020f0e5e7d16da622c01f3846094f7be05c2aefb098fd", "urls": ["bzz-raw://6f87883de39461c04a76e672b69c968467c4ec3258d1887ba96c989563a843df", "dweb:/ipfs/QmPyuTTqCvoaZekGEmzPHN5j8oEXKV9vLxiSCMSLQA7usy"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/StakeManager.sol": { "keccak256": "0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a", "urls": ["bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2", "dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/UserOperationLib.sol": { "keccak256": "0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1", "urls": ["bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99", "dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAccount.sol": { "keccak256": "0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864", "urls": ["bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319", "dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol": { "keccak256": "0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0", "urls": ["bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced", "dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol": { "keccak256": "0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf", "urls": ["bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77", "dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IEntryPoint.sol": { "keccak256": "0x3b0423737e810dd886183ed32cfed9b45edd315f5fb3e1076fc19f86791adc64", "urls": ["bzz-raw://c43081efaa2eda581b6249053281bb58cb0c4eeb6bf87efc55d95daaec2fc931", "dweb:/ipfs/QmXRN2JnyzWZNeFMHauTnDuc7jhxGY4ZkY37HTtjXKdC87"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol": { "keccak256": "0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87", "urls": ["bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d", "dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol": { "keccak256": "0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8", "urls": ["bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00", "dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol": { "keccak256": "0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4", "urls": ["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570", "dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol": { "keccak256": "0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0", "urls": ["bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85", "dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol": { "keccak256": "0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800", "urls": ["bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79", "dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/utils/Exec.sol": { "keccak256": "0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd", "urls": ["bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868", "dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8"], "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/introspection/ERC165.sol": { "keccak256": "0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa", "urls": ["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287", "dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol": { "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", "urls": ["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"], "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/EntryPointFilterOpsOverride.sol": { "keccak256": "0x312b8593b556038084e9152d776d09bfc023fc0a626f3ee6deadaa3986ac0c6f", "urls": ["bzz-raw://8d080ac5993db4813f61b69769c3bf203ec95d505d6f4476483e58d7f76b85ea", "dweb:/ipfs/QmPfJzfJGooJmS7zkbmNhuUVN82RguynJh4YUUM3aoFBzz"], "license": "GPL-3.0" }, "src/v08/IEntryPointFilterOpsOverride.sol": { "keccak256": "0xe069a104d10fd2a44eaa5fb8e5b42c88db1b79e2fb158d479baf1d037100aa0e", "urls": ["bzz-raw://f1440a823d770d3b70e73c769ac97039facc8b9cdb3f41debd37ae7a12ef5e9b", "dweb:/ipfs/QmahuKjkumBBkJEgfogRM2Pa3sSFLQ6mkyXBao87G4EF4T"], "license": "MIT" } }, "version": 1 }, "id": 32 }
|