@pimlico/alto 0.0.0-main.20250428T104157 → 0.0.0-main.20250429T114818
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 -0
- package/contracts/ERC165.sol/ERC165.json +1 -0
- package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -0
- package/contracts/EntryPointCodeOverride.sol/EntryPointCodeOverride.json +1 -0
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations.json +1 -0
- package/contracts/Exec.sol/Exec.json +1 -0
- package/contracts/IAccount.sol/IAccount.json +1 -0
- package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -0
- package/contracts/IAggregator.sol/IAggregator.json +1 -0
- package/contracts/IERC165.sol/IERC165.json +1 -0
- package/contracts/IERC5267.sol/IERC5267.json +1 -0
- package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -0
- package/contracts/INonceManager.sol/INonceManager.json +1 -0
- package/contracts/IPaymaster.sol/IPaymaster.json +1 -0
- package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -0
- package/contracts/IStakeManager.sol/IStakeManager.json +1 -0
- package/contracts/Math.sol/Math.json +1 -0
- package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -0
- package/contracts/NonceManager.sol/NonceManager.json +1 -0
- package/contracts/Panic.sol/Panic.json +1 -0
- package/contracts/PimlicoEntryPointSimulationsV7.sol/PimlicoEntryPointSimulationsV7.json +1 -0
- package/contracts/PimlicoEntryPointSimulationsV8.sol/PimlicoEntryPointSimulationsV8.json +1 -0
- package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
- package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -0
- package/contracts/SafeCast.sol/SafeCast.json +1 -0
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -0
- package/contracts/ShortStrings.sol/ShortStrings.json +1 -0
- package/contracts/SignedMath.sol/SignedMath.json +1 -0
- package/contracts/StakeManager.sol/StakeManager.json +1 -0
- package/contracts/StorageSlot.sol/StorageSlot.json +1 -0
- package/contracts/Strings.sol/Strings.json +1 -0
- package/contracts/TransientSlot.sol/TransientSlot.json +1 -0
- package/contracts/UserOperation.sol/UserOperationLib.json +1 -0
- package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -0
- package/contracts/build-info/0c52dc19c74a9a932ddddcca463ce398.json +1 -0
- package/contracts/build-info/a1d9af887789a0ade8ffbc8b045f0780.json +1 -0
- package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/esm/cli/deploySimulationsContract.js +14 -5
- package/esm/cli/deploySimulationsContract.js.map +1 -1
- package/package.json +2 -1
- package/lib/cli/alto.d.ts +0 -7
- package/lib/cli/alto.js +0 -141
- package/lib/cli/alto.js.map +0 -1
- package/lib/cli/config/bundler.d.ts +0 -2872
- package/lib/cli/config/bundler.js +0 -242
- package/lib/cli/config/bundler.js.map +0 -1
- package/lib/cli/config/index.d.ts +0 -3
- package/lib/cli/config/index.js +0 -19
- package/lib/cli/config/index.js.map +0 -1
- package/lib/cli/config/options.d.ts +0 -13
- package/lib/cli/config/options.js +0 -587
- package/lib/cli/config/options.js.map +0 -1
- package/lib/cli/customTransport.d.ts +0 -14
- package/lib/cli/customTransport.js +0 -94
- package/lib/cli/customTransport.js.map +0 -1
- package/lib/cli/deploySimulationsContract.d.ts +0 -13
- package/lib/cli/deploySimulationsContract.js +0 -100
- package/lib/cli/deploySimulationsContract.js.map +0 -1
- package/lib/cli/handler.d.ts +0 -3
- package/lib/cli/handler.js +0 -157
- package/lib/cli/handler.js.map +0 -1
- package/lib/cli/index.d.ts +0 -4
- package/lib/cli/index.js +0 -20
- package/lib/cli/index.js.map +0 -1
- package/lib/cli/instrumentation.d.ts +0 -2
- package/lib/cli/instrumentation.js +0 -47
- package/lib/cli/instrumentation.js.map +0 -1
- package/lib/cli/parseArgs.d.ts +0 -8
- package/lib/cli/parseArgs.js +0 -25
- package/lib/cli/parseArgs.js.map +0 -1
- package/lib/cli/setupServer.d.ts +0 -13
- package/lib/cli/setupServer.js +0 -266
- package/lib/cli/setupServer.js.map +0 -1
- package/lib/cli/util.d.ts +0 -22
- package/lib/cli/util.js +0 -34
- package/lib/cli/util.js.map +0 -1
- package/lib/createConfig.d.ts +0 -16
- package/lib/createConfig.js +0 -13
- package/lib/createConfig.js.map +0 -1
- package/lib/executor/executor.d.ts +0 -65
- package/lib/executor/executor.js +0 -301
- package/lib/executor/executor.js.map +0 -1
- package/lib/executor/executorManager.d.ts +0 -108
- package/lib/executor/executorManager.js +0 -702
- package/lib/executor/executorManager.js.map +0 -1
- package/lib/executor/fastlane.d.ts +0 -9
- package/lib/executor/fastlane.js +0 -41
- package/lib/executor/fastlane.js.map +0 -1
- package/lib/executor/filterOpsAndEStimateGas.d.ts +0 -29
- package/lib/executor/filterOpsAndEStimateGas.js +0 -225
- package/lib/executor/filterOpsAndEStimateGas.js.map +0 -1
- package/lib/executor/index.d.ts +0 -5
- package/lib/executor/index.js +0 -21
- package/lib/executor/index.js.map +0 -1
- package/lib/executor/senderManager/createMemorySenderManager.d.ts +0 -8
- package/lib/executor/senderManager/createMemorySenderManager.js +0 -45
- package/lib/executor/senderManager/createMemorySenderManager.js.map +0 -1
- package/lib/executor/senderManager/createRedisSenderManager.d.ts +0 -8
- package/lib/executor/senderManager/createRedisSenderManager.js +0 -85
- package/lib/executor/senderManager/createRedisSenderManager.js.map +0 -1
- package/lib/executor/senderManager/flushOnStartUp.d.ts +0 -9
- package/lib/executor/senderManager/flushOnStartUp.js +0 -37
- package/lib/executor/senderManager/flushOnStartUp.js.map +0 -1
- package/lib/executor/senderManager/index.d.ts +0 -15
- package/lib/executor/senderManager/index.js +0 -25
- package/lib/executor/senderManager/index.js.map +0 -1
- package/lib/executor/senderManager/validateAndRefill.d.ts +0 -11
- package/lib/executor/senderManager/validateAndRefill.js +0 -115
- package/lib/executor/senderManager/validateAndRefill.js.map +0 -1
- package/lib/executor/utilityWalletMonitor.d.ts +0 -19
- package/lib/executor/utilityWalletMonitor.js +0 -42
- package/lib/executor/utilityWalletMonitor.js.map +0 -1
- package/lib/executor/utils.d.ts +0 -34
- package/lib/executor/utils.js +0 -167
- package/lib/executor/utils.js.map +0 -1
- package/lib/handlers/arbitrumGasPriceManager.d.ts +0 -14
- package/lib/handlers/arbitrumGasPriceManager.js +0 -39
- package/lib/handlers/arbitrumGasPriceManager.js.map +0 -1
- package/lib/handlers/eventManager.d.ts +0 -29
- package/lib/handlers/eventManager.js +0 -225
- package/lib/handlers/eventManager.js.map +0 -1
- package/lib/handlers/gasPriceManager.d.ts +0 -36
- package/lib/handlers/gasPriceManager.js +0 -391
- package/lib/handlers/gasPriceManager.js.map +0 -1
- package/lib/handlers/index.d.ts +0 -3
- package/lib/handlers/index.js +0 -19
- package/lib/handlers/index.js.map +0 -1
- package/lib/handlers/mantleGasPriceManager.d.ts +0 -23
- package/lib/handlers/mantleGasPriceManager.js +0 -44
- package/lib/handlers/mantleGasPriceManager.js.map +0 -1
- package/lib/handlers/optimismManager.d.ts +0 -10
- package/lib/handlers/optimismManager.js +0 -21
- package/lib/handlers/optimismManager.js.map +0 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -4
- package/lib/index.js.map +0 -1
- package/lib/mempool/index.d.ts +0 -4
- package/lib/mempool/index.js +0 -20
- package/lib/mempool/index.js.map +0 -1
- package/lib/mempool/mempool.d.ts +0 -191
- package/lib/mempool/mempool.js +0 -499
- package/lib/mempool/mempool.js.map +0 -1
- package/lib/mempool/monitoring.d.ts +0 -14
- package/lib/mempool/monitoring.js +0 -101
- package/lib/mempool/monitoring.js.map +0 -1
- package/lib/mempool/reputationManager.d.ts +0 -121
- package/lib/mempool/reputationManager.js +0 -472
- package/lib/mempool/reputationManager.js.map +0 -1
- package/lib/rpc/createMethodHandler.d.ts +0 -31
- package/lib/rpc/createMethodHandler.js +0 -34
- package/lib/rpc/createMethodHandler.js.map +0 -1
- package/lib/rpc/estimation/gasEstimationHandler.d.ts +0 -30
- package/lib/rpc/estimation/gasEstimationHandler.js +0 -50
- package/lib/rpc/estimation/gasEstimationHandler.js.map +0 -1
- package/lib/rpc/estimation/gasEstimationsV06.d.ts +0 -19
- package/lib/rpc/estimation/gasEstimationsV06.js +0 -148
- package/lib/rpc/estimation/gasEstimationsV06.js.map +0 -1
- package/lib/rpc/estimation/gasEstimationsV07.d.ts +0 -101
- package/lib/rpc/estimation/gasEstimationsV07.js +0 -727
- package/lib/rpc/estimation/gasEstimationsV07.js.map +0 -1
- package/lib/rpc/estimation/types.d.ts +0 -120
- package/lib/rpc/estimation/types.js +0 -125
- package/lib/rpc/estimation/types.js.map +0 -1
- package/lib/rpc/index.d.ts +0 -4
- package/lib/rpc/index.js +0 -20
- package/lib/rpc/index.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_clearReputation.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_clearReputation.js +0 -15
- package/lib/rpc/methods/debug_bundler_clearReputation.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_clearState.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_clearState.js +0 -16
- package/lib/rpc/methods/debug_bundler_clearState.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_dumpMempool.d.ts +0 -973
- package/lib/rpc/methods/debug_bundler_dumpMempool.js +0 -16
- package/lib/rpc/methods/debug_bundler_dumpMempool.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_dumpReputation.d.ts +0 -57
- package/lib/rpc/methods/debug_bundler_dumpReputation.js +0 -16
- package/lib/rpc/methods/debug_bundler_dumpReputation.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_getStakeStatus.d.ts +0 -79
- package/lib/rpc/methods/debug_bundler_getStakeStatus.js +0 -25
- package/lib/rpc/methods/debug_bundler_getStakeStatus.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_sendBundleNow.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_sendBundleNow.js +0 -15
- package/lib/rpc/methods/debug_bundler_sendBundleNow.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_setBundlingMode.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_setBundlingMode.js +0 -16
- package/lib/rpc/methods/debug_bundler_setBundlingMode.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_setReputation.d.ts +0 -46
- package/lib/rpc/methods/debug_bundler_setReputation.js +0 -16
- package/lib/rpc/methods/debug_bundler_setReputation.js.map +0 -1
- package/lib/rpc/methods/eth_chainId.d.ts +0 -22
- package/lib/rpc/methods/eth_chainId.js +0 -13
- package/lib/rpc/methods/eth_chainId.js.map +0 -1
- package/lib/rpc/methods/eth_estimateUserOperationGas.d.ts +0 -1891
- package/lib/rpc/methods/eth_estimateUserOperationGas.js +0 -26
- package/lib/rpc/methods/eth_estimateUserOperationGas.js.map +0 -1
- package/lib/rpc/methods/eth_getUserOperationByHash.d.ts +0 -1775
- package/lib/rpc/methods/eth_getUserOperationByHash.js +0 -101
- package/lib/rpc/methods/eth_getUserOperationByHash.js.map +0 -1
- package/lib/rpc/methods/eth_getUserOperationReceipt.d.ts +0 -412
- package/lib/rpc/methods/eth_getUserOperationReceipt.js +0 -14
- package/lib/rpc/methods/eth_getUserOperationReceipt.js.map +0 -1
- package/lib/rpc/methods/eth_sendUserOperation.d.ts +0 -878
- package/lib/rpc/methods/eth_sendUserOperation.js +0 -44
- package/lib/rpc/methods/eth_sendUserOperation.js.map +0 -1
- package/lib/rpc/methods/eth_supportedEntryPoints.d.ts +0 -22
- package/lib/rpc/methods/eth_supportedEntryPoints.js +0 -13
- package/lib/rpc/methods/eth_supportedEntryPoints.js.map +0 -1
- package/lib/rpc/methods/index.d.ts +0 -3
- package/lib/rpc/methods/index.js +0 -44
- package/lib/rpc/methods/index.js.map +0 -1
- package/lib/rpc/methods/pimlico_getUserOperationGasPrice.d.ts +0 -131
- package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js +0 -33
- package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js.map +0 -1
- package/lib/rpc/methods/pimlico_getUserOperationStatus.d.ts +0 -43
- package/lib/rpc/methods/pimlico_getUserOperationStatus.js +0 -14
- package/lib/rpc/methods/pimlico_getUserOperationStatus.js.map +0 -1
- package/lib/rpc/methods/pimlico_sendUserOperationNow.d.ts +0 -1268
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js +0 -55
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +0 -1
- package/lib/rpc/rpcHandler.d.ts +0 -75
- package/lib/rpc/rpcHandler.js +0 -391
- package/lib/rpc/rpcHandler.js.map +0 -1
- package/lib/rpc/server.d.ts +0 -26
- package/lib/rpc/server.js +0 -283
- package/lib/rpc/server.js.map +0 -1
- package/lib/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
- package/lib/rpc/validation/BundlerCollectorTracerV06.js +0 -262
- package/lib/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
- package/lib/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
- package/lib/rpc/validation/BundlerCollectorTracerV07.js +0 -261
- package/lib/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
- package/lib/rpc/validation/SafeValidator.d.ts +0 -51
- package/lib/rpc/validation/SafeValidator.js +0 -327
- package/lib/rpc/validation/SafeValidator.js.map +0 -1
- package/lib/rpc/validation/TracerResultParserV06.d.ts +0 -13
- package/lib/rpc/validation/TracerResultParserV06.js +0 -582
- package/lib/rpc/validation/TracerResultParserV06.js.map +0 -1
- package/lib/rpc/validation/TracerResultParserV07.d.ts +0 -33
- package/lib/rpc/validation/TracerResultParserV07.js +0 -599
- package/lib/rpc/validation/TracerResultParserV07.js.map +0 -1
- package/lib/rpc/validation/UnsafeValidator.d.ts +0 -97
- package/lib/rpc/validation/UnsafeValidator.js +0 -303
- package/lib/rpc/validation/UnsafeValidator.js.map +0 -1
- package/lib/rpc/validation/index.d.ts +0 -3
- package/lib/rpc/validation/index.js +0 -19
- package/lib/rpc/validation/index.js.map +0 -1
- package/lib/rpc/validation/tracer.d.ts +0 -125
- package/lib/rpc/validation/tracer.js +0 -112
- package/lib/rpc/validation/tracer.js.map +0 -1
- package/lib/store/createMemoryOutstandingStore.d.ts +0 -28
- package/lib/store/createMemoryOutstandingStore.js +0 -236
- package/lib/store/createMemoryOutstandingStore.js.map +0 -1
- package/lib/store/createMempoolStore.d.ts +0 -8
- package/lib/store/createMempoolStore.js +0 -199
- package/lib/store/createMempoolStore.js.map +0 -1
- package/lib/store/createRedisOutstandingStore.d.ts +0 -27
- package/lib/store/createRedisOutstandingStore.js +0 -349
- package/lib/store/createRedisOutstandingStore.js.map +0 -1
- package/lib/store/createRedisStore.d.ts +0 -9
- package/lib/store/createRedisStore.js +0 -138
- package/lib/store/createRedisStore.js.map +0 -1
- package/lib/store/createStore.d.ts +0 -6
- package/lib/store/createStore.js +0 -70
- package/lib/store/createStore.js.map +0 -1
- package/lib/store/index.d.ts +0 -81
- package/lib/store/index.js +0 -6
- package/lib/store/index.js.map +0 -1
- package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +0 -32
- package/lib/types/contracts/ArbitrumL1FeeAbi.js +0 -45
- package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +0 -1
- package/lib/types/contracts/CallEngine.d.ts +0 -28
- package/lib/types/contracts/CallEngine.js +0 -40
- package/lib/types/contracts/CallEngine.js.map +0 -1
- package/lib/types/contracts/CodeHashGetter.d.ts +0 -37
- package/lib/types/contracts/CodeHashGetter.js +0 -48
- package/lib/types/contracts/CodeHashGetter.js.map +0 -1
- package/lib/types/contracts/EntryPoint.d.ts +0 -1789
- package/lib/types/contracts/EntryPoint.js +0 -2307
- package/lib/types/contracts/EntryPoint.js.map +0 -1
- package/lib/types/contracts/EntryPointSimulationsV6.d.ts +0 -34
- package/lib/types/contracts/EntryPointSimulationsV6.js +0 -51
- package/lib/types/contracts/EntryPointSimulationsV6.js.map +0 -1
- package/lib/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
- package/lib/types/contracts/EntryPointSimulationsV7.js +0 -2678
- package/lib/types/contracts/EntryPointSimulationsV7.js.map +0 -1
- package/lib/types/contracts/IAccountExecute.d.ts +0 -53
- package/lib/types/contracts/IAccountExecute.js +0 -71
- package/lib/types/contracts/IAccountExecute.js.map +0 -1
- package/lib/types/contracts/IPaymaster.d.ts +0 -3
- package/lib/types/contracts/IPaymaster.js +0 -120
- package/lib/types/contracts/IPaymaster.js.map +0 -1
- package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +0 -219
- package/lib/types/contracts/MantleBvmGasPriceOracle.js +0 -180
- package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +0 -1
- package/lib/types/contracts/OpL1FeeAbi.d.ts +0 -114
- package/lib/types/contracts/OpL1FeeAbi.js +0 -77
- package/lib/types/contracts/OpL1FeeAbi.js.map +0 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -25
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +0 -42
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
- package/lib/types/contracts/SenderCreator.d.ts +0 -4
- package/lib/types/contracts/SenderCreator.js +0 -26
- package/lib/types/contracts/SenderCreator.js.map +0 -1
- package/lib/types/contracts/SimpleAccountFactory.d.ts +0 -57
- package/lib/types/contracts/SimpleAccountFactory.js +0 -79
- package/lib/types/contracts/SimpleAccountFactory.js.map +0 -1
- package/lib/types/contracts/TestOpcodesAccount.d.ts +0 -4
- package/lib/types/contracts/TestOpcodesAccount.js +0 -284
- package/lib/types/contracts/TestOpcodesAccount.js.map +0 -1
- package/lib/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
- package/lib/types/contracts/TestOpcodesAccountFactory.js +0 -26
- package/lib/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
- package/lib/types/contracts/TestStorageAccount.d.ts +0 -4
- package/lib/types/contracts/TestStorageAccount.js +0 -316
- package/lib/types/contracts/TestStorageAccount.js.map +0 -1
- package/lib/types/contracts/index.d.ts +0 -17
- package/lib/types/contracts/index.js +0 -33
- package/lib/types/contracts/index.js.map +0 -1
- package/lib/types/gasPrice.d.ts +0 -110
- package/lib/types/gasPrice.js +0 -55
- package/lib/types/gasPrice.js.map +0 -1
- package/lib/types/index.d.ts +0 -11
- package/lib/types/index.js +0 -27
- package/lib/types/index.js.map +0 -1
- package/lib/types/interfaces.d.ts +0 -58
- package/lib/types/interfaces.js +0 -3
- package/lib/types/interfaces.js.map +0 -1
- package/lib/types/mempool.d.ts +0 -60
- package/lib/types/mempool.js +0 -11
- package/lib/types/mempool.js.map +0 -1
- package/lib/types/schemas.d.ts +0 -20785
- package/lib/types/schemas.js +0 -679
- package/lib/types/schemas.js.map +0 -1
- package/lib/types/utils.d.ts +0 -25
- package/lib/types/utils.js +0 -35
- package/lib/types/utils.js.map +0 -1
- package/lib/types/validation.d.ts +0 -14327
- package/lib/types/validation.js +0 -312
- package/lib/types/validation.js.map +0 -1
- package/lib/utils/asyncTimeout.d.ts +0 -5
- package/lib/utils/asyncTimeout.js +0 -51
- package/lib/utils/asyncTimeout.js.map +0 -1
- package/lib/utils/bigInt.d.ts +0 -8
- package/lib/utils/bigInt.js +0 -24
- package/lib/utils/bigInt.js.map +0 -1
- package/lib/utils/eip7702.d.ts +0 -4
- package/lib/utils/eip7702.js +0 -21
- package/lib/utils/eip7702.js.map +0 -1
- package/lib/utils/fastify-rpc-decorators.d.ts +0 -19
- package/lib/utils/fastify-rpc-decorators.js +0 -23
- package/lib/utils/fastify-rpc-decorators.js.map +0 -1
- package/lib/utils/helpers.d.ts +0 -15
- package/lib/utils/helpers.js +0 -59
- package/lib/utils/helpers.js.map +0 -1
- package/lib/utils/index.d.ts +0 -9
- package/lib/utils/index.js +0 -24
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/logger.d.ts +0 -6
- package/lib/utils/logger.js +0 -85
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/metrics.d.ts +0 -29
- package/lib/utils/metrics.js +0 -199
- package/lib/utils/metrics.js.map +0 -1
- package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +0 -6
- package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js +0 -57
- package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +0 -1
- package/lib/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +0 -7
- package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js +0 -105
- package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js.map +0 -1
- package/lib/utils/minMaxQueue/index.d.ts +0 -12
- package/lib/utils/minMaxQueue/index.js +0 -16
- package/lib/utils/minMaxQueue/index.js.map +0 -1
- package/lib/utils/rpc-reply.d.ts +0 -16
- package/lib/utils/rpc-reply.js +0 -41
- package/lib/utils/rpc-reply.js.map +0 -1
- package/lib/utils/userop.d.ts +0 -138
- package/lib/utils/userop.js +0 -620
- package/lib/utils/userop.js.map +0 -1
- package/lib/utils/validation.d.ts +0 -76
- package/lib/utils/validation.js +0 -491
- package/lib/utils/validation.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_accountValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_paymasterValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_validatePrepayment","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"validatePaymasterPrepayment","type":"bool","internalType":"bool"}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addStake","inputs":[{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"binarySearchCallGasLimit","inputs":[{"name":"queuedUserOps","type":"tuple[]","internalType":"struct SimulationArgs[]","components":[{"name":"op","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":"target","type":"address","internalType":"address"},{"name":"targetCallData","type":"bytes","internalType":"bytes"}]},{"name":"targetUserOp","type":"tuple","internalType":"struct SimulationArgs","components":[{"name":"op","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":"target","type":"address","internalType":"address"},{"name":"targetCallData","type":"bytes","internalType":"bytes"}]},{"name":"entryPoint","type":"address","internalType":"address"},{"name":"initialMinGas","type":"uint256","internalType":"uint256"},{"name":"toleranceDelta","type":"uint256","internalType":"uint256"},{"name":"gasAllowance","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IEntryPointSimulations.TargetCallResult","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"binarySearchPaymasterVerificationGasLimit","inputs":[{"name":"queuedUserOps","type":"tuple[]","internalType":"struct SimulationArgs[]","components":[{"name":"op","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":"target","type":"address","internalType":"address"},{"name":"targetCallData","type":"bytes","internalType":"bytes"}]},{"name":"targetUserOp","type":"tuple","internalType":"struct SimulationArgs","components":[{"name":"op","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":"target","type":"address","internalType":"address"},{"name":"targetCallData","type":"bytes","internalType":"bytes"}]},{"name":"entryPoint","type":"address","internalType":"address"},{"name":"initialMinGas","type":"uint256","internalType":"uint256"},{"name":"toleranceDelta","type":"uint256","internalType":"uint256"},{"name":"gasAllowance","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IEntryPointSimulations.TargetCallResult","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"binarySearchVerificationGasLimit","inputs":[{"name":"queuedUserOps","type":"tuple[]","internalType":"struct SimulationArgs[]","components":[{"name":"op","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":"target","type":"address","internalType":"address"},{"name":"targetCallData","type":"bytes","internalType":"bytes"}]},{"name":"targetUserOp","type":"tuple","internalType":"struct SimulationArgs","components":[{"name":"op","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":"target","type":"address","internalType":"address"},{"name":"targetCallData","type":"bytes","internalType":"bytes"}]},{"name":"entryPoint","type":"address","internalType":"address"},{"name":"initialMinGas","type":"uint256","internalType":"uint256"},{"name":"toleranceDelta","type":"uint256","internalType":"uint256"},{"name":"gasAllowance","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IEntryPointSimulations.TargetCallResult","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"delegateAndRevert","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositTo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getDepositInfo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"info","type":"tuple","internalType":"struct IStakeManager.DepositInfo","components":[{"name":"deposit","type":"uint256","internalType":"uint256"},{"name":"staked","type":"bool","internalType":"bool"},{"name":"stake","type":"uint112","internalType":"uint112"},{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"},{"name":"withdrawTime","type":"uint48","internalType":"uint48"}]}],"stateMutability":"view"},{"type":"function","name":"getDomainSeparatorV4","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPackedUserOpTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"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":"incrementNonce","inputs":[{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"innerHandleOp","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"opInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"context","type":"bytes","internalType":"bytes"},{"name":"preGas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"nonceSequenceNumber","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"senderCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISenderCreator"}],"stateMutability":"view"},{"type":"function","name":"simulateCall","inputs":[{"name":"entryPoint","type":"address","internalType":"address"},{"name":"payload","type":"bytes","internalType":"bytes"},{"name":"gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateCallAndRevert","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gas","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"simulateHandleOp","inputs":[{"name":"op","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":"target","type":"address","internalType":"address"},{"name":"targetCallData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IEntryPointSimulations.ExecutionResult","components":[{"name":"preOpGas","type":"uint256","internalType":"uint256"},{"name":"paid","type":"uint256","internalType":"uint256"},{"name":"accountValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"targetSuccess","type":"bool","internalType":"bool"},{"name":"targetResult","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateHandleOpBulk","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"}]}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IEntryPointSimulations.ExecutionResult[]","components":[{"name":"preOpGas","type":"uint256","internalType":"uint256"},{"name":"paid","type":"uint256","internalType":"uint256"},{"name":"accountValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"targetSuccess","type":"bool","internalType":"bool"},{"name":"targetResult","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateHandleOpLast","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"}]}],"outputs":[{"name":"","type":"tuple","internalType":"struct IEntryPointSimulations.ExecutionResult","components":[{"name":"preOpGas","type":"uint256","internalType":"uint256"},{"name":"paid","type":"uint256","internalType":"uint256"},{"name":"accountValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"targetSuccess","type":"bool","internalType":"bool"},{"name":"targetResult","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateValidation","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":"tuple","internalType":"struct IEntryPointSimulations.ValidationResult","components":[{"name":"returnInfo","type":"tuple","internalType":"struct IEntryPoint.ReturnInfo","components":[{"name":"preOpGas","type":"uint256","internalType":"uint256"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"accountValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterContext","type":"bytes","internalType":"bytes"}]},{"name":"senderInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"factoryInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"paymasterInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"aggregatorInfo","type":"tuple","internalType":"struct IEntryPointSimulations.AggregatorStakeInfo","components":[{"name":"aggregator","type":"address","internalType":"address"},{"name":"stakeInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateValidationBulk","inputs":[{"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"}]}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IEntryPointSimulations.ValidationResult[]","components":[{"name":"returnInfo","type":"tuple","internalType":"struct IEntryPoint.ReturnInfo","components":[{"name":"preOpGas","type":"uint256","internalType":"uint256"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"accountValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterContext","type":"bytes","internalType":"bytes"}]},{"name":"senderInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"factoryInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"paymasterInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"aggregatorInfo","type":"tuple","internalType":"struct IEntryPointSimulations.AggregatorStakeInfo","components":[{"name":"aggregator","type":"address","internalType":"address"},{"name":"stakeInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateValidationLast","inputs":[{"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"}]}],"outputs":[{"name":"","type":"tuple","internalType":"struct IEntryPointSimulations.ValidationResult","components":[{"name":"returnInfo","type":"tuple","internalType":"struct IEntryPoint.ReturnInfo","components":[{"name":"preOpGas","type":"uint256","internalType":"uint256"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"accountValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterContext","type":"bytes","internalType":"bytes"}]},{"name":"senderInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"factoryInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"paymasterInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"aggregatorInfo","type":"tuple","internalType":"struct IEntryPointSimulations.AggregatorStakeInfo","components":[{"name":"aggregator","type":"address","internalType":"address"},{"name":"stakeInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"withdrawAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AccountDeployed","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"paymaster","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeforeExecution","inputs":[],"anonymous":false},{"type":"event","name":"Deposited","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalDeposit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"PostOpRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"SignatureAggregatorChanged","inputs":[{"name":"aggregator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakeLocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeUnlocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawTime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeWithdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationEvent","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"paymaster","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"actualGasCost","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actualGasUsed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationPrefundTooLow","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CallPhaseReverted","inputs":[{"name":"reason","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"DelegateAndRevert","inputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"FailedOp","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"FailedOpWithRevert","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"},{"name":"inner","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"PostOpReverted","inputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SenderAddressResult","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureValidationFailed","inputs":[{"name":"aggregator","type":"address","internalType":"address"}]},{"type":"error","name":"SimulationOutOfGas","inputs":[{"name":"optimalGas","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint256","internalType":"uint256"},{"name":"maxGas","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"innerCallResult","inputs":[{"name":"remainingGas","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x610180604052346101b8576040516100186040826101eb565b600781526020810190664552433433333760c81b82526040519161003d6040846101eb565b600183526020830191603160f81b83526100568161020e565b61012052610063846103a9565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c0826101eb565b5190206080523060c05230610160526040516100e7816101bc565b5f815260208101905f8252806020604051610101816101bc565b5f81520152600480546001600160a01b0319169055516005555160065560405161573090816104e2823960805181614039015260a051816140f6015260c0518161400a015260e05181614088015261010051816140ae015261012051816114c1015261014051816114ea0152610160518181816130bb015281816136b00152818161370b015281816138d001528181613986015281816139e001528181613af401528181613baa01528181613c040152613d180152f35b5f80fd5b604081019081106001600160401b038211176101d757604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176101d757604052565b908151602081105f14610288575090601f815111610248576020815191015160208210610239571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116101d757600254600181811c9116801561039f575b602082101461038b57601f8111610358575b50602092601f82116001146102f757928192935f926102ec575b50508160011b915f199060031b1c19161760025560ff90565b015190505f806102d3565b601f1982169360025f52805f20915f5b8681106103405750836001959610610328575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f808061031a565b91926020600181928685015181550194019201610307565b60025f52601f60205f20910160051c810190601f830160051c015b81811061038057506102b9565b5f8155600101610373565b634e487b7160e01b5f52602260045260245ffd5b90607f16906102a7565b908151602081105f146103d4575090601f815111610248576020815191015160208210610239571790565b6001600160401b0381116101d757600354600181811c911680156104d7575b602082101461038b57601f81116104a4575b50602092601f821160011461044357928192935f92610438575b50508160011b915f199060031b1c19161760035560ff90565b015190505f8061041f565b601f1982169360035f52805f20915f5b86811061048c5750836001959610610474575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f8080610466565b91926020600181928685015181550194019201610453565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104cc5750610405565b5f81556001016104bf565b90607f16906103f356fe60806040526004361015610022575b3615610018575f80fd5b6100206131b6565b005b5f3560e01c80630396cb601461021157806303d1dcaf1461020c57806309ccb880146102075780630bd28e3b146102025780630da82661146101fd5780630dbfc6bd146101f857806313c65a6e146101f3578063154e58dc146101ee5780631b2e01b8146101e9578063205c2878146101e457806321e60b37146101df57806322cdde4c146101da578063263934db146101d557806330ec25d1146101d057806335567e1a146101cb57806344403473146101c65780635287ce12146101c157806369683cfa146101bc57806370a08231146101b75780637472949c146101b257806376ad6123146101ad57806384b0196e146101a8578063850aaf62146101a357806397b2dcb91461019e578063b760faf914610199578063bb9fe6bf14610194578063c23a5cea1461018f578063c3bce0091461018a578063c579f76b14610185578063f7e426e8146101805763fe2171cb0361000e57611c43565b611c0a565b611aea565b611ab3565b611990565b61186d565b61184d565b6115fe565b6115c2565b6114a9565b611470565b611450565b611415565b611241565b611134565b6110ef565b611013565b610f96565b610e80565b610e57565b610c8e565b610a9c565b610a3f565b610a05565b6109e3565b610966565b6107b8565b6105ea565b6105a9565b610518565b60203660031901126104005760043563ffffffff811690818103610400576103fb7fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103dd6102cf6102bf610277336001600160a01b03165f525f60205260405f2090565b96610283811515611c92565b6102b06001890154916102a96102a08463ffffffff9060781c1690565b63ffffffff1690565b1115611cdd565b60081c6001600160701b031690565b6001600160701b03349116611d59565b946102db861515611d66565b6102ee6001600160701b03871115611db1565b546102f76106ee565b908152600160208201526001600160701b038616604082015263ffffffff831660608201525f608082015261033c336001600160a01b03165f525f60205260405f2090565b81518155602082015160019091018054604084015160608501516080909501517fffffffffffffff0000000000000000000000000000000000000000000000000090921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b72ffffffff000000000000000000000000000000169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b5f80fd5b9181601f840112156104005782359167ffffffffffffffff8311610400576020808501948460051b01011161040057565b6001600160a01b0381160361040057565b359061045182610435565b565b60c06003198201126104005760043567ffffffffffffffff8111610400578161047e91600401610404565b929092916024359067ffffffffffffffff821161040057606090829003600319011261040057600401906044356104b481610435565b90606435906084359060a43590565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60806040610515936020845280516020850152602081015115158285015201519160608082015201906104c3565b90565b346104005761059b61058f61057861052f36610453565b969194909561053f949394611dfc565b5061057261054b611e1b565b6105606105588780611e8a565b825190613255565b61056a8680611e8a565b905a91613343565b50613509565b61058a6105858280611e8a565b6135c5565b613657565b604051918291826104e7565b0390f35b5f91031261040057565b34610400575f3660031901126104005760206105c3611eab565b6001600160a01b0360405191168152f35b602435906001600160c01b038216820361040057565b34610400576020366003190112610400576004356001600160c01b03811681036104005761063490335f52600160205260405f20906001600160c01b03165f5260205260405f2090565b61063e8154611f25565b9055005b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff82111761067257604052565b610642565b6060810190811067ffffffffffffffff82111761067257604052565b610140810190811067ffffffffffffffff82111761067257604052565b6040810190811067ffffffffffffffff82111761067257604052565b90601f8019910116810190811067ffffffffffffffff82111761067257604052565b6040519061045160a0836106cc565b60405190610451610140836106cc565b60405190610451610100836106cc565b604051906104516040836106cc565b604051906104516060836106cc565b60405190610451610120836106cc565b67ffffffffffffffff811161067257601f01601f191660200190565b9291926107738261074b565b9161078160405193846106cc565b829481845281830111610400578281602093845f960137010152565b9080601f830112156104005781602061051593359101610767565b34610400576102203660031901126104005760043567ffffffffffffffff8111610400576107ea90369060040161079d565b3660231901906101c08212610400576101406040519261080984610656565b12610400576108166106fd565b6108206024610446565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c082015261085d610104610446565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e4359067ffffffffffffffff8211610400576040926108c46108cf93369060040161079d565b906102043592611f44565b82519182526020820152f35b6020600319820112610400576004359067ffffffffffffffff82116104005761090691600401610404565b9091565b9061010060e061051593805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906104c3565b346104005761097d610977366108db565b90612151565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b8282106109b457505050500390f35b919360019193955060206109d38192603f198a8203018652885161090a565b96019201920185949391926109a5565b34610400575f3660031901126104005760206109fd614000565b604051908152f35b34610400575f3660031901126104005760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610400576040366003190112610400576020610a93600435610a6181610435565b6001600160a01b03610a716105d4565b91165f526001835260405f20906001600160c01b03165f5260205260405f2090565b54604051908152f35b3461040057604036600319011261040057600435610ab981610435565b602435335f525f60205260405f2091825490818311610b3d575f8080856001600160a01b03829589610aee846100209a612318565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610b37612325565b50612354565b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b90816101209103126104005790565b610200600319820112610400576004359160243567ffffffffffffffff81116104005782610bc091600401610b81565b916043190160446101c082126104005761014060405192610be084610656565b12610400576101a090610bf16106fd565b610bfa82610446565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c0820152610c4460e08301610446565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b3461040057610c9c36610b90565b90915f91805193610cad8582613255565b610cb68161239f565b60208301526001600160a01b0360e0610cf087610100604082015160608301510160808301510160a08301510160c0830151019101510290565b96876040860152015116610d1a575b604080515f8082526020820187905291810191909152606090f35b909192505a93610d398351916001600160a01b0360e084015116614b2d565b15610de057906080610d50920151928391856151d2565b9390505a900311610d68575061059b905f8080610cff565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d69740000000000000000000000000000000000000000000000000060848201528060a481015b0390fd5b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6020600319820112610400576004359067ffffffffffffffff82116104005761051591600401610b81565b346104005760206109fd610e6a36610e2c565b61239f565b90602061051592818152019061090a565b3461040057610eac610e91366108db565b809291610e9c61205c565b50610ea6826120aa565b50612151565b5f198201918211610ed95761059b91610ec49161213d565b5160405191829160208352602083019061090a565b611d28565b906105159060e06080610f30818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906104c3565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461040057610fad610fa7366108db565b90612586565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b828210610fe457505050500390f35b919360019193955060206110038192603f198a82030186528851610ede565b9601920192018594939192610fd5565b3461040057604036600319011261040057602060043561103281610435565b6001600160a01b036110426105d4565b91165f52600182526110688160405f20906001600160c01b03165f5260205260405f2090565b546040805192901b67ffffffffffffffff1916178152f35b9181601f840112156104005782359167ffffffffffffffff8311610400576020838186019501011161040057565b906060600319830112610400576004356110c781610435565b916024359067ffffffffffffffff8211610400576110e791600401611080565b909160443590565b34610400575f8080611100366110ae565b939181604094929451948592833781018381520393f161111e612325565b901561112657005b805190811561040057602001fd5b34610400576020366003190112610400576001600160a01b0360043561115981610435565b5f608060405161116881610656565b8281528260208201528260408201528260608201520152165f525f60205261059b60405f206111ed65ffffffffffff6001604051936111a685610656565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b346104005761124f36610b90565b9190915a928151936112618583613255565b61126a8261239f565b60208401526040850151936112b66effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612618565b6112e186610100604082015160608301510160808301510160a08301510160c0830151019101510290565b946113166113126112f55a89898988613426565b98602061130982516001600160a01b031690565b9101519061426b565b1590565b6113c0575a8303116113735750926113579260806113529360a061135e975a9560408601526060808601525a9003910135019101525a90612318565b612664565b6064900490565b604080519283525f6020840152820152606090f35b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b610ddc82604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b34610400576020366003190112610400576001600160a01b0360043561143a81610435565b165f525f602052602060405f2054604051908152f35b346104005761059b61058f61146436610453565b959490949391936126d1565b346104005761059b61058f61149761148736610453565b9691949095610572949394611dfc565b6114a46105858280611e8a565b61394b565b34610400575f366003190112610400576115696114e57f000000000000000000000000000000000000000000000000000000000000000061540d565b61150e7f00000000000000000000000000000000000000000000000000000000000000006154f3565b602060405161151d82826106cc565b5f81528161157781830194601f1983013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e08901906104c3565b9087820360408901526104c3565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b8281106115ab57505050500390f35b83518552869550938101939281019260010161159c565b34610400576040366003190112610400576115de600435610435565b60243567ffffffffffffffff811161040057610020903690600401611080565b346104005760603660031901126104005760043567ffffffffffffffff81116104005761162f903690600401610b81565b6024359061163c82610435565b60443567ffffffffffffffff81116104005761165c90369060040161079d565b9061166561205c565b507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c6118255761059b9260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6116bc611e1b565b926116c6836135c5565b6116d08484612c53565b9091945a6060880151886116e7606085018561294a565b5f6003821161181d575b7fffffffff0000000000000000000000000000000000000000000000000000000016638dd7712f60e01b0361180457505061175561176961176e956020840151604051938492638dd7712f60e01b6020850152604060248501526064840190614310565b90604483015203601f1981018352826106cc565b611f44565b9290965b5f946060966001600160a01b0381166117d9575b50509560806117c0969701519761179b61070d565b988952602089015260408801526060870152608086015260a0850152151560c0840152565b60e08201526117cd6142b9565b60405191829182610e6f565b6117c097505f92965090829182602083519301915af19560806117fa612325565b9795919796611786565b611815955090611769913691610767565b929096611772565b5081356116f1565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b60203660031901126104005761002060043561186881610435565b61275c565b34610400575f36600319011261040057335f525f602052600160405f2001805463ffffffff8160781c161561194c576118d56118c76102a0836118bb6118b661190f9660ff1690565b6127b5565b60781c63ffffffff1690565b65ffffffffffff4216612800565b82547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a9080602081016103fb565b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b34610400576020366003190112610400576100205f8080806004356119b481610435565b6001600160a01b0360016119d8336001600160a01b03165f525f60205260405f2090565b0191611a66835493611a3e65ffffffffffff611a2a611a10611a04896001600160701b039060081c1690565b6001600160701b031690565b97611a1c89151561281e565b60981c65ffffffffffff1690565b16611a36811515612869565b4210156128b4565b80547fffffffffffffff000000000000000000000000000000000000000000000000ff169055565b604080516001600160a01b03831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af1611aad612325565b506128ff565b346104005761059b611acc611ac736610e2c565b612a3f565b604051918291602083526020830190610ede565b8015150361040057565b34610400576102203660031901126104005760043560243567ffffffffffffffff811161040057611b1f903690600401610b81565b3660431901916101c083126104005761014060405193611b3e85610656565b126104005761059b92611bed92611b536106fd565b611b5d6044610446565b81526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152611b9b610124610446565b60e0820152610144356101008201526101643561012082015282526101843560208301526101a43560408301526101c43560608301526101e43560808301526102043592611be884611ae0565b612e2e565b604080519384526020840192909252908201529081906060820190565b3461040057611c24611c1b366110ae565b92919091613066565b9061059b604051928392151583526040602084015260408301906104c3565b3461040057611c65611c54366108db565b809291611c5f612504565b50612586565b5f198201918211610ed95761059b91611c7d9161213d565b51604051918291602083526020830190610ede565b15611c9957565b606460405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b15611ce457565b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b906113888201809211610ed957565b9060018201809211610ed957565b91908201809211610ed957565b15611d6d57565b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b15611db857565b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60405190611e0982610677565b60606040835f81525f60208201520152565b60405190611e2882610656565b5f608083604051611e3881610693565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b90359061011e1981360301821215610400570190565b6040513d5f823e3d90fd5b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611f20575f91611eeb575090565b90506020813d602011611f18575b81611f06602093836106cc565b81010312610400575161051581610435565b3d9150611ef9565b611ea0565b5f198114610ed95760010190565b9060206105159281815201906104c3565b919091825190606082015191611f5d603f5a0260061c90565b61271060a083015185010111611ff1578151611f8a575b505050610906925a900360808301510191613e26565b9161131291611fa3611fa894516001600160a01b031690565b613d93565b611fb4575f8080611f74565b610ddc611fbf613da4565b6040519182917f462c71b200000000000000000000000000000000000000000000000000000000835260048301611f33565b604051631101335b60e11b815280610ddc600482016080905f815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b67ffffffffffffffff81116106725760051b60200190565b60405190610100820182811067ffffffffffffffff82111761067257604052606060e0835f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201520152565b906120b482612044565b6120c160405191826106cc565b82815280926120d2601f1991612044565b01905f5b8281106120e257505050565b6020906120ed61205c565b828285010152016120d6565b634e487b7160e01b5f52603260045260245ffd5b90821015612124576105159160051b810190611e8a565b6120f9565b604051906121386020836106cc565b5f8252565b80518210156121245760209160051b010190565b61215a826120aa565b915f5b81811061216a5750505090565b61217581838561210d565b9060205f60405161218683826106cc565b5261218f61205c565b507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c61182557600192837f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6121e4611e1b565b906121ee816135c5565b826121f98383612c53565b929091935a9086606081015191612213606082018261294a565b5f600382116122f3575b7fffffffff0000000000000000000000000000000000000000000000000000000016638dd7712f60e01b036122db57505061176985638dd7712f60e01b926117556122809886015191604051958694850152604060248501526064840190614310565b93905b608060609601519661229361070d565b978852870152604086015283850152608084015260a08301525f60c083015260e08201526122bf6142b9565b6122c9828761213d565b526122d4818661213d565b500161215d565b6122ec965061176992503691610767565b9390612283565b50813561221d565b600319810191908211610ed957565b5f19810191908211610ed957565b91908203918211610ed957565b3d1561234f573d906123368261074b565b9161234460405193846106cc565b82523d5f602084013e565b606090565b1561235b57565b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b610515906123ac816141d8565b6123b4614000565b916124908135926123c484610435565b60208301359080156124cc5761248290935b6123ec6123e6606083018361294a565b90615698565b90608081013560a08201359061240e6123e660c08501359460e081019061294a565b93604051988997602089019b8c94919261010096939998979491996001600160a01b0361012088019b7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216602088015260408701526060860152608085015260a084015260c083015260e08201520152565b03601f1981018352826106cc565b51902090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b506124826124dd604085018561294a565b908160405191823720936123d6565b604051906124f9826106b0565b5f6020838281520152565b6040519061251182610656565b8160405161251e81610656565b5f81525f60208201525f60408201525f60608201526060608082015281526125446124ec565b60208201526125516124ec565b604082015261255e6124ec565b6060820152608060405191612572836106b0565b5f835261257d6124ec565b60208401520152565b61258f82612044565b9161259d60405193846106cc565b808352601f196125ac82612044565b015f5b8181106125f45750505f5b8181106125c75750505090565b806125d8611ac7600193858761210d565b6125e2828761213d565b526125ed818661213d565b50016125ba565b6020906125ff612504565b828288010152016125af565b908092918237015f815290565b1561261f57565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b90607382029180830460731490151715610ed957565b3561051581610435565b604051906126936020836106cc565b5f808352366020840137565b906126a98261074b565b6126b660405191826106cc565b82815280926126c7601f199161074b565b0190602036910137565b906126e491969594939296610572611dfc565b6001600160a01b036126f68680611e8a565b61271f60208801359161270883610435565b612710611e1b565b9061271a816135c5565b612c53565b50505016156127315761051594613b6f565b505050505061273e612684565b6040519061274b82610677565b5f82525f6020830152604082015290565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b036127a934856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b156127bc57565b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b9065ffffffffffff8091169116019065ffffffffffff8211610ed957565b1561282557565b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b1561287057565b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b156128bb57565b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b1561290657565b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b903590601e1981360301821215610400570180359067ffffffffffffffff82116104005760200191813603831361040057565b906014116104005790601490565b909291928360141161040057831161040057601401916013190190565b909291928360341161040057831161040057603401916033190190565b356bffffffffffffffffffffffff198116929190601482106129e5575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b60405190612a12826106b0565b6004546001600160a01b03168252604051602083612a2f836106b0565b6005548352600654828401520152565b612a47612504565b50612a50611e1b565b90612a5a816135c5565b612a648282612c53565b50919092612a7283856143d3565b612a8f612a8a60e0835101516001600160a01b031690565b61457d565b91612abd612aa9612a8a84516001600160a01b0390511690565b91612ab26124ec565b50604081019061294a565b9060148210612b9857612adf612ad9612ae593612a8a9361297d565b906129c5565b60601c90565b916001600160a01b038616946080820151966060604084015193015192612b0a6106ee565b9889526020890152604088015260608701526080860152612b29612a05565b9380151580612b8d575b612b5b575b50612b416106ee565b948552602085015260408401526060830152608082015290565b909350612b678161457d565b612b81612b7261071d565b6001600160a01b039093168352565b6020820152925f612b38565b506001811415612b33565b5050612ae55f61457d565b15612bab5750565b60405190631101335b60e11b825260048201526040602482015280610ddc60448201604090601881527f41413934206761732076616c756573206f766572666c6f77000000000000000060208201520190565b15612c065750565b60408051631101335b60e11b815260048101929092526024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9190915f915a93805192612c678482613255565b612c80604051612c768361239f565b6020850152604052565b604084015195612cc85f6effffffffffffffffffffffffffffff8960c08901511760608901511760808901511760a08901511761010089015117610120890151171115612ba3565b612d13612cf686610100604082015160608301510160808301510160a08301510160c0830151019101510290565b806040860152612d0a608085013560801c90565b9085855f613426565b96612d3c5f612d37612d2c89516001600160a01b031690565b60208a01519061426b565b612bfe565b5a820311612ddb576060946001600160a01b03612d6460e05a9301516001600160a01b031690565b16151580612dd3575b612d9b575b60809291612d8961135761135260a0945a90612318565b9660608601525a900391013501910152565b945061135295509060a0608092612db1836145bd565b50612d89611357612dc387865f61411c565b9a90999450505050919250612d72565b506001612d6d565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b939092915f935a8251612e418184613255565b612e5a604051612e508561239f565b6020870152604052565b604081015197612ea2816effffffffffffffffffffffffffffff8b60c08601511760608601511760808601511760a08601511761010086015117610120860151171115612ba3565b612eed612ed083610100604082015160608301510160808301510160a08301510160c0830151019101510290565b806040880152612ee4608087013560801c90565b90878785613426565b98612f1182612d37612f0686516001600160a01b031690565b60208701519061426b565b5a840311611373576060966001600160a01b03612f3960e05a9501516001600160a01b031690565b1615159081612f99575b50612f61575b5060809291612d8961135761135260a0945a90612318565b611352975060a091965091612d89611357612f8a87878097612f8460809a6145bd565b5061411c565b9a909994505050509192612f49565b90505f612f43565b908060209392818452848401375f828201840152601f01601f1916010190565b6040906001600160a01b0361051595931681528160208201520191612fa1565b908151811015612124570160200190565b919060408382031261040057825161300981611ae0565b9260208101519067ffffffffffffffff8211610400570181601f82011215610400578051906130378261074b565b9261304560405194856106cc565b8284526020838301011161040057815f9260208093018386015e8301015290565b91925f936001600160a01b036060941691823b15610400576130e4935f80946040518097819682957f850aaf620000000000000000000000000000000000000000000000000000000084526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048501612fc1565b0393f1908161319c575b506109065750506130fd612325565b90600482511061318e5761311961311483516122fb565b61269f565b60045b8351811015613178578061315b61313560019387612fe1565b517fff000000000000000000000000000000000000000000000000000000000000001690565b613171613167836122fb565b915f1a9185612fe1565b530161311c565b5061090691925060208082518301019101612ff2565b9050613198612684565b5f91565b806131aa5f6131b0936106cc565b8061059f565b5f6130ee565b6104513361275c565b156131c657565b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b1561321157565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6132ec906132726132658261267a565b6001600160a01b03168452565b6020810135602084015261329f6080820135906fffffffffffffffffffffffffffffffff8260801c921690565b6060850152604084015260a081013560c08401526132d660c0820135906fffffffffffffffffffffffffffffffff8260801c921690565b61010085015261012084015260e081019061294a565b809291926132f957505050565b6133158161045194613310603460e09510156131bf565b6145dc565b60a08501526080840152916133346001600160a01b038416151561320a565b01906001600160a01b03169052565b9291613387908251926001600160a01b0360e0818651169561337361336b60408b018b61294a565b90865f61463a565b015116905f911596876133f3575b5f614a26565b9261338f5750565b5f61339991614b2d565b156133a057565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b915061340f856001600160a01b03165f525f60205260405f2090565b54801561341f57505f5b91613381565b5f03613419565b9290949361346c908351936001600160a01b0360e0818751169661345861345060408d018d61294a565b90868c61463a565b015116905f911598896134d4575b87614a26565b9461347657505050565b61347f91614b2d565b156134875750565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b91506134f0866001600160a01b03165f525f60205260405f2090565b548581111561350257505f5b91613466565b85036134fc565b915f5b828110156135bf5761351c611e1b565b908060051b85013591605e1986360301831215610400576135536001938701916135496105858480611e8a565b61271a8380611e8a565b505050602081016135726135668261267a565b6001600160a01b031690565b156135b8575f9182613592613587829461267a565b92604081019061294a565b91906135a36040518094819361260b565b03925af1506135b0612325565b505b0161350c565b50506135b2565b50915050565b6135f8906135d6604082018261294a565b916135f08135916135e683610435565b60e081019061294a565b939092614b52565b80516136015750565b610ddc90604051918291631101335b60e11b83525f60048401526040602484015260448301906104c3565b939291613652906001600160a01b036040931686526060602087015260608601906104c3565b930152565b93949094613663611dfc565b5082156138ae576136a392613676612129565b50915f6136855a886002614ee7565b5a906040519687928392631efc84dd60e31b84528c6004850161362c565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1918215611f20575f945f9361388c575b5082948093811561386a575050613700909592919394955b85611d59565b806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016965b846137388885612318565b10613840575a61374788611d3c565b116138095791869593918995935f8c8b61377961377061376a886137999f611d59565b60011c90565b809b6002614ee7565b835a936040519e8f9586948593631efc84dd60e31b85526004850161362c565b03925af1988915611f20575f905f9a6137e2575b50156137cd575050506137bf8461230a565b95915b93909294959161372d565b939650946137dc919750611d4b565b946137c2565b90506138019199503d805f833e6137f981836106cc565b810190612ff2565b98905f6137ad565b7fe2c4d0be000000000000000000000000000000000000000000000000000000005f5260048290526024879052604483905260645ffd5b965096505091955050613862915061385661072c565b93845215156020840152565b604082015290565b9650965050955050505061386261387f61072c565b5f81529215156020840152565b9092506138a49194503d805f833e6137f981836106cc565b939093915f6136e2565b906138c392505a905f6136855a886002614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1928315611f20575f945f94613929575b50839461391181945a90612318565b94811561386a575050613700909592919394956136fa565b9093506139419194503d805f833e6137f981836106cc565b939093925f613902565b93949094613957611dfc565b508215613ad2576139799261396a612129565b50915f6136855a886003614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1918215611f20575f945f93613ab0575b5082948093811561386a5750506139d59095929193949585611d59565b806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016965b84613a0d8885612318565b10613840575a613a1c88611d3c565b116138095791869593918995935f8c8b613779613a3f61376a88613a489f611d59565b809b6003614ee7565b03925af1988915611f20575f905f9a613a91575b5015613a7c57505050613a6e8461230a565b95915b939092949591613a02565b93965094613a8b919750611d4b565b94613a71565b9050613aa89199503d805f833e6137f981836106cc565b98905f613a5c565b909250613ac89194503d805f833e6137f981836106cc565b939093915f6139b8565b90613ae792505a905f6136855a886003614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1928315611f20575f945f94613b4d575b508394613b3581945a90612318565b94811561386a5750506139d5909592919394956136fa565b909350613b659194503d805f833e6137f981836106cc565b939093925f613b26565b93949094613b7b611dfc565b508215613cf657613b9d92613b8e612129565b50915f6136855a886001614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1918215611f20575f945f93613cd4575b5082948093811561386a575050613bf99095929193949585611d59565b806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016965b84613c318885612318565b10613840575a613c4088611d3c565b116138095791869593918995935f8c8b613779613c6361376a88613c6c9f611d59565b809b6001614ee7565b03925af1988915611f20575f905f9a613cb5575b5015613ca057505050613c928461230a565b95915b939092949591613c26565b93965094613caf919750611d4b565b94613c95565b9050613ccc9199503d805f833e6137f981836106cc565b98905f613c80565b909250613cec9194503d805f833e6137f981836106cc565b939093915f613bdc565b90613d0b92505a905f6136855a886001614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1928315611f20575f945f94613d71575b508394613d5981945a90612318565b94811561386a575050613bf9909592919394956136fa565b909350613d899194503d805f833e6137f981836106cc565b939093925f613d4a565b905f9283809360208451940192f190565b3d6108008111613dc8575b604051906020818301016040528082525f602083013e90565b50610800613daf565b634e487b7160e01b5f52602160045260245ffd5b60031115613def57565b613dd1565b90949392946003811015613def57606092613e1c9183526080602084015260808301906104c3565b9460408201520152565b92905f925a91855191613e3883615148565b92613e4d60e08201516001600160a01b031690565b91613e6360808a01518203606084015190615168565b01925f926001600160a01b0381169081613f045750505090613e906040949392516001600160a01b031690565b945b5a9003010102940151908482105f14613ed657613eae5f613de5565b7fdeadaa51000000000000000000000000000000000000000000000000000000005f5260205ffd5b84613efa9203906001600160a01b03165f525f60205260405f209081540180915590565b506104515f613de5565b96928251613f1b575b505050906040939291613e92565b919850949392505a97613f2d5f613de5565b60a05a920195865191813b15610400578692835f809489613f80604051988997889687947f7c627b2100000000000000000000000000000000000000000000000000000000865202908660048601613df4565b0393f19081613fec575b50613fcc57610ddc613f9a613da4565b6040519182917fad7954bc00000000000000000000000000000000000000000000000000000000835260048301611f33565b604094613fe2915a9003985a9003905190615168565b9192935f80613f0d565b806131aa5f613ffa936106cc565b5f613f8a565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163014806140f3575b1561405b577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526140ed60c0826106cc565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614032565b9290925a93835161413f6001600160a01b0360e083015116604087015190614b2d565b1561416457906080614156920151948591846151d2565b9390945a900311610d685750565b60848360405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b909280926014946bffffffffffffffffffffffff199060601b1683528483013701015f815290565b6141e5604082018261294a565b90916141f461131283856152c7565b614264576142046142099161267a565b615309565b91601482116142405750506040516140ed816124826020820194856014916bffffffffffffffffffffffff199060601b1681520190565b816140ed9261424e9261298b565b91906124826040519384926020840196876141b0565b5050505f90565b6001600160a01b03165f52600160205267ffffffffffffffff6142a58260401c60405f20906001600160c01b03165f5260205260405f2090565b918254926142b284611f25565b9055161490565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b9035601e198236030181121561040057016020813591019167ffffffffffffffff821161040057813603831361040057565b6105159161432e8161432184610446565b6001600160a01b03169052565b602082013560208201526143c46143b861437f61436461435160408701876142de565b6101206040880152610120870191612fa1565b61437160608701876142de565b908683036060880152612fa1565b6080850135608085015260a085013560a085015260c085013560c08501526143aa60e08601866142de565b9085830360e0870152612fa1565b926101008101906142de565b91610100818503910152612fa1565b6143e46001600160a01b03916155ab565b911661452a576144d7576143ff6001600160a01b03916155ab565b91166144845761440b57565b604051631101335b60e11b815280610ddc5f6004830160a091815260406020820152602160408201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560608201527f650000000000000000000000000000000000000000000000000000000000000060808201520190565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b906001600160a01b0361458e6124ec565b92165f525f60205263ffffffff600160405f2001546001600160701b038160081c16845260781c166020830152565b6145cb9060e081019061294a565b602411610400576014013560801c90565b9091826014116104005781359183602411610400576014810135936034116104005760609290921c92608090811c9260240135901c90565b90816020910312610400575161051581610435565b916020610515938181520191612fa1565b92909181614649575b50505050565b8251516001600160a01b03169361466083836152c7565b61491d57843b6148d05760148310614883575f6020614680613566611eab565b604087510151604051809481937f570e1a36000000000000000000000000000000000000000000000000000000008352826146bf8b8b60048401614629565b0393f1908115611f20575f91614854575b506001600160a01b0381169586156147ff576001600160a01b03168096036147aa573b1561475d5750612adf612ad97fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361472a9361297d565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a35f808080614643565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b610ddc82604051918291631101335b60e11b835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b610ddc83604051918291631101335b60e11b835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b614876915060203d60201161487c575b61486e81836106cc565b810190614614565b5f6146d0565b503d614864565b60408051631101335b60e11b815260048101929092526024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152608490fd5b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b50906014811161492d5750505050565b8061494991604061493f613566611eab565b955101519361298b565b9190833b15610400575f809461498f96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501612fc1565b0393f18015611f20576149a5575b808080614643565b806131aa5f6149b3936106cc565b5f61499d565b6149d160409295949395606083526060830190614310565b9460208201520152565b60a0906105159392815260606020820152600d60608201527f4141323320726576657274656400000000000000000000000000000000000000608082015281604082015201906104c3565b9291602095948692614a905f93614a82614a4982516001600160a01b0390511690565b976040519b8c930151888401957f19822f7c000000000000000000000000000000000000000000000000000000008752602485016149b9565b03601f1981018a52896106cc565b8285895193f15f519460203d03614b25575b60405215614aae575050565b3b614b005760408051631101335b60e11b815260048101929092526024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152608490fd5b614b08613da4565b90610ddc6040519283926365c8fd4d60e01b8452600484016149db565b5f9150614aa2565b6001600160a01b03165f525f60205260405f2090815481811061426457039055600190565b50929192159081614c07575b50614bca576014811015614b77575b5050610515612129565b601411610400573560601c3b15614b8f575f80614b6d565b604051614b9d6040826106cc565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051614bda6040826106cc565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b155f614b5e565b6101208136031261040057614c2461073b565b90614c2e81610446565b825260208101356020830152604081013567ffffffffffffffff811161040057614c5b903690830161079d565b6040830152606081013567ffffffffffffffff811161040057614c81903690830161079d565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013567ffffffffffffffff811161040057614cc5903690830161079d565b60e08301526101008101359067ffffffffffffffff821161040057614cec9136910161079d565b61010082015290565b60041115613def57565b916020936fffffffffffffffffffffffffffffffff198092603497946bffffffffffffffffffffffff199060601b1686521660148501521660248301528051928391018483015e01015f815290565b80516001600160a01b031682526105159160208201516020820152610100614dcf614d9f614d8d604086015161012060408701526101208601906104c3565b606086015185820360608701526104c3565b6080850151608085015260a085015160a085015260c085015160c085015260e085015184820360e08601526104c3565b920151906101008184039101526104c3565b60806101a0916101208151614dff8682516001600160a01b03169052565b602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c0870152614e5360e082015160e08801906001600160a01b03169052565b61010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b614ebe614eb361020093969594965f84526102206020850152610220840190614d4e565b956040830190614de1565b0152565b61020090614ebe614eb35f949695968584526102206020850152610220840190614d4e565b614eef611e1b565b614f01614efc8480611e8a565b614c11565b614f0a83614cf5565b6002831461506357614f1b83614cf5565b60038314614fdc57505080614f31600192614cf5565b14614f7b5760405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964206d6f646500000000000000000000000000000000000000006044820152606490fd5b80612482614fa6614f9f614f946020610515960161267a565b93604081019061294a565b3691610767565b936040519485937f444034730000000000000000000000000000000000000000000000000000000060208601526024850161362c565b9150926fffffffffffffffffffffffffffffffff61502361501c6150038661051597611e8a565b608001356fffffffffffffffffffffffffffffffff1690565b9260801b90565b91161760808201526124826040519384927fc579f76b00000000000000000000000000000000000000000000000000000000602085015260248401614ec2565b915092612482906fffffffffffffffffffffffffffffffff19846150ee6150e061509c6150966135e6856105159b611e8a565b906145dc565b9291905060609060e08a0195603487515111615124575b5060405196879460801b16906fffffffffffffffffffffffffffffffff198960801b169060208601614cff565b03601f1981018452836106cc565b526040519485937f21e60b3700000000000000000000000000000000000000000000000000000000602086015260248501614e8f565b61514191925061513a6135e682614f9f93611e8a565b80916129a8565b905f6150b3565b61012061010082015191015148018082105f14615163575090565b905090565b90619c40820181111561518157606491600a9103020490565b50505f90565b60a0906105159392815260606020820152600d60608201527f4141333320726576657274656400000000000000000000000000000000000000608082015281604082015201906104c3565b925f809195939295604051968261524760e06020880151976152388c6152296040840151602083019c8d997f52b7512c000000000000000000000000000000000000000000000000000000008b52602485016149b9565b038d601f19820190528d6106cc565b5101516001600160a01b031690565b895193f1933d91825f833e519381516040830196875190159182156152bb575b5081156152a9575b506152845750601f909101601f191601604052565b61528c613da4565b90610ddc6040519283926365c8fd4d60e01b845260048401615187565b9050601f605f1985019101105f61526f565b6040141591505f615267565b9060021161530457356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000083160361537e5750612adf61536c6105159260181b90565b6bffffffffffffffffffffffff191690565b3b156153c95760405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152606490fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b60ff811461541e57610515906156a3565b506040515f6002548060011c916001821680156154e9575b6020841081146154d557838552849260208401919081156154bc5750600114615467575b50610515925003826106cc565b60025f90815291507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b8483106154a557506105159350015f61545a565b805482840152859350602090920191600101615491565b60ff191682525061051593151560051b0190505f61545a565b634e487b7160e01b5f52602260045260245ffd5b92607f1692615436565b60ff811461550457610515906156a3565b506040515f6003548060011c916001821680156155a1575b6020841081146154d557838552849260208401919081156154bc575060011461554c5750610515925003826106cc565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b84831061558a57506105159350015f61545a565b805482840152859350602090920191600101615576565b92607f169261551c565b8015615691575f604080516155bf81610677565b828152826020820152015265ffffffffffff8160a01c168015615684575b6156659061564c6155f46155ff6155f48660d01c90565b65ffffffffffff1690565b926156246001600160a01b0361561361072c565b971687906001600160a01b03169052565b61563a6020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b4211908115615668575b5091516001600160a01b031690565b91565b5161567b915065ffffffffffff166155f4565b4211155f615656565b5065ffffffffffff6155dd565b505f905f90565b816040519182372090565b60ff811690601f82116156d257604051916156bf6040846106cc565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220b04211654822ac861a2e15edb4bbe6e363cd286a35edc43210345f4b4bd8501b64736f6c634300081c0033","sourceMap":"938:15707:28:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;:::i;:::-;1956:9:27;938:15707:28;;;1956:9:27;;;-1:-1:-1;;;1956:9:27;;3501:45:21;;;:::i;:::-;3493:53;;3567:51;;;:::i;:::-;3556:62;;938:15707:28;3642:22:21;;3628:36;;;;938:15707:28;3691:25:21;;3674:42;;;3744:13;3727:30;;938:15707:28;;4304:80:21;938:15707:28;4304:80:21;;2079:95;;;;938:15707:28;2079:95:21;;;;;;;3744:13;2079:95;;;;4378:4;3727:30;2079:95;;;3727:30;4304:80;;;;;;:::i;:::-;938:15707:28;4294:91:21;;2079:95;3767:48;4378:4;4304:80;3825:27;4378:4;1060::28;;938:15707;;;;;:::i;:::-;-1:-1:-1;938:15707:28;;;1147:15;;938:15707;-1:-1:-1;938:15707:28;;;;;;;;;:::i;:::-;-1:-1:-1;938:15707:28;;1115:48;938:15707;1115:48;938:15707;;-1:-1:-1;;;;;;938:15707:28;;;;;;;;;;;;;;;;;2079:95:21;938:15707:28;;;;;3727:30:21;938:15707:28;;;;;4304:80:21;938:15707:28;;;;;3628:36:21;938:15707:28;;;;;3674:42:21;938:15707:28;;;;;3493:53:21;938:15707:28;;;;;3556:62:21;938:15707:28;;;;;1060:4;938:15707;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;;:::o;:::-;;;;-1:-1:-1;938:15707:28;;;;;-1:-1:-1;938:15707:28;;;;;;-1:-1:-1;;938:15707:28;;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;:::o;2887:340:17:-;;938:15707:28;;3032:2:17;3010:24;;3006:215;3032:2;;;938:15707:28;;1854:2:17;938:15707:28;;1840:16:17;1836:72;;3032:2;938:15707:28;;;;2079:95:21;3032:2:17;938:15707:28;;;;1949:36:17;3050:27;:::o;938:15707:28:-;;;;3032:2:17;938:15707:28;;;;;1949:36:17;3050:27;:::o;1836:72::-;938:15707:28;3032:2:17;938:15707:28;;;1879:18:17;;;;;;;;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;1854:2:17;938:15707:28;-1:-1:-1;;938:15707:28;;;1879:18:17;;;;3006:215;-1:-1:-1;;;;;938:15707:28;;;;3532:13:21;938:15707:28;;;;;;;;;;;3006:215:17;3032:2;938:15707:28;;;;;;;;;;3006:215:17;938:15707:28;3032:2:17;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:13:21;938:15707:28;1390:66:17;3168:42;:::o;938:15707:28:-;;;;-1:-1:-1;938:15707:28;;;;;;;;;;3532:13:21;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:13:21;938:15707:28;1390:66:17;3168:42;:::o;938:15707:28:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:17;938:15707:28;;;;;;;;;;;;;;;;;3532:13:21;938:15707:28;;;3032:2:17;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:17;;938:15707:28;;3032:2:17;3010:24;;3006:215;3032:2;;;938:15707:28;;1854:2:17;938:15707:28;;1840:16:17;1836:72;;3032:2;938:15707:28;;;;2079:95:21;3032:2:17;938:15707:28;;;;1949:36:17;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;938:15707:28;;;;3601:16:21;938:15707:28;;;;;;;;;;;3006:215:17;3032:2;938:15707:28;;;;;;;;;;3006:215:17;938:15707:28;3032:2:17;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;3601:16:21;938:15707:28;;;;;3601:16:21;938:15707:28;1390:66:17;3168:42;:::o;938:15707:28:-;;;;-1:-1:-1;938:15707:28;;;;;;;;;;3601:16:21;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;3601:16:21;938:15707:28;1390:66:17;3168:42;:::o;938:15707:28:-;;;;;;;3601:16:21;938:15707:28;;;;;;;;;;;;;;;3032:2:17;938:15707:28;;;;;;;;;;;;;;;;;3601:16:21;938:15707:28;;;3032:2:17;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610022575b3615610018575f80fd5b6100206131b6565b005b5f3560e01c80630396cb601461021157806303d1dcaf1461020c57806309ccb880146102075780630bd28e3b146102025780630da82661146101fd5780630dbfc6bd146101f857806313c65a6e146101f3578063154e58dc146101ee5780631b2e01b8146101e9578063205c2878146101e457806321e60b37146101df57806322cdde4c146101da578063263934db146101d557806330ec25d1146101d057806335567e1a146101cb57806344403473146101c65780635287ce12146101c157806369683cfa146101bc57806370a08231146101b75780637472949c146101b257806376ad6123146101ad57806384b0196e146101a8578063850aaf62146101a357806397b2dcb91461019e578063b760faf914610199578063bb9fe6bf14610194578063c23a5cea1461018f578063c3bce0091461018a578063c579f76b14610185578063f7e426e8146101805763fe2171cb0361000e57611c43565b611c0a565b611aea565b611ab3565b611990565b61186d565b61184d565b6115fe565b6115c2565b6114a9565b611470565b611450565b611415565b611241565b611134565b6110ef565b611013565b610f96565b610e80565b610e57565b610c8e565b610a9c565b610a3f565b610a05565b6109e3565b610966565b6107b8565b6105ea565b6105a9565b610518565b60203660031901126104005760043563ffffffff811690818103610400576103fb7fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103dd6102cf6102bf610277336001600160a01b03165f525f60205260405f2090565b96610283811515611c92565b6102b06001890154916102a96102a08463ffffffff9060781c1690565b63ffffffff1690565b1115611cdd565b60081c6001600160701b031690565b6001600160701b03349116611d59565b946102db861515611d66565b6102ee6001600160701b03871115611db1565b546102f76106ee565b908152600160208201526001600160701b038616604082015263ffffffff831660608201525f608082015261033c336001600160a01b03165f525f60205260405f2090565b81518155602082015160019091018054604084015160608501516080909501517fffffffffffffff0000000000000000000000000000000000000000000000000090921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b72ffffffff000000000000000000000000000000169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b5f80fd5b9181601f840112156104005782359167ffffffffffffffff8311610400576020808501948460051b01011161040057565b6001600160a01b0381160361040057565b359061045182610435565b565b60c06003198201126104005760043567ffffffffffffffff8111610400578161047e91600401610404565b929092916024359067ffffffffffffffff821161040057606090829003600319011261040057600401906044356104b481610435565b90606435906084359060a43590565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60806040610515936020845280516020850152602081015115158285015201519160608082015201906104c3565b90565b346104005761059b61058f61057861052f36610453565b969194909561053f949394611dfc565b5061057261054b611e1b565b6105606105588780611e8a565b825190613255565b61056a8680611e8a565b905a91613343565b50613509565b61058a6105858280611e8a565b6135c5565b613657565b604051918291826104e7565b0390f35b5f91031261040057565b34610400575f3660031901126104005760206105c3611eab565b6001600160a01b0360405191168152f35b602435906001600160c01b038216820361040057565b34610400576020366003190112610400576004356001600160c01b03811681036104005761063490335f52600160205260405f20906001600160c01b03165f5260205260405f2090565b61063e8154611f25565b9055005b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff82111761067257604052565b610642565b6060810190811067ffffffffffffffff82111761067257604052565b610140810190811067ffffffffffffffff82111761067257604052565b6040810190811067ffffffffffffffff82111761067257604052565b90601f8019910116810190811067ffffffffffffffff82111761067257604052565b6040519061045160a0836106cc565b60405190610451610140836106cc565b60405190610451610100836106cc565b604051906104516040836106cc565b604051906104516060836106cc565b60405190610451610120836106cc565b67ffffffffffffffff811161067257601f01601f191660200190565b9291926107738261074b565b9161078160405193846106cc565b829481845281830111610400578281602093845f960137010152565b9080601f830112156104005781602061051593359101610767565b34610400576102203660031901126104005760043567ffffffffffffffff8111610400576107ea90369060040161079d565b3660231901906101c08212610400576101406040519261080984610656565b12610400576108166106fd565b6108206024610446565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c082015261085d610104610446565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e4359067ffffffffffffffff8211610400576040926108c46108cf93369060040161079d565b906102043592611f44565b82519182526020820152f35b6020600319820112610400576004359067ffffffffffffffff82116104005761090691600401610404565b9091565b9061010060e061051593805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906104c3565b346104005761097d610977366108db565b90612151565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b8282106109b457505050500390f35b919360019193955060206109d38192603f198a8203018652885161090a565b96019201920185949391926109a5565b34610400575f3660031901126104005760206109fd614000565b604051908152f35b34610400575f3660031901126104005760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610400576040366003190112610400576020610a93600435610a6181610435565b6001600160a01b03610a716105d4565b91165f526001835260405f20906001600160c01b03165f5260205260405f2090565b54604051908152f35b3461040057604036600319011261040057600435610ab981610435565b602435335f525f60205260405f2091825490818311610b3d575f8080856001600160a01b03829589610aee846100209a612318565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610b37612325565b50612354565b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b90816101209103126104005790565b610200600319820112610400576004359160243567ffffffffffffffff81116104005782610bc091600401610b81565b916043190160446101c082126104005761014060405192610be084610656565b12610400576101a090610bf16106fd565b610bfa82610446565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c0820152610c4460e08301610446565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b3461040057610c9c36610b90565b90915f91805193610cad8582613255565b610cb68161239f565b60208301526001600160a01b0360e0610cf087610100604082015160608301510160808301510160a08301510160c0830151019101510290565b96876040860152015116610d1a575b604080515f8082526020820187905291810191909152606090f35b909192505a93610d398351916001600160a01b0360e084015116614b2d565b15610de057906080610d50920151928391856151d2565b9390505a900311610d68575061059b905f8080610cff565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d69740000000000000000000000000000000000000000000000000060848201528060a481015b0390fd5b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6020600319820112610400576004359067ffffffffffffffff82116104005761051591600401610b81565b346104005760206109fd610e6a36610e2c565b61239f565b90602061051592818152019061090a565b3461040057610eac610e91366108db565b809291610e9c61205c565b50610ea6826120aa565b50612151565b5f198201918211610ed95761059b91610ec49161213d565b5160405191829160208352602083019061090a565b611d28565b906105159060e06080610f30818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906104c3565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461040057610fad610fa7366108db565b90612586565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b828210610fe457505050500390f35b919360019193955060206110038192603f198a82030186528851610ede565b9601920192018594939192610fd5565b3461040057604036600319011261040057602060043561103281610435565b6001600160a01b036110426105d4565b91165f52600182526110688160405f20906001600160c01b03165f5260205260405f2090565b546040805192901b67ffffffffffffffff1916178152f35b9181601f840112156104005782359167ffffffffffffffff8311610400576020838186019501011161040057565b906060600319830112610400576004356110c781610435565b916024359067ffffffffffffffff8211610400576110e791600401611080565b909160443590565b34610400575f8080611100366110ae565b939181604094929451948592833781018381520393f161111e612325565b901561112657005b805190811561040057602001fd5b34610400576020366003190112610400576001600160a01b0360043561115981610435565b5f608060405161116881610656565b8281528260208201528260408201528260608201520152165f525f60205261059b60405f206111ed65ffffffffffff6001604051936111a685610656565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b346104005761124f36610b90565b9190915a928151936112618583613255565b61126a8261239f565b60208401526040850151936112b66effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612618565b6112e186610100604082015160608301510160808301510160a08301510160c0830151019101510290565b946113166113126112f55a89898988613426565b98602061130982516001600160a01b031690565b9101519061426b565b1590565b6113c0575a8303116113735750926113579260806113529360a061135e975a9560408601526060808601525a9003910135019101525a90612318565b612664565b6064900490565b604080519283525f6020840152820152606090f35b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b610ddc82604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b34610400576020366003190112610400576001600160a01b0360043561143a81610435565b165f525f602052602060405f2054604051908152f35b346104005761059b61058f61146436610453565b959490949391936126d1565b346104005761059b61058f61149761148736610453565b9691949095610572949394611dfc565b6114a46105858280611e8a565b61394b565b34610400575f366003190112610400576115696114e57f000000000000000000000000000000000000000000000000000000000000000061540d565b61150e7f00000000000000000000000000000000000000000000000000000000000000006154f3565b602060405161151d82826106cc565b5f81528161157781830194601f1983013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e08901906104c3565b9087820360408901526104c3565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b8281106115ab57505050500390f35b83518552869550938101939281019260010161159c565b34610400576040366003190112610400576115de600435610435565b60243567ffffffffffffffff811161040057610020903690600401611080565b346104005760603660031901126104005760043567ffffffffffffffff81116104005761162f903690600401610b81565b6024359061163c82610435565b60443567ffffffffffffffff81116104005761165c90369060040161079d565b9061166561205c565b507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c6118255761059b9260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6116bc611e1b565b926116c6836135c5565b6116d08484612c53565b9091945a6060880151886116e7606085018561294a565b5f6003821161181d575b7fffffffff0000000000000000000000000000000000000000000000000000000016638dd7712f60e01b0361180457505061175561176961176e956020840151604051938492638dd7712f60e01b6020850152604060248501526064840190614310565b90604483015203601f1981018352826106cc565b611f44565b9290965b5f946060966001600160a01b0381166117d9575b50509560806117c0969701519761179b61070d565b988952602089015260408801526060870152608086015260a0850152151560c0840152565b60e08201526117cd6142b9565b60405191829182610e6f565b6117c097505f92965090829182602083519301915af19560806117fa612325565b9795919796611786565b611815955090611769913691610767565b929096611772565b5081356116f1565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b60203660031901126104005761002060043561186881610435565b61275c565b34610400575f36600319011261040057335f525f602052600160405f2001805463ffffffff8160781c161561194c576118d56118c76102a0836118bb6118b661190f9660ff1690565b6127b5565b60781c63ffffffff1690565b65ffffffffffff4216612800565b82547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a9080602081016103fb565b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b34610400576020366003190112610400576100205f8080806004356119b481610435565b6001600160a01b0360016119d8336001600160a01b03165f525f60205260405f2090565b0191611a66835493611a3e65ffffffffffff611a2a611a10611a04896001600160701b039060081c1690565b6001600160701b031690565b97611a1c89151561281e565b60981c65ffffffffffff1690565b16611a36811515612869565b4210156128b4565b80547fffffffffffffff000000000000000000000000000000000000000000000000ff169055565b604080516001600160a01b03831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af1611aad612325565b506128ff565b346104005761059b611acc611ac736610e2c565b612a3f565b604051918291602083526020830190610ede565b8015150361040057565b34610400576102203660031901126104005760043560243567ffffffffffffffff811161040057611b1f903690600401610b81565b3660431901916101c083126104005761014060405193611b3e85610656565b126104005761059b92611bed92611b536106fd565b611b5d6044610446565b81526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152611b9b610124610446565b60e0820152610144356101008201526101643561012082015282526101843560208301526101a43560408301526101c43560608301526101e43560808301526102043592611be884611ae0565b612e2e565b604080519384526020840192909252908201529081906060820190565b3461040057611c24611c1b366110ae565b92919091613066565b9061059b604051928392151583526040602084015260408301906104c3565b3461040057611c65611c54366108db565b809291611c5f612504565b50612586565b5f198201918211610ed95761059b91611c7d9161213d565b51604051918291602083526020830190610ede565b15611c9957565b606460405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b15611ce457565b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b906113888201809211610ed957565b9060018201809211610ed957565b91908201809211610ed957565b15611d6d57565b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b15611db857565b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60405190611e0982610677565b60606040835f81525f60208201520152565b60405190611e2882610656565b5f608083604051611e3881610693565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b90359061011e1981360301821215610400570190565b6040513d5f823e3d90fd5b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611f20575f91611eeb575090565b90506020813d602011611f18575b81611f06602093836106cc565b81010312610400575161051581610435565b3d9150611ef9565b611ea0565b5f198114610ed95760010190565b9060206105159281815201906104c3565b919091825190606082015191611f5d603f5a0260061c90565b61271060a083015185010111611ff1578151611f8a575b505050610906925a900360808301510191613e26565b9161131291611fa3611fa894516001600160a01b031690565b613d93565b611fb4575f8080611f74565b610ddc611fbf613da4565b6040519182917f462c71b200000000000000000000000000000000000000000000000000000000835260048301611f33565b604051631101335b60e11b815280610ddc600482016080905f815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b67ffffffffffffffff81116106725760051b60200190565b60405190610100820182811067ffffffffffffffff82111761067257604052606060e0835f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201520152565b906120b482612044565b6120c160405191826106cc565b82815280926120d2601f1991612044565b01905f5b8281106120e257505050565b6020906120ed61205c565b828285010152016120d6565b634e487b7160e01b5f52603260045260245ffd5b90821015612124576105159160051b810190611e8a565b6120f9565b604051906121386020836106cc565b5f8252565b80518210156121245760209160051b010190565b61215a826120aa565b915f5b81811061216a5750505090565b61217581838561210d565b9060205f60405161218683826106cc565b5261218f61205c565b507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c61182557600192837f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6121e4611e1b565b906121ee816135c5565b826121f98383612c53565b929091935a9086606081015191612213606082018261294a565b5f600382116122f3575b7fffffffff0000000000000000000000000000000000000000000000000000000016638dd7712f60e01b036122db57505061176985638dd7712f60e01b926117556122809886015191604051958694850152604060248501526064840190614310565b93905b608060609601519661229361070d565b978852870152604086015283850152608084015260a08301525f60c083015260e08201526122bf6142b9565b6122c9828761213d565b526122d4818661213d565b500161215d565b6122ec965061176992503691610767565b9390612283565b50813561221d565b600319810191908211610ed957565b5f19810191908211610ed957565b91908203918211610ed957565b3d1561234f573d906123368261074b565b9161234460405193846106cc565b82523d5f602084013e565b606090565b1561235b57565b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b610515906123ac816141d8565b6123b4614000565b916124908135926123c484610435565b60208301359080156124cc5761248290935b6123ec6123e6606083018361294a565b90615698565b90608081013560a08201359061240e6123e660c08501359460e081019061294a565b93604051988997602089019b8c94919261010096939998979491996001600160a01b0361012088019b7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216602088015260408701526060860152608085015260a084015260c083015260e08201520152565b03601f1981018352826106cc565b51902090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b506124826124dd604085018561294a565b908160405191823720936123d6565b604051906124f9826106b0565b5f6020838281520152565b6040519061251182610656565b8160405161251e81610656565b5f81525f60208201525f60408201525f60608201526060608082015281526125446124ec565b60208201526125516124ec565b604082015261255e6124ec565b6060820152608060405191612572836106b0565b5f835261257d6124ec565b60208401520152565b61258f82612044565b9161259d60405193846106cc565b808352601f196125ac82612044565b015f5b8181106125f45750505f5b8181106125c75750505090565b806125d8611ac7600193858761210d565b6125e2828761213d565b526125ed818661213d565b50016125ba565b6020906125ff612504565b828288010152016125af565b908092918237015f815290565b1561261f57565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b90607382029180830460731490151715610ed957565b3561051581610435565b604051906126936020836106cc565b5f808352366020840137565b906126a98261074b565b6126b660405191826106cc565b82815280926126c7601f199161074b565b0190602036910137565b906126e491969594939296610572611dfc565b6001600160a01b036126f68680611e8a565b61271f60208801359161270883610435565b612710611e1b565b9061271a816135c5565b612c53565b50505016156127315761051594613b6f565b505050505061273e612684565b6040519061274b82610677565b5f82525f6020830152604082015290565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b036127a934856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b156127bc57565b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b9065ffffffffffff8091169116019065ffffffffffff8211610ed957565b1561282557565b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b1561287057565b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b156128bb57565b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b1561290657565b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b903590601e1981360301821215610400570180359067ffffffffffffffff82116104005760200191813603831361040057565b906014116104005790601490565b909291928360141161040057831161040057601401916013190190565b909291928360341161040057831161040057603401916033190190565b356bffffffffffffffffffffffff198116929190601482106129e5575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b60405190612a12826106b0565b6004546001600160a01b03168252604051602083612a2f836106b0565b6005548352600654828401520152565b612a47612504565b50612a50611e1b565b90612a5a816135c5565b612a648282612c53565b50919092612a7283856143d3565b612a8f612a8a60e0835101516001600160a01b031690565b61457d565b91612abd612aa9612a8a84516001600160a01b0390511690565b91612ab26124ec565b50604081019061294a565b9060148210612b9857612adf612ad9612ae593612a8a9361297d565b906129c5565b60601c90565b916001600160a01b038616946080820151966060604084015193015192612b0a6106ee565b9889526020890152604088015260608701526080860152612b29612a05565b9380151580612b8d575b612b5b575b50612b416106ee565b948552602085015260408401526060830152608082015290565b909350612b678161457d565b612b81612b7261071d565b6001600160a01b039093168352565b6020820152925f612b38565b506001811415612b33565b5050612ae55f61457d565b15612bab5750565b60405190631101335b60e11b825260048201526040602482015280610ddc60448201604090601881527f41413934206761732076616c756573206f766572666c6f77000000000000000060208201520190565b15612c065750565b60408051631101335b60e11b815260048101929092526024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9190915f915a93805192612c678482613255565b612c80604051612c768361239f565b6020850152604052565b604084015195612cc85f6effffffffffffffffffffffffffffff8960c08901511760608901511760808901511760a08901511761010089015117610120890151171115612ba3565b612d13612cf686610100604082015160608301510160808301510160a08301510160c0830151019101510290565b806040860152612d0a608085013560801c90565b9085855f613426565b96612d3c5f612d37612d2c89516001600160a01b031690565b60208a01519061426b565b612bfe565b5a820311612ddb576060946001600160a01b03612d6460e05a9301516001600160a01b031690565b16151580612dd3575b612d9b575b60809291612d8961135761135260a0945a90612318565b9660608601525a900391013501910152565b945061135295509060a0608092612db1836145bd565b50612d89611357612dc387865f61411c565b9a90999450505050919250612d72565b506001612d6d565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b939092915f935a8251612e418184613255565b612e5a604051612e508561239f565b6020870152604052565b604081015197612ea2816effffffffffffffffffffffffffffff8b60c08601511760608601511760808601511760a08601511761010086015117610120860151171115612ba3565b612eed612ed083610100604082015160608301510160808301510160a08301510160c0830151019101510290565b806040880152612ee4608087013560801c90565b90878785613426565b98612f1182612d37612f0686516001600160a01b031690565b60208701519061426b565b5a840311611373576060966001600160a01b03612f3960e05a9501516001600160a01b031690565b1615159081612f99575b50612f61575b5060809291612d8961135761135260a0945a90612318565b611352975060a091965091612d89611357612f8a87878097612f8460809a6145bd565b5061411c565b9a909994505050509192612f49565b90505f612f43565b908060209392818452848401375f828201840152601f01601f1916010190565b6040906001600160a01b0361051595931681528160208201520191612fa1565b908151811015612124570160200190565b919060408382031261040057825161300981611ae0565b9260208101519067ffffffffffffffff8211610400570181601f82011215610400578051906130378261074b565b9261304560405194856106cc565b8284526020838301011161040057815f9260208093018386015e8301015290565b91925f936001600160a01b036060941691823b15610400576130e4935f80946040518097819682957f850aaf620000000000000000000000000000000000000000000000000000000084526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048501612fc1565b0393f1908161319c575b506109065750506130fd612325565b90600482511061318e5761311961311483516122fb565b61269f565b60045b8351811015613178578061315b61313560019387612fe1565b517fff000000000000000000000000000000000000000000000000000000000000001690565b613171613167836122fb565b915f1a9185612fe1565b530161311c565b5061090691925060208082518301019101612ff2565b9050613198612684565b5f91565b806131aa5f6131b0936106cc565b8061059f565b5f6130ee565b6104513361275c565b156131c657565b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b1561321157565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6132ec906132726132658261267a565b6001600160a01b03168452565b6020810135602084015261329f6080820135906fffffffffffffffffffffffffffffffff8260801c921690565b6060850152604084015260a081013560c08401526132d660c0820135906fffffffffffffffffffffffffffffffff8260801c921690565b61010085015261012084015260e081019061294a565b809291926132f957505050565b6133158161045194613310603460e09510156131bf565b6145dc565b60a08501526080840152916133346001600160a01b038416151561320a565b01906001600160a01b03169052565b9291613387908251926001600160a01b0360e0818651169561337361336b60408b018b61294a565b90865f61463a565b015116905f911596876133f3575b5f614a26565b9261338f5750565b5f61339991614b2d565b156133a057565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b915061340f856001600160a01b03165f525f60205260405f2090565b54801561341f57505f5b91613381565b5f03613419565b9290949361346c908351936001600160a01b0360e0818751169661345861345060408d018d61294a565b90868c61463a565b015116905f911598896134d4575b87614a26565b9461347657505050565b61347f91614b2d565b156134875750565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b91506134f0866001600160a01b03165f525f60205260405f2090565b548581111561350257505f5b91613466565b85036134fc565b915f5b828110156135bf5761351c611e1b565b908060051b85013591605e1986360301831215610400576135536001938701916135496105858480611e8a565b61271a8380611e8a565b505050602081016135726135668261267a565b6001600160a01b031690565b156135b8575f9182613592613587829461267a565b92604081019061294a565b91906135a36040518094819361260b565b03925af1506135b0612325565b505b0161350c565b50506135b2565b50915050565b6135f8906135d6604082018261294a565b916135f08135916135e683610435565b60e081019061294a565b939092614b52565b80516136015750565b610ddc90604051918291631101335b60e11b83525f60048401526040602484015260448301906104c3565b939291613652906001600160a01b036040931686526060602087015260608601906104c3565b930152565b93949094613663611dfc565b5082156138ae576136a392613676612129565b50915f6136855a886002614ee7565b5a906040519687928392631efc84dd60e31b84528c6004850161362c565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1918215611f20575f945f9361388c575b5082948093811561386a575050613700909592919394955b85611d59565b806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016965b846137388885612318565b10613840575a61374788611d3c565b116138095791869593918995935f8c8b61377961377061376a886137999f611d59565b60011c90565b809b6002614ee7565b835a936040519e8f9586948593631efc84dd60e31b85526004850161362c565b03925af1988915611f20575f905f9a6137e2575b50156137cd575050506137bf8461230a565b95915b93909294959161372d565b939650946137dc919750611d4b565b946137c2565b90506138019199503d805f833e6137f981836106cc565b810190612ff2565b98905f6137ad565b7fe2c4d0be000000000000000000000000000000000000000000000000000000005f5260048290526024879052604483905260645ffd5b965096505091955050613862915061385661072c565b93845215156020840152565b604082015290565b9650965050955050505061386261387f61072c565b5f81529215156020840152565b9092506138a49194503d805f833e6137f981836106cc565b939093915f6136e2565b906138c392505a905f6136855a886002614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1928315611f20575f945f94613929575b50839461391181945a90612318565b94811561386a575050613700909592919394956136fa565b9093506139419194503d805f833e6137f981836106cc565b939093925f613902565b93949094613957611dfc565b508215613ad2576139799261396a612129565b50915f6136855a886003614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1918215611f20575f945f93613ab0575b5082948093811561386a5750506139d59095929193949585611d59565b806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016965b84613a0d8885612318565b10613840575a613a1c88611d3c565b116138095791869593918995935f8c8b613779613a3f61376a88613a489f611d59565b809b6003614ee7565b03925af1988915611f20575f905f9a613a91575b5015613a7c57505050613a6e8461230a565b95915b939092949591613a02565b93965094613a8b919750611d4b565b94613a71565b9050613aa89199503d805f833e6137f981836106cc565b98905f613a5c565b909250613ac89194503d805f833e6137f981836106cc565b939093915f6139b8565b90613ae792505a905f6136855a886003614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1928315611f20575f945f94613b4d575b508394613b3581945a90612318565b94811561386a5750506139d5909592919394956136fa565b909350613b659194503d805f833e6137f981836106cc565b939093925f613b26565b93949094613b7b611dfc565b508215613cf657613b9d92613b8e612129565b50915f6136855a886001614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1918215611f20575f945f93613cd4575b5082948093811561386a575050613bf99095929193949585611d59565b806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016965b84613c318885612318565b10613840575a613c4088611d3c565b116138095791869593918995935f8c8b613779613c6361376a88613c6c9f611d59565b809b6001614ee7565b03925af1988915611f20575f905f9a613cb5575b5015613ca057505050613c928461230a565b95915b939092949591613c26565b93965094613caf919750611d4b565b94613c95565b9050613ccc9199503d805f833e6137f981836106cc565b98905f613c80565b909250613cec9194503d805f833e6137f981836106cc565b939093915f613bdc565b90613d0b92505a905f6136855a886001614ee7565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1928315611f20575f945f94613d71575b508394613d5981945a90612318565b94811561386a575050613bf9909592919394956136fa565b909350613d899194503d805f833e6137f981836106cc565b939093925f613d4a565b905f9283809360208451940192f190565b3d6108008111613dc8575b604051906020818301016040528082525f602083013e90565b50610800613daf565b634e487b7160e01b5f52602160045260245ffd5b60031115613def57565b613dd1565b90949392946003811015613def57606092613e1c9183526080602084015260808301906104c3565b9460408201520152565b92905f925a91855191613e3883615148565b92613e4d60e08201516001600160a01b031690565b91613e6360808a01518203606084015190615168565b01925f926001600160a01b0381169081613f045750505090613e906040949392516001600160a01b031690565b945b5a9003010102940151908482105f14613ed657613eae5f613de5565b7fdeadaa51000000000000000000000000000000000000000000000000000000005f5260205ffd5b84613efa9203906001600160a01b03165f525f60205260405f209081540180915590565b506104515f613de5565b96928251613f1b575b505050906040939291613e92565b919850949392505a97613f2d5f613de5565b60a05a920195865191813b15610400578692835f809489613f80604051988997889687947f7c627b2100000000000000000000000000000000000000000000000000000000865202908660048601613df4565b0393f19081613fec575b50613fcc57610ddc613f9a613da4565b6040519182917fad7954bc00000000000000000000000000000000000000000000000000000000835260048301611f33565b604094613fe2915a9003985a9003905190615168565b9192935f80613f0d565b806131aa5f613ffa936106cc565b5f613f8a565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163014806140f3575b1561405b577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526140ed60c0826106cc565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614032565b9290925a93835161413f6001600160a01b0360e083015116604087015190614b2d565b1561416457906080614156920151948591846151d2565b9390945a900311610d685750565b60848360405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b909280926014946bffffffffffffffffffffffff199060601b1683528483013701015f815290565b6141e5604082018261294a565b90916141f461131283856152c7565b614264576142046142099161267a565b615309565b91601482116142405750506040516140ed816124826020820194856014916bffffffffffffffffffffffff199060601b1681520190565b816140ed9261424e9261298b565b91906124826040519384926020840196876141b0565b5050505f90565b6001600160a01b03165f52600160205267ffffffffffffffff6142a58260401c60405f20906001600160c01b03165f5260205260405f2090565b918254926142b284611f25565b9055161490565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b9035601e198236030181121561040057016020813591019167ffffffffffffffff821161040057813603831361040057565b6105159161432e8161432184610446565b6001600160a01b03169052565b602082013560208201526143c46143b861437f61436461435160408701876142de565b6101206040880152610120870191612fa1565b61437160608701876142de565b908683036060880152612fa1565b6080850135608085015260a085013560a085015260c085013560c08501526143aa60e08601866142de565b9085830360e0870152612fa1565b926101008101906142de565b91610100818503910152612fa1565b6143e46001600160a01b03916155ab565b911661452a576144d7576143ff6001600160a01b03916155ab565b91166144845761440b57565b604051631101335b60e11b815280610ddc5f6004830160a091815260406020820152602160408201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560608201527f650000000000000000000000000000000000000000000000000000000000000060808201520190565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b604051631101335b60e11b815280610ddc5f60048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b906001600160a01b0361458e6124ec565b92165f525f60205263ffffffff600160405f2001546001600160701b038160081c16845260781c166020830152565b6145cb9060e081019061294a565b602411610400576014013560801c90565b9091826014116104005781359183602411610400576014810135936034116104005760609290921c92608090811c9260240135901c90565b90816020910312610400575161051581610435565b916020610515938181520191612fa1565b92909181614649575b50505050565b8251516001600160a01b03169361466083836152c7565b61491d57843b6148d05760148310614883575f6020614680613566611eab565b604087510151604051809481937f570e1a36000000000000000000000000000000000000000000000000000000008352826146bf8b8b60048401614629565b0393f1908115611f20575f91614854575b506001600160a01b0381169586156147ff576001600160a01b03168096036147aa573b1561475d5750612adf612ad97fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361472a9361297d565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a35f808080614643565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b610ddc82604051918291631101335b60e11b835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b610ddc83604051918291631101335b60e11b835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b614876915060203d60201161487c575b61486e81836106cc565b810190614614565b5f6146d0565b503d614864565b60408051631101335b60e11b815260048101929092526024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152608490fd5b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b50906014811161492d5750505050565b8061494991604061493f613566611eab565b955101519361298b565b9190833b15610400575f809461498f96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501612fc1565b0393f18015611f20576149a5575b808080614643565b806131aa5f6149b3936106cc565b5f61499d565b6149d160409295949395606083526060830190614310565b9460208201520152565b60a0906105159392815260606020820152600d60608201527f4141323320726576657274656400000000000000000000000000000000000000608082015281604082015201906104c3565b9291602095948692614a905f93614a82614a4982516001600160a01b0390511690565b976040519b8c930151888401957f19822f7c000000000000000000000000000000000000000000000000000000008752602485016149b9565b03601f1981018a52896106cc565b8285895193f15f519460203d03614b25575b60405215614aae575050565b3b614b005760408051631101335b60e11b815260048101929092526024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152608490fd5b614b08613da4565b90610ddc6040519283926365c8fd4d60e01b8452600484016149db565b5f9150614aa2565b6001600160a01b03165f525f60205260405f2090815481811061426457039055600190565b50929192159081614c07575b50614bca576014811015614b77575b5050610515612129565b601411610400573560601c3b15614b8f575f80614b6d565b604051614b9d6040826106cc565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051614bda6040826106cc565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b155f614b5e565b6101208136031261040057614c2461073b565b90614c2e81610446565b825260208101356020830152604081013567ffffffffffffffff811161040057614c5b903690830161079d565b6040830152606081013567ffffffffffffffff811161040057614c81903690830161079d565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013567ffffffffffffffff811161040057614cc5903690830161079d565b60e08301526101008101359067ffffffffffffffff821161040057614cec9136910161079d565b61010082015290565b60041115613def57565b916020936fffffffffffffffffffffffffffffffff198092603497946bffffffffffffffffffffffff199060601b1686521660148501521660248301528051928391018483015e01015f815290565b80516001600160a01b031682526105159160208201516020820152610100614dcf614d9f614d8d604086015161012060408701526101208601906104c3565b606086015185820360608701526104c3565b6080850151608085015260a085015160a085015260c085015160c085015260e085015184820360e08601526104c3565b920151906101008184039101526104c3565b60806101a0916101208151614dff8682516001600160a01b03169052565b602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c0870152614e5360e082015160e08801906001600160a01b03169052565b61010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b614ebe614eb361020093969594965f84526102206020850152610220840190614d4e565b956040830190614de1565b0152565b61020090614ebe614eb35f949695968584526102206020850152610220840190614d4e565b614eef611e1b565b614f01614efc8480611e8a565b614c11565b614f0a83614cf5565b6002831461506357614f1b83614cf5565b60038314614fdc57505080614f31600192614cf5565b14614f7b5760405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964206d6f646500000000000000000000000000000000000000006044820152606490fd5b80612482614fa6614f9f614f946020610515960161267a565b93604081019061294a565b3691610767565b936040519485937f444034730000000000000000000000000000000000000000000000000000000060208601526024850161362c565b9150926fffffffffffffffffffffffffffffffff61502361501c6150038661051597611e8a565b608001356fffffffffffffffffffffffffffffffff1690565b9260801b90565b91161760808201526124826040519384927fc579f76b00000000000000000000000000000000000000000000000000000000602085015260248401614ec2565b915092612482906fffffffffffffffffffffffffffffffff19846150ee6150e061509c6150966135e6856105159b611e8a565b906145dc565b9291905060609060e08a0195603487515111615124575b5060405196879460801b16906fffffffffffffffffffffffffffffffff198960801b169060208601614cff565b03601f1981018452836106cc565b526040519485937f21e60b3700000000000000000000000000000000000000000000000000000000602086015260248501614e8f565b61514191925061513a6135e682614f9f93611e8a565b80916129a8565b905f6150b3565b61012061010082015191015148018082105f14615163575090565b905090565b90619c40820181111561518157606491600a9103020490565b50505f90565b60a0906105159392815260606020820152600d60608201527f4141333320726576657274656400000000000000000000000000000000000000608082015281604082015201906104c3565b925f809195939295604051968261524760e06020880151976152388c6152296040840151602083019c8d997f52b7512c000000000000000000000000000000000000000000000000000000008b52602485016149b9565b038d601f19820190528d6106cc565b5101516001600160a01b031690565b895193f1933d91825f833e519381516040830196875190159182156152bb575b5081156152a9575b506152845750601f909101601f191601604052565b61528c613da4565b90610ddc6040519283926365c8fd4d60e01b845260048401615187565b9050601f605f1985019101105f61526f565b6040141591505f615267565b9060021161530457356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000083160361537e5750612adf61536c6105159260181b90565b6bffffffffffffffffffffffff191690565b3b156153c95760405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152606490fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b60ff811461541e57610515906156a3565b506040515f6002548060011c916001821680156154e9575b6020841081146154d557838552849260208401919081156154bc5750600114615467575b50610515925003826106cc565b60025f90815291507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b8483106154a557506105159350015f61545a565b805482840152859350602090920191600101615491565b60ff191682525061051593151560051b0190505f61545a565b634e487b7160e01b5f52602260045260245ffd5b92607f1692615436565b60ff811461550457610515906156a3565b506040515f6003548060011c916001821680156155a1575b6020841081146154d557838552849260208401919081156154bc575060011461554c5750610515925003826106cc565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b84831061558a57506105159350015f61545a565b805482840152859350602090920191600101615576565b92607f169261551c565b8015615691575f604080516155bf81610677565b828152826020820152015265ffffffffffff8160a01c168015615684575b6156659061564c6155f46155ff6155f48660d01c90565b65ffffffffffff1690565b926156246001600160a01b0361561361072c565b971687906001600160a01b03169052565b61563a6020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b4211908115615668575b5091516001600160a01b031690565b91565b5161567b915065ffffffffffff166155f4565b4211155f615656565b5065ffffffffffff6155dd565b505f905f90565b816040519182372090565b60ff811690601f82116156d257604051916156bf6040846106cc565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220b04211654822ac861a2e15edb4bbe6e363cd286a35edc43210345f4b4bd8501b64736f6c634300081c0033","sourceMap":"938:15707:28:-:0;;;;;;;;;-1:-1:-1;938:15707:28;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;;3443:47:2;;2894:10;938:15707:28;3123:22:2;938:15707:28;2885:20:2;2894:10;-1:-1:-1;;;;;938:15707:28;2885:8:2;938:15707:28;2885:8:2;938:15707:28;;;2885:8:2;938:15707:28;;;2885:20:2;2923:19;2915:58;2923:19;;;2915:58;:::i;:::-;2983:114;3023:20;;;938:15707:28;;3004:39:2;938:15707:28;;;;;;;;;;;;;;3004:39:2;-1:-1:-1;3004:39:2;2983:114;:::i;:::-;938:15707:28;;-1:-1:-1;;;;;938:15707:28;;;;-1:-1:-1;;;;;3136:9:2;938:15707:28;;3123:22:2;:::i;:::-;3163:9;3155:40;3163:9;;;3155:40;:::i;:::-;3205:53;-1:-1:-1;;;;;3213:26:2;;;3205:53;:::i;:::-;938:15707:28;;;:::i;:::-;;;;3023:20:2;938:15707:28;3291:137:2;;938:15707:28;-1:-1:-1;;;;;938:15707:28;;3291:137:2;;;938:15707:28;;;;3291:137:2;;;938:15707:28;;3291:137:2;;;938:15707:28;3268:20:2;2894:10;-1:-1:-1;;;;;938:15707:28;2885:8:2;938:15707:28;2885:8:2;938:15707:28;;;2885:8:2;938:15707:28;;;3268:20:2;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;938:15707:28;;;;;;3291:137:2;938:15707:28;;;;;;;;;;;;;2894:10:2;;938:15707:28;;;;;;;3443:47:2;;;;938:15707:28;;-1:-1:-1;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;938:15707:28;;;;;:::o;:::-;;;;;;:::i;:::-;:::o;:::-;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;;;;;;;-1:-1:-1;;938:15707:28;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;10870:221;10785:13;938:15707;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;10645:73;938:15707;;:::i;:::-;10615:19;10598:15;;;;:::i;:::-;10615:19;;;;:::i;:::-;10675:15;;;;:::i;:::-;10708:9;;10645:73;;:::i;:::-;;10785:13;:::i;:::-;10836:15;;;;;:::i;:::-;;:::i;:::-;10870:221;:::i;:::-;938:15707;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;938:15707:28;;;;;;;:::i;:::-;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;:::o;:::-;;;;;;-1:-1:-1;;938:15707:28;;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;674:36:1;694:10;;-1:-1:-1;938:15707:28;674:19:1;938:15707:28;;;-1:-1:-1;938:15707:28;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;674:36:1;:38;938:15707:28;;674:38:1;:::i;:::-;938:15707:28;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;2437:15;938:15707;;;2437:15;938:15707;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;938:15707:28;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;;2907:20:27;;:::i;:::-;938:15707:28;;;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;;;;1065:197:3;938:15707:28;;;;;;;;;-1:-1:-1;;938:15707:28;;;;;279:74:1;938:15707:28;;;;;:::i;:::-;-1:-1:-1;;;;;938:15707:28;;:::i;:::-;;;-1:-1:-1;938:15707:28;279:74:1;938:15707:28;;;-1:-1:-1;938:15707:28;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;279:74:1;938:15707:28;;;;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;;;;;;:::i;:::-;;;4863:10:2;-1:-1:-1;938:15707:28;-1:-1:-1;938:15707:28;;;-1:-1:-1;938:15707:28;;;;4939:32:2;;;;938:15707:28;;-1:-1:-1;5026:31:2;;;-1:-1:-1;;;;;5026:31:2;;;;;5211:38;5026:31;;:::i;:::-;938:15707:28;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;4863:10:2;;5072:54;;;938:15707:28;5154:47:2;;;;:::i;:::-;;5211:38;:::i;938:15707:28:-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;-1:-1:-1;13332:17:27;;;13387:7;;;;;:::i;:::-;13428:21;;;:::i;:::-;13405:20;;;938:15707:28;-1:-1:-1;;;;;13522:17:27;13480:28;;9470:20;9253:28;;;938:15707:28;9284:20:27;;;938:15707:28;;9323:37:27;;;938:15707:28;;9363:31:27;;;938:15707:28;;9397:26:27;;;938:15707:28;;9470:20:27;;938:15707:28;;9083:424:27;;13480:28;13460:17;;;;;938:15707:28;13522:17:27;1412:5;938:15707:28;13518:166:27;;938:15707:28;13460:17:27;938:15707:28;;;;;;;;;;;;;;;;;;;;;;13518:166:27;16412:9;;;;;16465:14;16603:48;16465:14;;16513:17;-1:-1:-1;;;;;13522:17:27;16513;;1412:5;938:15707:28;16603:48:27;:::i;:::-;16602:49;16598:146;;16790:37;;16869:73;16790:37;;938:15707:28;16869:73:27;;;;;:::i;:::-;16969:9;;;;1658:4;;16960:43;16956:149;;13569:104;938:15707:28;13569:104:27;13518:166;;;;;16956:149;13460:17;938:15707:28;;-1:-1:-1;;;17030:60:27;;938:15707:28;17030:60:27;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;17030:60:27;;;;16598:146;16678:51;938:15707:28;13460:17:27;938:15707:28;16678:51:27;-1:-1:-1;;;16678:51:27;;938:15707:28;16678:51:27;;938:15707:28;13460:17:27;938:15707:28;;;;;;;;;;;;;;16678:51:27;938:15707:28;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;15094:25;938:15707;;;:::i;:::-;;;;;;:::i;:::-;;15040:33;;;:::i;:::-;;15094:25;:::i;:::-;-1:-1:-1;;938:15707:28;;;;;;;;15137:23;;;;:::i;:::-;;938:15707;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;938:15707:28;;:::i;:::-;;;-1:-1:-1;938:15707:28;507:19:1;938:15707:28;;507:32:1;938:15707:28;;-1:-1:-1;938:15707:28;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;507:32:1;938:15707:28;;;;;;;-1:-1:-1;;938:15707:28;507:55:1;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;938:15707:28;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;-1:-1:-1;938:15707:28;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6016:27;;;;;:::i;:::-;6057:8;;6053:175;;938:15707;6053:175;938:15707;;6085:22;;;6081:36;;6131:87;;;938:15707;;;;;;-1:-1:-1;;938:15707:28;;;;-1:-1:-1;;;;;938:15707:28;;;;;:::i;:::-;-1:-1:-1;938:15707:28;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;938:15707:28;-1:-1:-1;938:15707:28;;;;-1:-1:-1;938:15707:28;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25090:9:27;;;;25139:17;;;25194:7;;;;;:::i;:::-;25235:21;;;:::i;:::-;25212:20;;;938:15707:28;25451:28:27;;;938:15707:28;25512:26:27;25746:70;938:15707:28;25512:26:27;;;;938:15707:28;25512:49:27;25564:20;;;938:15707:28;25512:72:27;25599:37;;;938:15707:28;25512:124:27;25639:31;;;938:15707:28;25512:158:27;25673:20;;;938:15707:28;25512:181:27;25708:28;;;938:15707:28;25512:224:27;25754:33;;25746:70;:::i;:::-;25853:28;;9470:20;9253:28;;;938:15707:28;9284:20:27;;;938:15707:28;;9323:37:27;;;938:15707:28;;9363:31:27;;;938:15707:28;;9397:26:27;;;938:15707:28;;9470:20:27;;938:15707:28;;9083:424:27;;25853:28;25980:9;26005:55;26006:54;25908:82;25980:9;25908:82;;;;;:::i;:::-;1412:5;25212:20;1412:5;;;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;26046:13;;938:15707:28;26006:54:27;;:::i;:::-;26005:55;;938:15707:28;26005:55:27;26001:140;;26188:9;1658:4;;26179:41;26175:138;;26386:9;;26718:32;26386:9;25599:37;26719:24;26386:9;25639:31;26717:40;26386:9;;26477:17;25451:28;26477:17;;938:15707:28;25564:20:27;26526:23;;;938:15707:28;26628:9:27;1658:4;;26640:25;;938:15707:28;;26598:18:27;;938:15707:28;26734:9:27;26719:24;;:::i;:::-;26718:32;:::i;:::-;26754:3;938:15707:28;;;;26717:40:27;25451:28;938:15707:28;;;;;;;;;;;;;;;;26175:138:27;25451:28;938:15707:28;;-1:-1:-1;;;26247:51:27;;938:15707:28;26247:51:27;;938:15707:28;;;;;;;;;;;;;;;;;;;;17030:60:27;26001:140;26083:47;938:15707:28;25451:28:27;938:15707:28;26083:47:27;;;-1:-1:-1;;;26083:47:27;;938:15707:28;26083:47:27;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;-1:-1:-1;;;;;938:15707:28;;;;;:::i;:::-;;-1:-1:-1;938:15707:28;-1:-1:-1;938:15707:28;;;;-1:-1:-1;938:15707:28;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;11560:152;11475:13;938:15707;;;:::i;:::-;;;;;;;;;;;:::i;11475:13::-;11526:15;;;;;:::i;:::-;11560:152;:::i;938:15707::-;;;;;;-1:-1:-1;;938:15707:28;;;;;6198:41:21;:5;:41;:::i;:::-;6653:47;:8;:47;:::i;:::-;938:15707:28;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5689:13:21;;938:15707:28;;;;5724:4:21;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;;;;;;;;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;637:66:16;3326:69:20;1444:93:16;;938:15707:28;3555:68:20;1655:4:16;637:66;3555:68:20;938:15707:28;;:::i;:::-;13743:2;;;;:::i;:::-;13867:40;;;;:::i;:::-;3185:1327:27;;;3441:9;3509:20;;;938:15707:28;3602:15:27;;3509:20;3602:15;;;;:::i;:::-;-1:-1:-1;3697:160:27;;;;;938:15707:28;;;-1:-1:-1;;;3874:51:27;3887:38;;4029:17;;938:15707:28;3974:74:27;4105:53;4029:17;;;;938:15707:28;;;3974:74:27;;;-1:-1:-1;;;4029:17:27;3974:74;;;938:15707:28;3974:74:27;;;938:15707:28;;;;;;:::i;:::-;;;;;;3974:74:27;938:15707:28;;3974:74:27;;;;;;:::i;:::-;4105:53;:::i;:::-;4066:92;;3870:626;;-1:-1:-1;14036:25:28;3509:20:27;938:15707:28;-1:-1:-1;;;;;938:15707:28;;14071:110;;3870:626:27;14227:15:28;;;;14198:270;14227:15;;;938:15707;;;;:::i;:::-;;;;14198:270;;;938:15707;14198:270;;;938:15707;3509:20:27;14198:270:28;;938:15707;14227:15;14198:270;;938:15707;14198:270;;;938:15707;;;14198:270;;;938:15707;;14198:270;;;;938:15707;1246:1:16;;:::i;:::-;938:15707:28;;;;;;;:::i;14071:110::-;14198:270;14143:27;;-1:-1:-1;14143:27:28;;;;;;;;;;;;;;;;14227:15;14143:27;;:::i;:::-;14111:59;14071:110;;;;;;3870:626:27;4337:48;938:15707:28;;;;;;;;:::i;4337:48:27:-;4298:87;;3870:626;;;3697:160;-1:-1:-1;3697:160:27;;;;1444:93:16;1496:30;-1:-1:-1;1496:30:16;;-1:-1:-1;1496:30:16;938:15707:28;;;-1:-1:-1;;938:15707:28;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;938:15707:28;;;;3615:10:2;938:15707:28;;;;;3644:20:2;938:15707:28;;;3644:20:2;938:15707:28;;;;;;;3644:25:2;938:15707:28;;3767:46:2;;938:15707:28;;3694:41:2;938:15707:28;3865:19:2;938:15707:28;;;;;;3694:41:2;:::i;:::-;938:15707:28;;;;;;3767:46:2;938:15707:28;3774:15:2;938:15707:28;3767:46:2;:::i;:::-;938:15707:28;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;3865:19:2;938:15707:28;;;;;;;;3615:10:2;;3899:39;;938:15707:28;;;;3899:39:2;938:15707:28;;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;4618:44:2;-1:-1:-1;938:15707:28;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4133:10:2;4087:20;4096:10;-1:-1:-1;;;;;938:15707:28;2885:8:2;938:15707:28;2885:8:2;938:15707:28;;;2885:8:2;938:15707:28;;;4087:20:2;4133:10;938:15707:28;4463:14:2;938:15707:28;;;4278:110:2;938:15707:28;;4117:26:2;938:15707:28;;-1:-1:-1;;;;;938:15707:28;;;;;;;-1:-1:-1;;;;;938:15707:28;;;4117:26:2;4161:9;4153:42;4161:9;;;4153:42;:::i;:::-;938:15707:28;;;;;;;;4205:63:2;4213:21;;;4205:63;:::i;:::-;4320:15;-1:-1:-1;4299:36:2;4278:110;:::i;:::-;938:15707:28;;;;;;;4463:14:2;938:15707:28;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;4096:10:2;;4492:50;;;938:15707:28;4570:38:2;;;;:::i;:::-;;4618:44;:::i;938:15707:28:-;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5786:31;938:15707;;;:::i;:::-;;;;;;:::i;:::-;;5786:31;:::i;:::-;-1:-1:-1;;938:15707:28;;;;;;;;5834:27;;;;:::i;:::-;;938:15707;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;9389:5;938:15707;;;;;;;:::o;:::-;;10102:1;938:15707;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;938:15707:28;;-1:-1:-1;938:15707:28;;;;;;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;938:15707:28;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;2451:114:27;938:15707:28;;;2538:20:27;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;2538:20:27;;;2531:27;2451:114;:::o;2538:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;938:15707:28;;;;;;;;:::i;2538:20:27:-;;;-1:-1:-1;2538:20:27;;;;:::i;938:15707:28:-;-1:-1:-1;;938:15707:28;;;;;;;:::o;1658:4:27:-;;;;;;;;;;;:::i;5965:1638::-;;;;6282:14;;6330:20;;;;938:15707:28;6470:9:27;6469:21;6482:2;6470:9;938:15707:28;;;;;6469:21:27;1412:5;6508:31;;;938:15707:28;;;;-1:-1:-1;6465:167:27;;938:15707:28;;6724:703:27;;5965:1638;7490:9;;;7538:48;7490:9;;1658:4;;7502:15;;;938:15707:28;;7538:48:27;;:::i;6724:703::-;1412:5;6778:52;1412:5;;6848:8;1412:5;;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;6778:52;:::i;6848:8::-;6844:573;;6724:703;;;;;6844:573;6964:25;6898:41;;:::i;:::-;6488:2;938:15707:28;6964:25:27;;;;;;;;;;:::i;6465:167::-;6488:2;938:15707:28;-1:-1:-1;;;6587:30:27;;;;;;;1412:5;;6282:14;938:15707:28;;1412:5:27;;;;;;;;;938:15707:28;1412:5:27;938:15707:28;;;1412:5:27;;;;938:15707:28;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;-1:-1:-1;938:15707:28;;;;-1:-1:-1;938:15707:28;;;;-1:-1:-1;938:15707:28;;;;-1:-1:-1;938:15707:28;;;;-1:-1:-1;938:15707:28;;;;-1:-1:-1;938:15707:28;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;938:15707:28;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;-1:-1:-1;938:15707:28;;:::o;:::-;;;;;;;;;;;;;;;:::o;14481:400::-;14634:33;;;:::i;:::-;14683:13;14695:1;14698:14;;;;;;14860;;;14481:400;:::o;14714:3::-;14782:6;;;;;:::i;:::-;938:15707;;14695:1;938:15707;;;;;;:::i;:::-;;;;:::i;:::-;;637:66:16;3326:69:20;1444:93:16;;938:15707:28;3555:68:20;;637:66:16;3555:68:20;938:15707:28;;:::i;:::-;13743:2;;;;:::i;:::-;13867:40;;;;;:::i;:::-;3185:1327:27;;;;3441:9;3509:20;;;;;938:15707:28;3602:15:27;;3509:20;3602:15;;;;:::i;:::-;14695:1:28;3697:160:27;;;;;14714:3:28;938:15707;;-1:-1:-1;;;3874:51:27;3887:38;;4029:17;;3974:74;4029:17;-1:-1:-1;;;4029:17:27;938:15707:28;4105:53:27;4029:17;;;938:15707:28;;;;3974:74:27;;;;;;938:15707:28;3974:74:27;;;938:15707:28;;;;;;:::i;4105:53:27:-;4066:92;;3870:626;14227:15:28;3509:20:27;14227:15:28;;938:15707;;;;:::i;:::-;;;;14198:270;;938:15707;;14198:270;;938:15707;14198:270;;;938:15707;14227:15;14198:270;;938:15707;14198:270;;;938:15707;-1:-1:-1;14198:270:28;;;938:15707;14198:270;;;938:15707;1246:1:16;;:::i;:::-;14820:19:28;;;;:::i;:::-;;;;;;:::i;:::-;;938:15707;14683:13;;3870:626:27;4337:48;938:15707:28;;;;;;;;:::i;4337:48:27:-;4298:87;;3870:626;;3697:160;-1:-1:-1;3697:160:27;;;;938:15707:28;-1:-1:-1;;938:15707:28;;;;;;;;:::o;:::-;-1:-1:-1;;938:15707:28;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;938:15707:28;;;;:::o;:::-;;;:::o;:::-;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;2113:300:27;2315:91;2113:300;2244:54;;;:::i;:::-;2907:20;;:::i;:::-;938:15707:28;2162:233:3;938:15707:28;;;;;;:::i;:::-;1707:12:3;;;938:15707:28;;1752:25:3;;;;2162:233;1752:82;;;1867:31;1882:15;;;;;;:::i;:::-;1867:31;;:::i;:::-;1935:23;;;;938:15707:28;1997:25:3;;;938:15707:28;2050:14:3;2105:39;2120:23;2050:14;;;938:15707:28;2120:23:3;;;;;;:::i;2105:39::-;938:15707:28;;;2162:233:3;;;1707:12;2162:233;;;;938:15707:28;;;;;;;;;;;;-1:-1:-1;;;;;938:15707:28;;;;1065:197:3;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2162:233:3;;938:15707:28;;2162:233:3;;;;;;:::i;:::-;938:15707:28;4988:47:3;;2315:91:27;3993:249:22;3874:374;3993:249;;;;;;;;;;;;;;;3874:374;;1752:82:3;1818:15;2162:233;1818:15;;;;;;:::i;:::-;3287:193:0;;1818:15:3;3287:193:0;;;;;1752:82:3;;;938:15707:28;;;;;;;:::i;:::-;-1:-1:-1;938:15707:28;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;938:15707:28;;-1:-1:-1;938:15707:28;;;;-1:-1:-1;938:15707:28;;;;-1:-1:-1;938:15707:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;-1:-1:-1;938:15707:28;;;;:::i;:::-;;;;;;;:::o;5172:427::-;938:15707;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;938:15707:28;;;:::i;:::-;;-1:-1:-1;938:15707:28;;;;;;5407:13;;-1:-1:-1;5422:18:28;;;;;;5578:14;;;5172:427;:::o;5442:3::-;5513:10;5494:30;5513:10;938:15707;5513:10;;;;:::i;5494:30::-;5538:19;;;;:::i;:::-;;;;;;:::i;:::-;;938:15707;5407:13;;938:15707;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;17030:60:27;938:15707:28;;26747:3:27;938:15707:28;;;;;;26747:3:27;938:15707:28;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;12934:15;938:15707;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;12493:945::-;;12821:13;12493:945;;;;;;;938:15707;;:::i;12821:13::-;-1:-1:-1;;;;;12934:15:28;;;;:::i;:::-;13121:40;12976:19;;;938:15707;;;;;:::i;:::-;;;:::i;:::-;13108:2;;;;:::i;:::-;13121:40;:::i;:::-;938:15707;;;;13176:20;13172:98;;13287:144;;;:::i;13172:98::-;13246:12;;;;;;;:::i;:::-;938:15707;;;;;;:::i;:::-;-1:-1:-1;938:15707:28;;-1:-1:-1;12976:19:28;13219:40;;938:15707;;13219:40;;938:15707;13212:47;:::o;2570:179:2:-;2712:30;938:15707:28;-1:-1:-1;;;;;2660:37:2;2687:9;2660:37;-1:-1:-1;;;;;938:15707:28;1706:8:2;938:15707:28;1706:8:2;938:15707:28;;;1706:8:2;938:15707:28;;;;;;;;1558:305:2;;2660:37;938:15707:28;;;;;;;2712:30:2;;2570:179::o;938:15707:28:-;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;2503:2;938:15707;;;;2503:2;938:15707;:::o;:::-;;;;;;1129:2:26;938:15707:28;;;;;;;1129:2:26;938:15707:28;;-1:-1:-1;;938:15707:28;;:::o;:::-;;;;;;486:2:3;938:15707:28;;;;;;;486:2:3;938:15707:28;;-1:-1:-1;;938:15707:28;;:::o;:::-;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;-1:-1:-1;938:15707:28:o;:::-;;;;;;;:::i;:::-;2985:14;938:15707;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;1694:1621::-;938:15707;;:::i;:::-;;;;:::i;:::-;1875:6;;;;:::i;:::-;2028:47;;;;:::i;:::-;2086:98;;;;;;;;:::i;:::-;2228:42;1412:5:27;2242:27:28;:17;;:27;1412:5:27;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;2228:42:28;:::i;:::-;2324:17;2437:15;2310:39;2324:24;:17;;-1:-1:-1;;;;;1412:5:27;;938:15707:28;1412:5:27;;2310:39:28;938:15707;;;:::i;:::-;;2437:15;;;;;:::i;:::-;2484:69;2503:2;2484:21;;2503:2;;2516:23;2524:14;2581:22;2524:14;2508:32;2524:14;;:::i;:::-;2516:23;;:::i;:::-;938:15707;;;;2581:22;938:15707;-1:-1:-1;;;;;938:15707:28;;2742:18;;;;938:15707;2774:17;2896:23;2437:15;2774:17;;938:15707;2896:23;;938:15707;;;;:::i;:::-;;;;2718:212;;;938:15707;2437:15;2718:212;;938:15707;2896:23;2718:212;;938:15707;2742:18;2718:212;;938:15707;;;:::i;:::-;3013:45;;;;:93;;;2484:69;3009:199;;2484:69;938:15707;;;:::i;:::-;;;;2718:212;3224:84;;938:15707;2437:15;3224:84;;938:15707;2896:23;3224:84;;938:15707;2742:18;3224:84;;938:15707;1694:1621;:::o;3009:199::-;3171:25;;;;;;:::i;:::-;3139:58;938:15707;;:::i;:::-;-1:-1:-1;;;;;938:15707:28;;;;;;3139:58;2718:212;3139:58;;938:15707;3009:199;;;;3013:93;3062:44;2070:4;3062:44;;;3013:93;;2484:69;;;2581:22;-1:-1:-1;2581:22:28;:::i;938:15707::-;;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;17030:60:27;22388:2426;;;;12934:15:28;22747:9:27;;22796:17;;;22851:7;;;;;:::i;:::-;23063;32217:67;;23016:21;;;:::i;:::-;22993:20;;;938:15707:28;32500:66:27;;32438:134;23063:7;32217:67;23266:28;;938:15707:28;23327:26:27;23561:89;12934:15:28;938:15707;23327:26:27;;;;938:15707:28;23327:49:27;23379:20;;;938:15707:28;23327:72:27;23414:37;;;938:15707:28;23327:124:27;23454:31;;;938:15707:28;23327:158:27;23488:20;;;938:15707:28;23327:181:27;23523:28;;;938:15707:28;23327:224:27;23569:33;;23561:89;:::i;:::-;23799:108;23687:28;;9470:20;9253:28;;;938:15707:28;9284:20:27;;;938:15707:28;;9323:37:27;;;938:15707:28;;9363:31:27;;;938:15707:28;;9397:26:27;;;938:15707:28;;9470:20:27;;938:15707:28;;9083:424:27;;23687:28;23725:17;32217:67;23725:17;;938:15707:28;3403:38:3;23414:37:27;3417:23:3;;938:15707:28;430:2:3;;;;3403:38;23799:108:27;;;12934:15:28;23799:108:27;:::i;:::-;1412:5;23918:112;12934:15:28;23926:54:27;1412:5;;;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;22993:20;23966:13;;938:15707:28;23926:54:27;;:::i;:::-;23918:112;:::i;:::-;24078:9;1658:4;;24069:41;24065:138;;23379:20;24276:9;-1:-1:-1;;;;;1412:5:27;24299:17;24276:9;24299:17;;1412:5;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;938:15707:28;24299:31:27;;:62;;;22388:2426;24295:248;;22388:2426;23414:37;24601:9;;24584:40;24585:32;24586:24;23454:31;24601:9;;24586:24;;:::i;24584:40::-;24658:23;23379:20;24658:23;;938:15707:28;24760:9:27;1658:4;;24772:25;;938:15707:28;;24730:18:27;;938:15707:28;22388:2426:27:o;24295:248::-;24487:44;;24586:24;24487:44;;;23454:31;23414:37;24487:44;;;;:::i;:::-;;24584:40;24585:32;16105:1016;;;12934:15:28;16105:1016:27;:::i;:::-;24377:155;;24295:248;;;;;;;;;;;24299:62;;13156:4:28;24299:62:27;;24065:138;32217:67;938:15707:28;-1:-1:-1;;;24137:51:27;;;;12934:15:28;24137:51:27;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;22388:2426:27;;;;;938:15707:28;22747:9:27;;22796:17;;22851:7;;;;:::i;:::-;23063;32217:67;;23016:21;;;:::i;:::-;22993:20;;;938:15707:28;32500:66:27;;32438:134;23063:7;32217:67;23266:28;;938:15707:28;23327:26:27;23561:89;23327:26;938:15707:28;23327:26:27;;;;938:15707:28;23327:49:27;23379:20;;;938:15707:28;23327:72:27;23414:37;;;938:15707:28;23327:124:27;23454:31;;;938:15707:28;23327:158:27;23488:20;;;938:15707:28;23327:181:27;23523:28;;;938:15707:28;23327:224:27;23569:33;;23561:89;:::i;:::-;23799:108;23687:28;;9470:20;9253:28;;;938:15707:28;9284:20:27;;;938:15707:28;;9323:37:27;;;938:15707:28;;9363:31:27;;;938:15707:28;;9397:26:27;;;938:15707:28;;9470:20:27;;938:15707:28;;9083:424:27;;23687:28;23725:17;32217:67;23725:17;;938:15707:28;3403:38:3;23414:37:27;3417:23:3;;938:15707:28;430:2:3;;;;3403:38;23799:108:27;;;;;:::i;:::-;1412:5;23918:112;1412:5;23926:54;1412:5;;;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;22993:20;23966:13;;938:15707:28;23926:54:27;;:::i;23918:112::-;24078:9;1658:4;;24069:41;24065:138;;23379:20;24276:9;-1:-1:-1;;;;;1412:5:27;24299:17;24276:9;24299:17;;1412:5;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;938:15707:28;24299:31:27;;:62;;;;22388:2426;24295:248;;;22388:2426;24601:9;23414:37;24601:9;;24584:40;24585:32;24586:24;23454:31;24601:9;;24586:24;;:::i;24295:248::-;24586:24;24487:44;;23454:31;24487:44;;;;24584:40;24585:32;16105:1016;24487:44;;;;;23414:37;24487:44;;:::i;:::-;;16105:1016;:::i;:::-;24377:155;;24295:248;;;;;;;;;;24299:62;;;;;;938:15707:28;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;;;;;;;-1:-1:-1;;938:15707:28;;;;:::o;:::-;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;;;;;;;;;;;;;:::o;6328:742::-;;;938:15707;6455:19;-1:-1:-1;;;;;938:15707:28;;;6494:83;;;;;;;938:15707;;;;;;6494:83;;;;;;938:15707;6494:83;;-1:-1:-1;;;;;6554:12:28;938:15707;6494:83;;;;:::i;:::-;;;;;;;;6328:742;-1:-1:-1;6490:574:28;;6589:475;;;;:::i;:::-;938:15707;6494:83;938:15707;;6635:17;6631:164;;6835:28;6845:17;938:15707;;6845:17;:::i;:::-;6835:28;:::i;:::-;6494:83;6916:3;938:15707;;6897:17;;;;;6959:9;;;938:15707;6959:9;;;:::i;:::-;938:15707;;;;;6959:9;6939:29;6950:5;;;:::i;:::-;6939:29;938:15707;6939:29;;;;:::i;:::-;;938:15707;6882:13;;6897:17;;7016:37;6897:17;;;7016:37;938:15707;;;7016:37;;;;;;:::i;6631:164::-;6767:12;;;;:::i;:::-;938:15707;;6752:28::o;6494:83::-;;;938:15707;6494:83;;;:::i;:::-;;;:::i;:::-;;;;1277:65:2;1324:10;;;:::i;486:2:3:-;;;;:::o;:::-;;938:15707:28;;-1:-1:-1;;;486:2:3;;;;;;;;;;;938:15707:28;486:2:3;938:15707:28;;;486:2:3;;;;;;:::o;:::-;;938:15707:28;;-1:-1:-1;;;486:2:3;;;;;;;;;;;938:15707:28;486:2:3;938:15707:28;;;486:2:3;;7793:1086:27;8351:23;7793:1086;7948:30;7965:13;;;:::i;:::-;-1:-1:-1;;;;;938:15707:28;;;;7948:30:27;8004:12;;;938:15707:28;8004:12:27;7988:13;;938:15707:28;8081:53:27;8110:23;;;938:15707:28;2408:176:3;430:2;;;;;;2408:176;;8081:53:27;8057:20;;;938:15707:28;8027:28:27;;;938:15707:28;8173:25:27;;;938:15707:28;8144:26:27;;;938:15707:28;8263:44:27;8144:26;8292:14;;938:15707:28;2408:176:3;430:2;;;;;;2408:176;;8263:44:27;8239:20;;;938:15707:28;8209:28:27;;;938:15707:28;8351:23:27;;;;;:::i;:::-;8388:27;;;;8384:489;;7793:1086;;;:::o;8384:489::-;8685:62;8439:65;8833:29;8439:65;8431:107;486:2:3;8351:23:27;8439:65;;;8431:107;:::i;:::-;8685:62;:::i;:::-;8173:25;8634:31;;938:15707:28;8110:23:27;8595:37;;938:15707:28;8634:31:27;8761:58;-1:-1:-1;;;;;938:15707:28;;8769:23:27;;8761:58;:::i;:::-;8833:17;938:15707:28;-1:-1:-1;;;;;938:15707:28;;;;11919:1091:27;;;12692:83;11919:1091;12246:14;;1412:5;-1:-1:-1;;;;;12404:17:27;1412:5;;;938:15707:28;12358:11:27;;;;;;;;:::i;:::-;;;-1:-1:-1;12358:11:27;:::i;:::-;12404:17;1412:5;938:15707:28;12435:31:27;-1:-1:-1;12484:23:27;;12480:182;;;;11919:1091;-1:-1:-1;12692:83:27;:::i;:::-;12789:205;;;11919:1091;:::o;12789:205::-;-1:-1:-1;12841:45:27;;;:::i;:::-;12840:46;12836:144;;11919:1091::o;12836:144::-;12358:11;938:15707:28;-1:-1:-1;;;12917:44:27;;;;-1:-1:-1;12917:44:27;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;12480:182:27;1239:17:2;;;;-1:-1:-1;;;;;938:15707:28;2885:8:2;938:15707:28;2885:8:2;938:15707:28;;;2885:8:2;938:15707:28;;;1239:17:2;938:15707:28;12598:21:27;;;;:49;-1:-1:-1;12598:49:27;12480:182;;;12598:49;-1:-1:-1;1658:4:27;12598:49;;11919:1091;;;;;12692:83;11919:1091;12246:14;;1412:5;-1:-1:-1;;;;;12404:17:27;1412:5;;;938:15707:28;12358:11:27;;;;;;;;:::i;:::-;;;;;:::i;:::-;12404:17;1412:5;938:15707:28;12435:31:27;-1:-1:-1;12484:23:27;;12480:182;;;;11919:1091;12692:83;;:::i;:::-;12789:205;;;11919:1091;;;:::o;12789:205::-;12841:45;;;:::i;:::-;12840:46;12836:144;;11919:1091;:::o;12836:144::-;12358:11;938:15707:28;;-1:-1:-1;;;12917:44:27;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;17030:60:27;12480:182;1239:17:2;;;;-1:-1:-1;;;;;938:15707:28;2885:8:2;938:15707:28;2885:8:2;938:15707:28;;;2885:8:2;938:15707:28;;;1239:17:2;938:15707:28;12598:21:27;;;;;;:49;-1:-1:-1;12598:49:27;12480:182;;;12598:49;1658:4;;12598:49;;7076:602:28;;7270:1;7299:3;7273:24;;;;;;938:15707;;:::i;:::-;;;;;;;;;;;;;;;;;;;;7472:51;938:15707;;;;7450:7;;;;;;:::i;:::-;7495;;;;:::i;7472:51::-;7542:11;;;;;;:25;:11;;;:::i;:::-;-1:-1:-1;;;;;938:15707:28;;;7542:25;;7538:72;;7270:1;7624:11;;7641:19;7624:11;;;;:::i;:::-;7641:19;;;;;;:::i;:::-;938:15707;;;7641:19;938:15707;;;;;;:::i;:::-;7624:37;;;;;;;:::i;:::-;;7258:13;938:15707;7258:13;;7538:72;7587:8;;;;7273:24;;;;;7076:602::o;15173:332::-;15311:84;15173:332;15339:15;;;;;;:::i;:::-;938:15707;15371:23;938:15707;;;;;;:::i;:::-;15371:23;;;;;:::i;:::-;15311:84;;;;:::i;:::-;938:15707;;15405:94;;15173:332;:::o;15405:94::-;938:15707;;15339:15;938:15707;15463:25;;;-1:-1:-1;;;15463:25:28;;-1:-1:-1;15463:25:28;;;938:15707;15339:15;938:15707;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;7684:2525::-;;;;;938:15707;;:::i;:::-;-1:-1:-1;8063:17:28;;;;8327:57;938:15707;;;:::i;:::-;;8271:9;-1:-1:-1;8224:57:28;8271:9;8224:57;10904:46;8224:57;:::i;:::-;8374:9;938:15707;;;8327:57;;;;;-1:-1:-1;;;8327:57:28;;;;;;;:::i;:::-;;:12;;-1:-1:-1;;;;;8327:12:28;938:15707;8327:57;;;;;;;-1:-1:-1;;;8327:57:28;;;8059:1101;8295:89;;;;8464:14;;;8460:108;;8059:1101;;9187:21;8059:1101;;;;;;;;9187:21;;:::i;:::-;9218:27;-1:-1:-1;;;;;9678:12:28;938:15707;9256:872;;9264:15;;;;;:::i;:::-;9263:35;;;9368:9;9380:14;;;:::i;:::-;-1:-1:-1;9364:118:28;;9514:15;;;;;;;;-1:-1:-1;9514:15:28;;9572:54;9513:21;9514:15;;9678:57;9514:15;;:::i;:::-;938:15707;;;;9513:21;9572:54;;10904:46;9572:54;:::i;:::-;9725:9;;938:15707;;;9678:57;;;;;;;-1:-1:-1;;;9678:57:28;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;9678:57:28;;;9256:872;-1:-1:-1;9750:368:28;;;9877:19;;;9923:10;9877:19;9923:10;:::i;:::-;9951:21;9750:368;;9256:872;;;;;;;;9750:368;10093:10;;;;;;;;;:::i;:::-;9750:368;;;9678:57;;;;;;;;;-1:-1:-1;9678:57:28;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;9364:118;9421:46;-1:-1:-1;9421:46:28;9678:57;938:15707;;;;;;;;;;;;-1:-1:-1;9421:46:28;9263:35;;;;;;;;;;10145:57;9263:35;;938:15707;;:::i;:::-;;;;;;10145:57;;;938:15707;;10145:57;938:15707;10145:57;;938:15707;7684:2525;:::o;8460:108::-;938:15707;;;;;;;;;;8505:48;938:15707;;:::i;:::-;-1:-1:-1;938:15707:28;;;;;8505:48;;;938:15707;;8327:57;;;;;;;;;;-1:-1:-1;8327:57:28;;;;;;:::i;:::-;;;;;;;;8059:1101;8713:9;8862:57;8713:9;;;8806;-1:-1:-1;8759:57:28;8806:9;8759:57;10904:46;8759:57;:::i;8862:::-;;:12;;-1:-1:-1;;;;;8862:12:28;938:15707;8862:57;;;;;;;-1:-1:-1;;;8862:57:28;;;8059:1101;8830:89;;;8942:24;8830:89;8957:9;;8942:24;;:::i;:::-;9046:14;;;9042:108;;8059:1101;;9187:21;8059:1101;;;;;;;;;8862:57;;;;;;;;;;-1:-1:-1;8862:57:28;;;;;;:::i;:::-;;;;;;;;7684:2525;;;;;938:15707;;:::i;:::-;-1:-1:-1;8063:17:28;;;;8327:57;938:15707;;;:::i;:::-;;8271:9;-1:-1:-1;8224:57:28;8271:9;8224:57;11594:37;8224:57;:::i;8327:::-;;:12;;-1:-1:-1;;;;;8327:12:28;938:15707;8327:57;;;;;;;-1:-1:-1;;;8327:57:28;;;8059:1101;8295:89;;;;8464:14;;;8460:108;;8059:1101;;9187:21;8059:1101;;;;;;;9187:21;;:::i;:::-;9218:27;-1:-1:-1;;;;;9678:12:28;938:15707;9256:872;;9264:15;;;;;:::i;:::-;9263:35;;;9368:9;9380:14;;;:::i;:::-;-1:-1:-1;9364:118:28;;9514:15;;;;;;;;-1:-1:-1;9514:15:28;;9572:54;9513:21;9514:15;;9678:57;9514:15;;:::i;9513:21::-;9572:54;;11594:37;9572:54;:::i;9678:57::-;;;;;;;;;;-1:-1:-1;;;9678:57:28;;;9256:872;-1:-1:-1;9750:368:28;;;9877:19;;;9923:10;9877:19;9923:10;:::i;:::-;9951:21;9750:368;;9256:872;;;;;;;;9750:368;10093:10;;;;;;;;;:::i;:::-;9750:368;;;9678:57;;;;;;;;;-1:-1:-1;9678:57:28;;;;;;:::i;:::-;;;;;;8327;;;;;;;;;;-1:-1:-1;8327:57:28;;;;;;:::i;:::-;;;;;;;;8059:1101;8713:9;8862:57;8713:9;;;8806;-1:-1:-1;8759:57:28;8806:9;8759:57;11594:37;8759:57;:::i;8862:::-;;:12;;-1:-1:-1;;;;;8862:12:28;938:15707;8862:57;;;;;;;-1:-1:-1;;;8862:57:28;;;8059:1101;8830:89;;;8942:24;8830:89;8957:9;;8942:24;;:::i;:::-;9046:14;;;9042:108;;8059:1101;;9187:21;8059:1101;;;;;;;;;8862:57;;;;;;;;;;-1:-1:-1;8862:57:28;;;;;;:::i;:::-;;;;;;;;7684:2525;;;;;938:15707;;:::i;:::-;-1:-1:-1;8063:17:28;;;;8327:57;938:15707;;;:::i;:::-;;8271:9;-1:-1:-1;8224:57:28;8271:9;8224:57;13156:4;8224:57;:::i;8327:::-;;:12;;-1:-1:-1;;;;;8327:12:28;938:15707;8327:57;;;;;;;-1:-1:-1;;;8327:57:28;;;8059:1101;8295:89;;;;8464:14;;;8460:108;;8059:1101;;9187:21;8059:1101;;;;;;;9187:21;;:::i;:::-;9218:27;-1:-1:-1;;;;;9678:12:28;938:15707;9256:872;;9264:15;;;;;:::i;:::-;9263:35;;;9368:9;9380:14;;;:::i;:::-;-1:-1:-1;9364:118:28;;9514:15;;;;;;;;-1:-1:-1;9514:15:28;;9572:54;9513:21;9514:15;;9678:57;9514:15;;:::i;9513:21::-;9572:54;;13156:4;9572:54;:::i;9678:57::-;;;;;;;;;;-1:-1:-1;;;9678:57:28;;;9256:872;-1:-1:-1;9750:368:28;;;9877:19;;;9923:10;9877:19;9923:10;:::i;:::-;9951:21;9750:368;;9256:872;;;;;;;;9750:368;10093:10;;;;;;;;;:::i;:::-;9750:368;;;9678:57;;;;;;;;;-1:-1:-1;9678:57:28;;;;;;:::i;:::-;;;;;;8327;;;;;;;;;;-1:-1:-1;8327:57:28;;;;;;:::i;:::-;;;;;;;;8059:1101;8713:9;8862:57;8713:9;;;8806;-1:-1:-1;8759:57:28;8806:9;8759:57;13156:4;8759:57;:::i;8862:::-;;:12;;-1:-1:-1;;;;;8862:12:28;938:15707;8862:57;;;;;;;-1:-1:-1;;;8862:57:28;;;8059:1101;8830:89;;;8942:24;8830:89;8957:9;;8942:24;;:::i;:::-;9046:14;;;9042:108;;8059:1101;;9187:21;8059:1101;;;;;;;;;8862:57;;;;;;;;;;-1:-1:-1;8862:57:28;;;;;;:::i;:::-;;;;;;;;213:279:13;;6282:14:27;213:279:13;;;;368:118;;;;;;;213:279;:::o;1176:508::-;1273:405;1658:4:27;1273:405:13;;;;1176:508;1273:405;;;;;;;;;;;;;;;;;;1176:508;:::o;1273:405::-;;1658:4:27;1273:405:13;;938:15707:28;-1:-1:-1;;;938:15707:28;;;;;;;;;;-1:-1:-1;938:15707:28;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;27474:3157:27:-;;;6282:14;27740:9;;27783:21;27848:14;;27895:27;;;;:::i;:::-;27957:17;1412:5;27957:17;;;1412:5;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;28107:15;28269:60;28107:15;;;938:15707:28;1658:4:27;;28308:20;;;938:15707:28;28269:60:27;;:::i;:::-;938:15707:28;;6282:14:27;;-1:-1:-1;;;;;938:15707:28;;;28405:23:27;938:15707:28;;1412:5:27;;;;;29948:14;1412:5;;;;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;28401:1396;;29832:9;1658:4;;938:15707:28;;;29948:14:27;;938:15707:28;29980:23:27;;;;29976:626;29980:23;;;938:15707:28;6282:14:27;938:15707:28;:::i;:::-;30213:146:27;30023:354;30213:146;;30023:354;30213:146;29976:626;1658:4;30473:40;1658:4;;30473:40;-1:-1:-1;;;;;938:15707:28;1706:8:2;938:15707:28;1706:8:2;938:15707:28;;;1706:8:2;938:15707:28;;;;;;;;1558:305:2;;30473:40:27;;938:15707:28;6282:14:27;938:15707:28;:::i;28401:1396:27:-;28517:25;;938:15707:28;;28560:1223:27;;28401:1396;;;;;29948:14;28401:1396;;;;;28560:1223;28687:9;;;;;;;;938:15707:28;;6282:14:27;938:15707:28;:::i;:::-;28890:31:27;28817:9;28890:31;;938:15707:28;;;28856:160:27;;;;;;938:15707:28;;;6282:14:27;938:15707:28;;;28856:160:27;938:15707:28;;28856:160:27;;;;;;;938:15707:28;28856:160:27;;938:15707:28;28856:160:27;;;;;;:::i;:::-;;;;;;;;28560:1223;-1:-1:-1;28852:451:27;;29254:22;29176:41;;:::i;:::-;938:15707:28;;29254:22:27;;;;;;28856:160;29254:22;;;:::i;28852:451::-;29948:14;28852:451;29696:68;28852:451;29369:9;1658:4;;29640:9;;1658:4;;938:15707:28;;29696:68:27;;:::i;:::-;28560:1223;;;;;;;28856:160;;;6282:14;28856:160;;;:::i;:::-;;;;3945:262:21;-1:-1:-1;;;;;4038:11:21;938:15707:28;4029:4:21;4021:28;:63;;;3945:262;4017:184;;;4107:22;4100:29;:::o;4017:184::-;938:15707:28;;4304:80:21;;;938:15707:28;2079:95:21;938:15707:28;;4326:11:21;938:15707:28;2079:95:21;;938:15707:28;4339:14:21;2079:95;;;938:15707:28;4355:13:21;2079:95;;;938:15707:28;4029:4:21;2079:95;;;938:15707:28;2079:95:21;4304:80;;;;;;:::i;:::-;938:15707:28;4294:91:21;;4160:30;:::o;4021:63::-;4070:14;;4053:13;:31;4021:63;;16105:1016:27;;;;16412:9;16465:14;;;16603:48;-1:-1:-1;;;;;16513:17:27;;;1412:5;938:15707:28;16570:14:27;;;938:15707:28;16603:48:27;;:::i;:::-;16602:49;16598:146;;16790:37;;16869:73;16790:37;;938:15707:28;16869:73:27;;;;;:::i;:::-;16841:101;;16969:9;;1658:4;;16960:43;16956:149;;16105:1016;:::o;16598:146::-;16678:51;938:15707:28;16570:14:27;938:15707:28;16678:51:27;-1:-1:-1;;;16678:51:27;;;;;938:15707:28;16570:14:27;938:15707:28;;;;;;;;;;;;;;16678:51:27;938:15707:28;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;;:::o;795:503:26:-;941:15;;;;;;:::i;:::-;971:28;;970:29;971:28;;;;:::i;970:29::-;966:68;;1082:13;1062:34;1082:13;;:::i;:::-;1062:34;:::i;:::-;1110:21;1129:2;1110:21;;1129:2;;938:15707:28;;941:15:26;938:15707:28;1164:26:26;;;;;;;;938:15707:28;;;;;;;;;;;;;1106:186:26;1266:13;1239:41;1266:13;;;;:::i;:::-;938:15707:28;;1239:41:26;941:15;938:15707:28;1239:41:26;;;;;;;;;:::i;966:68::-;1015:8;;;938:15707:28;1015:8:26;:::o;968:234:1:-;-1:-1:-1;;;;;938:15707:28;-1:-1:-1;938:15707:28;1154:19:1;938:15707:28;;;1154:32:1;938:15707:28;1098:2:1;938:15707:28;1098:2:1;-1:-1:-1;938:15707:28;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;1154:32:1;938:15707:28;;;1154:34:1;;;;:::i;:::-;938:15707:28;;;1154:41:1;968:234;:::o;1673:105:16:-;-1:-1:-1;637:66:16;3555:68:20;1673:105:16:o;938:15707:28:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;19765:1109:27:-;20033:34;-1:-1:-1;;;;;19765:1109:27;20033:34;:::i;:::-;938:15707:28;;20077:111:27;;20197:96;;20595:43;-1:-1:-1;;;;;20595:43:27;;:::i;:::-;938:15707:28;;20648:105:27;;20762:106;;19765:1109::o;20762:106::-;938:15707:28;;-1:-1:-1;;;20803:54:27;;;;-1:-1:-1;20803:54:27;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;20648:105:27;938:15707:28;;-1:-1:-1;;;20701:41:27;;;;-1:-1:-1;20701:41:27;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;20197:96:27;938:15707:28;;-1:-1:-1;;;20238:44:27;;;;-1:-1:-1;20238:44:27;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;20077:111:27;938:15707:28;;-1:-1:-1;;;20136:41:27;;;;-1:-1:-1;20136:41:27;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;854:262:2;;-1:-1:-1;;;;;938:15707:28;;:::i;:::-;;;995:8:2;938:15707:28;995:8:2;938:15707:28;;;1032:17:2;938:15707:28;995:8:2;938:15707:28;1032:17:2;938:15707:28;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;1059:20:2;;938:15707:28;854:262:2:o;3622:246:3:-;3773:23;3622:246;3773:23;;;;;:::i;:::-;430:2;938:15707:28;;;368:2:3;938:15707:28;430:2:3;;;;3622:246::o;4101:507::-;;;938:15707:28;368:2:3;938:15707:28;;;;;;;430:2:3;938:15707:28;;;368:2:3;938:15707:28;;430:2:3;;486;938:15707:28;;;;;;;;;430:2:3;;;;;;938:15707:28;430:2:3;;;;4101:507::o;938:15707:28:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;9761:1671:27:-;;;;9911:20;9907:1519;;9761:1671;;;;;:::o;9907:1519::-;9964:14;;1412:5;-1:-1:-1;;;;;938:15707:28;10003:43:27;;;;;:::i;:::-;9999:495;;10511:18;;10507:121;;10663:2;10645:20;;10641:110;;9930:1;10782:80;:28;:15;;:::i;:28::-;10816:35;:14;;:35;938:15707:28;10816:35:27;938:15707:28;10782:80:27;;;;938:15707:28;10782:80:27;;;;;;;;;;:::i;:::-;;;;;;;;;9930:1;10782:80;;;9907:1519;938:15707:28;-1:-1:-1;;;;;938:15707:28;;10880:21:27;;;10876:115;;-1:-1:-1;;;;;938:15707:28;11008:17:27;;;11004:116;;11137:19;:24;11133:123;;11303:14;11295:23;11303:14;11338:77;11303:14;11287:32;11303:14;;:::i;11287:32::-;10782:80;11354:17;;;938:15707:28;11390:14:27;;938:15707:28;11390:24:27;1412:5;10816:35;938:15707:28;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;;;10816:35:27;11338:77;9907:1519;;;;;;11133:123;10816:35;938:15707:28;;-1:-1:-1;;;11188:53:27;;10782:80;11188:53;;938:15707:28;;;;;;;;;;;;;;;;;;;;17030:60:27;11004:116;11052:53;938:15707:28;10816:35:27;938:15707:28;11052:53:27;;;-1:-1:-1;;;11052:53:27;;10782:80;11052:53;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;10876:115:27;10928:48;938:15707:28;10816:35:27;938:15707:28;10928:48:27;;;-1:-1:-1;;;10928:48:27;;10782:80;10928:48;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;10782:80:27;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;10641:110;938:15707:28;;;-1:-1:-1;;;10692:44:27;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;17030:60:27;10507:121;938:15707:28;;;-1:-1:-1;;;10561:52:27;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;17030:60:27;9999:495;10070:20;;10088:2;10070:20;;10066:390;;10473:7;;;;:::o;10066:390::-;10339:15;10423:13;10339:15;10378:35;10339:33;:15;;:::i;:33::-;10378:14;;:35;938:15707:28;10423:13:27;;:::i;:::-;10339:98;;;;;;;9930:1;938:15707:28;;10339:98:27;938:15707:28;10378:35:27;938:15707:28;10339:98:27;;;;;;;938:15707:28;10339:98:27;;;;;;:::i;:::-;;;;;;;;;;10066:390;;;;;;10339:98;;;9930:1;10339:98;;;:::i;:::-;;;;938:15707:28;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14143:1270:27:-;;;14680:17;14143:1270;;;;14635:85;14479:14;14143:1270;14635:85;14479:21;:14;;-1:-1:-1;;;;;1412:5:27;;938:15707:28;1412:5:27;;14479:21;14510:12;32217:67;;14680:17;;;;938:15707:28;14635:85:27;;;;;;;;;;;:::i;:::-;;938:15707:28;;14635:85:27;;;;;;:::i;:::-;14734:326;;;;;;14479:14;14734:326;;14680:17;14734:326;;;;14143:1270;32500:66;;15125:8;15121:286;;14143:1270;;:::o;15121:286::-;15153:18;;;32217:67;938:15707:28;;-1:-1:-1;;;15203:46:27;;14635:85;15203:46;;938:15707:28;;;;;;;;;;;;;;;;;;;;17030:60:27;15149:248;15340:41;;:::i;:::-;938:15707:28;15295:87:27;32217:67;938:15707:28;15295:87:27;;;-1:-1:-1;;;15295:87:27;;14635:85;15295:87;;;:::i;14734:326::-;14479:14;;-1:-1:-1;14734:326:27;;2134:396:2;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;2367:23:2;;;2363:74;;1658:4:27;938:15707:28;;2509:4:2;2134:396;:::o;15902:741:28:-;;;;;16093:20;:47;;;;15902:741;16089:183;;;16312:2;16285:29;;;16281:310;;15902:741;938:15707;;;;:::i;16281:310::-;16312:2;938:15707;;;;;;16408:21;:26;16404:177;;16281:310;;;;16404:177;938:15707;;;;;;:::i;:::-;;;;;;;;;16528:38;:::o;16089:183::-;938:15707;;;;;;;;:::i;:::-;;;;;;;;;16225:36;:::o;16093:47::-;16117:18;;;:23;16093:47;;;938:15707;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;-1:-1:-1;938:15707:28;;;:::o;:::-;;;;-1:-1:-1;;938:15707:28;;;;;;;;;;;;;430:2:3;938:15707:28;;;;430:2:3;938:15707:28;;;;;;;;;;;;;;;;-1:-1:-1;938:15707:28;;;:::o;:::-;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;938:15707:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;938:15707:28;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;:::o;:::-;;;;;-1:-1:-1;938:15707:28;;;;;;;;;;;;;;;;;:::i;3321:1845::-;938:15707;;:::i;:::-;3540:47;3572:15;;;;:::i;:::-;3540:47;:::i;:::-;938:15707;;;:::i;:::-;3610:46;3602:54;;3598:843;;938:15707;;;:::i;:::-;4463:37;4455:45;;4451:382;;938:15707;;;;4855:29;938:15707;;:::i;:::-;4847:37;4843:284;;938:15707;;-1:-1:-1;;;5137:22:28;;938:15707;5137:22;;;938:15707;;;;;;;;;;;;;17030:60:27;4843:284:28;4917:19;5028:88;938:15707;4980:27;4917:19;;5028:88;4917:19;;;:::i;:::-;4980:27;;;;;;:::i;:::-;938:15707;;;:::i;:::-;;4980:27;938:15707;5028:88;;;938:15707;4917:19;5028:88;;;;;;;:::i;4451:382::-;4539:15;;;430:2:3;4625:19:28;4539:36;:15;;4743:79;4539:15;;:::i;:::-;3585:23:3;;938:15707:28;430:2:3;;;3454:162;4539:36:28;4625:19;938:15707;;;;4625:19;430:2:3;;4624:45:28;4641:3;4684:19;;938:15707;4743:79;938:15707;;4743:79;;;938:15707;4743:79;;;;;;;;:::i;3598:843::-;3780:15;;;4352:78;3780:15;-1:-1:-1;;3780:15:28;4231:99;;3735:78;3780:32;:15;;4352:78;3780:15;;:::i;:32::-;3735:78;;:::i;:::-;3862:26;;;;938:15707;3906:19;3780:32;3906:19;;;486:2:3;3906:19:28;;938:15707;3906:67;3902:195;;3598:843;938:15707;;;;;;;;;;-1:-1:-1;;938:15707:28;;;;4231:99;;;;;:::i;:::-;;938:15707;;4231:99;;;;;;:::i;:::-;4193:137;938:15707;;4352:78;;;938:15707;4231:99;4352:78;;;;;;;:::i;3902:195::-;938:15707;4009:15;;;:32;:15;;:73;:15;;:::i;:32::-;:73;;;:::i;938:15707::-;3902:195;;;;30874:332:27;31085:28;31020:20;;;938:15707:28;31085:28:27;;938:15707:28;31175:13:27;938:15707:28;3696:5:0;;;:13;:5;;;:13;30874:332:27;:::o;3696:13:0:-;;;30874:332:27;:::o;32578:413::-;;1905:5;938:15707:28;;32713:43:27;;;32709:90;;32934:3;1658:4;1791:2;1658:4;;938:15707:28;;32578:413:27;:::o;32709:90::-;32776:8;;938:15707:28;32776:8:27;:::o;938:15707:28:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17127:2265:27:-;;-1:-1:-1;17127:2265:27;;;;;;32217:67;;17531:17;;1412:5;17596:24;17531:17;;;938:15707:28;17550:14:27;17475:91;17550:14;17475:91;32217:67;17550:14;;938:15707:28;17531:17:27;17475:91;;;;;;;;;;;;:::i;:::-;;938:15707:28;;;17475:91:27;;;;;;:::i;:::-;17596:14;:24;1412:5;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;17866:1229;;;;;;;;-1:-1:-1;17866:1229:27;;;;;;32217:67;17866:1229;;;;;19133:8;;938:15707:28;;;19133:31:27;;17127:2265;19133:72;;;;;17127:2265;19129:205;;;-1:-1:-1;938:15707:28;;;;-1:-1:-1;;938:15707:28;4020:413:0;;;938:15707:28:o;19129:205:27:-;19277:41;;:::i;:::-;938:15707:28;19232:87:27;32217:67;938:15707:28;19232:87:27;;;-1:-1:-1;;;19232:87:27;;17475:91;19232:87;;;:::i;19133:72::-;17866:1229;;19184:2;17866:1229;;;;938:15707:28;;19168:37:27;19133:72;;;:31;32217:67;19145:19;;;-1:-1:-1;19133:31:27;;;1611:551:26;;1725:1;-1:-1:-1;1703:62:26;;1914:95;-1:-1:-1;;938:15707:28;;2106:49:26;;1611:551::o;1703:62::-;1742:12;938:15707:28;1742:12:26;:::o;2471:661::-;2587:113;-1:-1:-1;2587:113:26;;;-1:-1:-1;2587:113:26;938:15707:28;;;;;2838:36:26;2834:241;;3107:16;3099:25;3107:16;3091:34;3107:16;938:15707:28;;;;3107:16:26;-1:-1:-1;;938:15707:28;;348:8:26;2834:241;2971:18;:22;348:8;;938:15707:28;;-1:-1:-1;;;3030:34:26;;348:8;3030:34;;;348:8;;;;;938:15707:28;348:8:26;938:15707:28;;;348:8:26;;;3030:34;348:8;;938:15707:28;;-1:-1:-1;;;348:8:26;;;;;;;;;;;938:15707:28;348:8:26;938:15707:28;;;348:8:26;;3368:267:17;1390:66;3491:46;;1390:66;;3560:15;;;:::i;3487:142::-;938:15707:28;;;-1:-1:-1;6225:13:21;1390:66:17;;;;;;;;;;;;3487:142;1390:66;;;;;;;938:15707:28;;;1390:66:17;;938:15707:28;;;1390:66:17;;;;;;;;;;;;;;;;;;;:::i;:::-;6225:13:21;1390:66:17;;;;;-1:-1:-1;1390:66:17;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1390:66:17;;;;;;;;;;-1:-1:-1;;1390:66:17;;;-1:-1:-1;1390:66:17;;;;;;;;-1:-1:-1;1390:66:17;;;;-1:-1:-1;;;;1390:66:17;;;;;-1:-1:-1;1390:66:17;;;;;;;;3368:267;1390:66;3491:46;;1390:66;;3560:15;;;:::i;3487:142::-;938:15707:28;;;-1:-1:-1;6683:16:21;1390:66:17;;;;;;;;;;;;3487:142;1390:66;;;;;;;938:15707:28;;;1390:66:17;;938:15707:28;;;1390:66:17;;;;;;;;;;;;;;;;;;:::i;:::-;6683:16:21;1390:66:17;;;;;-1:-1:-1;1390:66:17;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1390:66:17;;;;;;;;;;;;;;;;21204:517:27;21378:19;;21374:76;;21396:1;938:15707:28;;;;;;:::i;:::-;;;;;;;;;;;;;1666:3:0;938:15707:28;;1680:15:0;;1676:67;;21204:517:27;1412:5;1775:28:0;21605:33:27;938:15707:28;1768:36:0;1775:28;;938:15707:28;;;;1775:28:0;938:15707:28;;;;1768:36:0;938:15707:28;1817:50:0;-1:-1:-1;;;;;938:15707:28;;:::i;:::-;;;1817:50:0;938:15707:28;-1:-1:-1;;;;;938:15707:28;;;;1817:50:0;;938:15707:28;1817:50:0;;;;938:15707:28;;;;;;1817:50:0;938:15707:28;;;1817:50:0;;938:15707:28;;;;;21605:33:27;:15;:33;:71;;;;;21204:517;21588:88;1412:5;;-1:-1:-1;;;;;938:15707:28;;;1412:5:27;21204:517;:::o;21605:71::-;938:15707:28;21642:34:27;;-1:-1:-1;938:15707:28;;;;21642:34:27;21605:15;21642:34;;21605:71;;;1676:67:0;-1:-1:-1;938:15707:28;1676:67:0;;21374:76:27;21413:26;21396:1;21413:26;21396:1;21413:26;:::o;3205:281:0:-;3287:193;;;;;;;3205:281;:::o;2078:378:17:-;2661:4;2625:40;;2679:11;2688:2;2679:11;;2675:69;;938:15707:28;;;;;;;:::i;:::-;2311:2:17;938:15707:28;;;;;;;;;;;2324:106:17;;;2078:378;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:17;;-1:-1:-1;2713:20:17","linkReferences":{},"immutableReferences":{"3699":[{"start":16441,"length":32}],"3701":[{"start":16630,"length":32}],"3703":[{"start":16394,"length":32}],"3705":[{"start":16520,"length":32}],"3707":[{"start":16558,"length":32}],"3710":[{"start":5313,"length":32}],"3713":[{"start":5354,"length":32}],"9627":[{"start":12475,"length":32},{"start":14000,"length":32},{"start":14091,"length":32},{"start":14544,"length":32},{"start":14726,"length":32},{"start":14816,"length":32},{"start":15092,"length":32},{"start":15274,"length":32},{"start":15364,"length":32},{"start":15640,"length":32}]}},"methodIdentifiers":{"_accountValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"69683cfa","_paymasterValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"21e60b37","_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":"c579f76b","addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","binarySearchCallGasLimit(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes)[],((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes),address,uint256,uint256,uint256)":"7472949c","binarySearchPaymasterVerificationGasLimit(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes)[],((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes),address,uint256,uint256,uint256)":"03d1dcaf","binarySearchVerificationGasLimit(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes)[],((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes),address,uint256,uint256,uint256)":"76ad6123","delegateAndRevert(address,bytes)":"850aaf62","depositTo(address)":"b760faf9","eip712Domain()":"84b0196e","getDepositInfo(address)":"5287ce12","getDomainSeparatorV4()":"13c65a6e","getNonce(address,uint192)":"35567e1a","getPackedUserOpTypeHash()":"154e58dc","getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"22cdde4c","incrementNonce(uint192)":"0bd28e3b","innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":"0da82661","nonceSequenceNumber(address,uint192)":"1b2e01b8","senderCreator()":"09ccb880","simulateCall(address,bytes,uint256)":"f7e426e8","simulateCallAndRevert(address,bytes,uint256)":"44403473","simulateHandleOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes)":"97b2dcb9","simulateHandleOpBulk((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[])":"0dbfc6bd","simulateHandleOpLast((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[])":"263934db","simulateValidation((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"c3bce009","simulateValidationBulk((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[])":"30ec25d1","simulateValidationLast((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[])":"fe2171cb","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"CallPhaseReverted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"name\":\"DelegateAndRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"optimalGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxGas\",\"type\":\"uint256\"}],\"name\":\"SimulationOutOfGas\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"remainingGas\",\"type\":\"uint256\"}],\"name\":\"innerCallResult\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"PostOpRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureAggregatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasUsed\",\"type\":\"uint256\"}],\"name\":\"UserOperationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"UserOperationPrefundTooLow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"UserOperationRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_accountValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_paymasterValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"validatePaymasterPrepayment\",\"type\":\"bool\"}],\"name\":\"_validatePrepayment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"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\":\"op\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"targetCallData\",\"type\":\"bytes\"}],\"internalType\":\"struct SimulationArgs[]\",\"name\":\"queuedUserOps\",\"type\":\"tuple[]\"},{\"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\":\"op\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"targetCallData\",\"type\":\"bytes\"}],\"internalType\":\"struct SimulationArgs\",\"name\":\"targetUserOp\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initialMinGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toleranceDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasAllowance\",\"type\":\"uint256\"}],\"name\":\"binarySearchCallGasLimit\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.TargetCallResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"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\":\"op\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"targetCallData\",\"type\":\"bytes\"}],\"internalType\":\"struct SimulationArgs[]\",\"name\":\"queuedUserOps\",\"type\":\"tuple[]\"},{\"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\":\"op\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"targetCallData\",\"type\":\"bytes\"}],\"internalType\":\"struct SimulationArgs\",\"name\":\"targetUserOp\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initialMinGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toleranceDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasAllowance\",\"type\":\"uint256\"}],\"name\":\"binarySearchPaymasterVerificationGasLimit\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.TargetCallResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"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\":\"op\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"targetCallData\",\"type\":\"bytes\"}],\"internalType\":\"struct SimulationArgs[]\",\"name\":\"queuedUserOps\",\"type\":\"tuple[]\"},{\"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\":\"op\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"targetCallData\",\"type\":\"bytes\"}],\"internalType\":\"struct SimulationArgs\",\"name\":\"targetUserOp\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initialMinGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toleranceDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasAllowance\",\"type\":\"uint256\"}],\"name\":\"binarySearchVerificationGasLimit\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.TargetCallResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"delegateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"preGas\",\"type\":\"uint256\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"}],\"name\":\"simulateCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"}],\"name\":\"simulateCallAndRevert\",\"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\":\"op\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"targetCallData\",\"type\":\"bytes\"}],\"name\":\"simulateHandleOp\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"targetSuccess\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"targetResult\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.ExecutionResult\",\"name\":\"\",\"type\":\"tuple\"}],\"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[]\"}],\"name\":\"simulateHandleOpBulk\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"targetSuccess\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"targetResult\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.ExecutionResult[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"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[]\"}],\"name\":\"simulateHandleOpLast\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"targetSuccess\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"targetResult\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.ExecutionResult\",\"name\":\"\",\"type\":\"tuple\"}],\"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\":\"simulateValidation\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterContext\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.ReturnInfo\",\"name\":\"returnInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"senderInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"factoryInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"paymasterInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"stakeInfo\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.AggregatorStakeInfo\",\"name\":\"aggregatorInfo\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.ValidationResult\",\"name\":\"\",\"type\":\"tuple\"}],\"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\":\"userOps\",\"type\":\"tuple[]\"}],\"name\":\"simulateValidationBulk\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterContext\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.ReturnInfo\",\"name\":\"returnInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"senderInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"factoryInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"paymasterInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"stakeInfo\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.AggregatorStakeInfo\",\"name\":\"aggregatorInfo\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.ValidationResult[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"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\":\"userOps\",\"type\":\"tuple[]\"}],\"name\":\"simulateValidationLast\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterContext\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.ReturnInfo\",\"name\":\"returnInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"senderInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"factoryInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"paymasterInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"stakeInfo\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.AggregatorStakeInfo\",\"name\":\"aggregatorInfo\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.ValidationResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"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\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"params\":{\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. The string starts with a unique code \\\"AAmn\\\", where \\\"m\\\" is \\\"1\\\" for factory, \\\"2\\\" for account and \\\"3\\\" for paymaster issues, so a failure can be attributed to the correct entity.\"}}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"details\":\"note that inner is truncated to 2048 bytes\",\"params\":{\"inner\":\"- data from inner cought revert reason\",\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. see FailedOp(uint256,string), above\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SignatureValidationFailed(address)\":[{\"params\":{\"aggregator\":\"The aggregator that failed to verify the signature\"}}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"params\":{\"factory\":\"- The factory used to deploy this account (in the initCode)\",\"paymaster\":\"- The paymaster used by this UserOp\",\"sender\":\"- The account that is deployed\",\"userOpHash\":\"- The userOp that deployed this account. UserOperationEvent will follow.\"}},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the reverted call to \\\"postOp\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationEvent(bytes32,address,address,uint256,bool,uint256,uint256)\":{\"params\":{\"actualGasCost\":\"- Actual amount paid (by account or paymaster) for this UserOperation.\",\"actualGasUsed\":\"- Total gas used by this UserOperation (including preVerification, creation, validation and execution).\",\"nonce\":\"- The nonce value from the request.\",\"paymaster\":\"- If non-null, the paymaster that pays for this request.\",\"sender\":\"- The account that generates this request.\",\"success\":\"- True if the sender transaction succeeded, false if reverted.\",\"userOpHash\":\"- Unique identifier for the request (hash its entire content, except signature).\"}},\"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\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"params\":{\"opIndex\":\"- The index of this userOp into the \\\"opInfos\\\" array.\",\"outOpInfo\":\"- The empty unpacked in-memory UserOperation structure that will be filled in here.\",\"userOp\":\"- The packed calldata UserOperation structure to validate.\"},\"returns\":{\"paymasterValidationData\":\"- The paymaster's validationData.\",\"validationData\":\" - The account's validationData.\"}},\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"delegateAndRevert(address,bytes)\":{\"details\":\"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.\",\"params\":{\"data\":\"data to pass to target in a delegatecall\",\"target\":\"a target contract to make a delegatecall from entrypoint\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"},\"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.\"}},\"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\"}},\"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,uint256)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"simulateHandleOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes)\":{\"params\":{\"op\":\"The UserOperation to simulate.\"},\"returns\":{\"_0\":\"the execution result structure\"}},\"simulateValidation((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"details\":\"The node must also verify it doesn't use banned opcodes, and that it doesn't reference storage outside the account's data.\",\"params\":{\"userOp\":\"- The user operation to validate.\"},\"returns\":{\"_0\":\"the validation result structure\"}},\"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.\"},\"UserOperationEvent(bytes32,address,address,uint256,bool,uint256,uint256)\":{\"notice\":\"An event emitted after each successful request.\"},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"notice\":\"UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length.\"}},\"kind\":\"user\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"notice\":\"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)\"},\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"constructor\":{\"notice\":\"simulation contract should not be deployed, and specifically, accounts should not trust it as entrypoint, since the simulation functions don't check the signatures\"},\"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.\"},\"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\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"notice\":\"Inner function to handle a UserOperation. Must be declared \\\"external\\\" to open a call context, but it can only be called by handleOps.\"},\"nonceSequenceNumber(address,uint192)\":{\"notice\":\"The next valid sequence number for a given nonce key.\"},\"senderCreator()\":{\"notice\":\"Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts.\"},\"simulateHandleOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes)\":{\"notice\":\"Simulate full execution of a UserOperation (including both validation and target execution) It performs full validation of the UserOperation, but ignores signature error. An optional target address is called after the userop succeeds, and its value is returned (before the entire call is reverted). Note that in order to collect the the success/failure of the target call, it must be executed with trace enabled to track the emitted events.\"},\"simulateValidation((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Simulate a call to account.validateUserOp and paymaster.validatePaymasterUserOp.\"},\"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/EntryPointSimulations.sol\":\"EntryPointSimulations\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-51/=lib/openzeppelin-contracts-51/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":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/=lib/account-abstraction-v6/contracts/\",\":bulk/=lib/bulk/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-51/lib/halmos-cheatcodes/src/\",\":lib/openzeppelin-contracts-51/=lib/openzeppelin-contracts-51/\",\":openzeppelin-contracts-51/=lib/openzeppelin-contracts-51/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":p256-verifier/=lib/bulk/lib/p256-verifier/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"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/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-51/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts-51/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts-51/contracts/utils/ReentrancyGuardTransient.sol\":{\"keccak256\":\"0x0973ab0079b78cd41338b71d163ca180a403a7097ffe18d0204521d5dc26beb3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24c51b62705c4df37f82fbc1b3991e8e711dc16def0b7abb71ca61853420bd45\",\"dweb:/ipfs/QmPpXXxXugFQE5hejsXXNTH5QJPNJa9DNw5K8SXq7CWz44\"]},\"lib/openzeppelin-contracts-51/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc9971dd236eaf8b0c13dc242392e30b5c998f39bbddbbe92da63c17079b07ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://194404b86f076901a9ee785ae3b4818d2d9c2916641c6eb7ea39fde2874cbd81\",\"dweb:/ipfs/QmWpxUw6ComUsoN8Q1ycWohE4qB8BCKWhLu5CAz3JmPL73\"]},\"lib/openzeppelin-contracts-51/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts-51/contracts/utils/Strings.sol\":{\"keccak256\":\"0x967996585c54704fd501d06738b0dc2463207929f6f9d8e5193770ca88035130\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c22d1c0daf76538514f93f524c1a6dca7bf5a97992537122ef3a7f8632fb3375\",\"dweb:/ipfs/QmYpjvU5LV3HsQRvoCzy9CHzQMWxEro4mHYGvcgWkCPSPw\"]},\"lib/openzeppelin-contracts-51/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0xb54649686c3eb4c036930cfdad1949fc13b8b9f1b586af31646e9eaa69529eda\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ebb209def7de0f27f45cab753ee4147ee6a53e8ed9eb6ef92b3a279151e35e3\",\"dweb:/ipfs/Qmdt3X5PefKsRsMziwXfn7Q1afRwHxC8NjQwAGM1QeUCBr\"]},\"lib/openzeppelin-contracts-51/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0xc7d50d58b73e2ea513cb734e69e36df6ab9d6c9c3693b1b23ecef974bec09ed6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d647fa61a035f70388a30eda39239477c49c89f3e6eca4494c2d4fce92cbc10\",\"dweb:/ipfs/QmfTVm5cbShkjBrJX2zbxsUKB2my992PHcT81PVVWC5Pcu\"]},\"lib/openzeppelin-contracts-51/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x7ae21669569f436e69e064814c8b8986e1936972bdd9ad559b859f3abe7251ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6d66b7acf76e9ad8703c2a04c1e62c0394cba2ad8f0fbd98cf06b3d9dbb403\",\"dweb:/ipfs/QmSrJChs3MKqG6EFAi585MPJ1FyUvMxK66Bi7Pxm4e3qxU\"]},\"lib/openzeppelin-contracts-51/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xc240f71206795cead02e49f999b3523414c230cec53423298d8457a7ce9d3ea4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d5813c665d5ea1b73e27844800eb45831b9ba608b2a9216ead318e246fd5e8f\",\"dweb:/ipfs/QmNStA3tbwHZm1tXgdmY4wB3NbYKJtzYWADjKmDMhYHjyA\"]},\"lib/openzeppelin-contracts-51/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-51/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/v08/Eip7702Support.sol\":{\"keccak256\":\"0x97dcf8077b21e11a00d0f4f04dc057a776257170f036d3d154119e5f210e8683\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb756013b769ae894aa8a5286b4a53964325944b1ef20114bcb0c62deb30119b\",\"dweb:/ipfs/QmSKopMsb23HAB8Dt7ahjenh7oBBDcFWewqLr615dpuLcA\"]},\"src/v08/EntryPoint.sol\":{\"keccak256\":\"0xf547a19e49ed5ae0da23b31e5f2df20d5a7d0d4a5b2e632a78303f3ad7f007a3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7fe5a9c62c89e3069db9de269b75d813f5699c1e556c8b010b9576e2db5637f2\",\"dweb:/ipfs/QmXfKfhtxA4YWEMgUbZyau3ijLci8WKZMT8VyJMRBwQZQW\"]},\"src/v08/EntryPointSimulations.sol\":{\"keccak256\":\"0x140d95d92569f3c314239aba4995df3c7d4796e054e153ce3416c49caf6eaf23\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f30880633be2c73d4bcf2ea943ad24943aee5395de744b9033796c519ff096a8\",\"dweb:/ipfs/QmWdUVYEx5zDp68xMNY64EeCNGkap1ngpVknNi3NQh5DDH\"]},\"src/v08/IEntryPoint.sol\":{\"keccak256\":\"0x6ef27685ec58a67709de077a73667b0184aeb123643e7ef21ca9c95ad0122c71\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e69b2738ebf45d63e7607ef67293d897ce08a39f499b0cb0234733b9f1bac1\",\"dweb:/ipfs/QmdxBsJtzPiyWuGuxf3NFynrcLibXXrXf1CZ79HNaRnh7K\"]},\"src/v08/IEntryPointSimulations.sol\":{\"keccak256\":\"0x3486ad6d4e9ef01e1809b43b4bf3dace06e5733ee7bec11febd7309d4c605236\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79b06eb4c98ecaebf7cf2c54322b7fe07b418c828169536c380820d4bdf56abb\",\"dweb:/ipfs/Qmdiagf27geeJ73wPkYCRErpoHUwgFLvq24aJ3HBD5rM8L\"]},\"src/v08/SenderCreator.sol\":{\"keccak256\":\"0x1e2fb812c446c6041c6d692bbdf1228ad60eec9779ffd7b318e680bb241d71d5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://34db2b82ee8e7140298bcbd1dcabf06b3bbcb60fd597f81b5b9e53b25c30b447\",\"dweb:/ipfs/QmT4WcNu6NCaxxJ6FWGFpjadfXsMPVhgLMQfGWsW9rWZAZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"type":"error","name":"CallPhaseReverted"},{"inputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"ret","type":"bytes"}],"type":"error","name":"DelegateAndRevert"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailedOp"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"inner","type":"bytes"}],"type":"error","name":"FailedOpWithRevert"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"type":"error","name":"PostOpReverted"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"SenderAddressResult"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"type":"error","name":"SignatureValidationFailed"},{"inputs":[{"internalType":"uint256","name":"optimalGas","type":"uint256"},{"internalType":"uint256","name":"minGas","type":"uint256"},{"internalType":"uint256","name":"maxGas","type":"uint256"}],"type":"error","name":"SimulationOutOfGas"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"uint256","name":"remainingGas","type":"uint256"}],"type":"error","name":"innerCallResult"},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"factory","type":"address","indexed":false},{"internalType":"address","name":"paymaster","type":"address","indexed":false}],"type":"event","name":"AccountDeployed","anonymous":false},{"inputs":[],"type":"event","name":"BeforeExecution","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalDeposit","type":"uint256","indexed":false}],"type":"event","name":"Deposited","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"PostOpRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"aggregator","type":"address","indexed":true}],"type":"event","name":"SignatureAggregatorChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256","indexed":false}],"type":"event","name":"StakeLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"withdrawTime","type":"uint256","indexed":false}],"type":"event","name":"StakeUnlocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"StakeWithdrawn","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"paymaster","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"actualGasCost","type":"uint256","indexed":false},{"internalType":"uint256","name":"actualGasUsed","type":"uint256","indexed":false}],"type":"event","name":"UserOperationEvent","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"UserOperationPrefundTooLow","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"UserOperationRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_accountValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_paymasterValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bool","name":"validatePaymasterPrepayment","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"_validatePrepayment","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct SimulationArgs[]","name":"queuedUserOps","type":"tuple[]","components":[{"internalType":"struct PackedUserOperation","name":"op","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","name":"target","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}]},{"internalType":"struct SimulationArgs","name":"targetUserOp","type":"tuple","components":[{"internalType":"struct PackedUserOperation","name":"op","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","name":"target","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}]},{"internalType":"address","name":"entryPoint","type":"address"},{"internalType":"uint256","name":"initialMinGas","type":"uint256"},{"internalType":"uint256","name":"toleranceDelta","type":"uint256"},{"internalType":"uint256","name":"gasAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"binarySearchCallGasLimit","outputs":[{"internalType":"struct IEntryPointSimulations.TargetCallResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"struct SimulationArgs[]","name":"queuedUserOps","type":"tuple[]","components":[{"internalType":"struct PackedUserOperation","name":"op","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","name":"target","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}]},{"internalType":"struct SimulationArgs","name":"targetUserOp","type":"tuple","components":[{"internalType":"struct PackedUserOperation","name":"op","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","name":"target","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}]},{"internalType":"address","name":"entryPoint","type":"address"},{"internalType":"uint256","name":"initialMinGas","type":"uint256"},{"internalType":"uint256","name":"toleranceDelta","type":"uint256"},{"internalType":"uint256","name":"gasAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"binarySearchPaymasterVerificationGasLimit","outputs":[{"internalType":"struct IEntryPointSimulations.TargetCallResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"struct SimulationArgs[]","name":"queuedUserOps","type":"tuple[]","components":[{"internalType":"struct PackedUserOperation","name":"op","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","name":"target","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}]},{"internalType":"struct SimulationArgs","name":"targetUserOp","type":"tuple","components":[{"internalType":"struct PackedUserOperation","name":"op","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","name":"target","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}]},{"internalType":"address","name":"entryPoint","type":"address"},{"internalType":"uint256","name":"initialMinGas","type":"uint256"},{"internalType":"uint256","name":"toleranceDelta","type":"uint256"},{"internalType":"uint256","name":"gasAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"binarySearchVerificationGasLimit","outputs":[{"internalType":"struct IEntryPointSimulations.TargetCallResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"delegateAndRevert"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"payable","type":"function","name":"depositTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getDepositInfo","outputs":[{"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple","components":[{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"bool","name":"staked","type":"bool"},{"internalType":"uint112","name":"stake","type":"uint112"},{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"},{"internalType":"uint48","name":"withdrawTime","type":"uint48"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDomainSeparatorV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getPackedUserOpTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"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":"uint192","name":"key","type":"uint192"}],"stateMutability":"nonpayable","type":"function","name":"incrementNonce"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"struct EntryPoint.UserOpInfo","name":"opInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"uint256","name":"preGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"innerHandleOp","outputs":[{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint192","name":"","type":"uint192"}],"stateMutability":"view","type":"function","name":"nonceSequenceNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"senderCreator","outputs":[{"internalType":"contract ISenderCreator","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"entryPoint","type":"address"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint256","name":"gas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"simulateCall","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"result","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"simulateCallAndRevert"},{"inputs":[{"internalType":"struct PackedUserOperation","name":"op","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","name":"target","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"simulateHandleOp","outputs":[{"internalType":"struct IEntryPointSimulations.ExecutionResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"paid","type":"uint256"},{"internalType":"uint256","name":"accountValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"bool","name":"targetSuccess","type":"bool"},{"internalType":"bytes","name":"targetResult","type":"bytes"}]}]},{"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"}]}],"stateMutability":"nonpayable","type":"function","name":"simulateHandleOpBulk","outputs":[{"internalType":"struct IEntryPointSimulations.ExecutionResult[]","name":"","type":"tuple[]","components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"paid","type":"uint256"},{"internalType":"uint256","name":"accountValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"bool","name":"targetSuccess","type":"bool"},{"internalType":"bytes","name":"targetResult","type":"bytes"}]}]},{"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"}]}],"stateMutability":"nonpayable","type":"function","name":"simulateHandleOpLast","outputs":[{"internalType":"struct IEntryPointSimulations.ExecutionResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"paid","type":"uint256"},{"internalType":"uint256","name":"accountValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"bool","name":"targetSuccess","type":"bool"},{"internalType":"bytes","name":"targetResult","type":"bytes"}]}]},{"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":"nonpayable","type":"function","name":"simulateValidation","outputs":[{"internalType":"struct IEntryPointSimulations.ValidationResult","name":"","type":"tuple","components":[{"internalType":"struct IEntryPoint.ReturnInfo","name":"returnInfo","type":"tuple","components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"accountValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"bytes","name":"paymasterContext","type":"bytes"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"senderInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"factoryInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"paymasterInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IEntryPointSimulations.AggregatorStakeInfo","name":"aggregatorInfo","type":"tuple","components":[{"internalType":"address","name":"aggregator","type":"address"},{"internalType":"struct IStakeManager.StakeInfo","name":"stakeInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]}]}]}]},{"inputs":[{"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"}]}],"stateMutability":"nonpayable","type":"function","name":"simulateValidationBulk","outputs":[{"internalType":"struct IEntryPointSimulations.ValidationResult[]","name":"","type":"tuple[]","components":[{"internalType":"struct IEntryPoint.ReturnInfo","name":"returnInfo","type":"tuple","components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"accountValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"bytes","name":"paymasterContext","type":"bytes"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"senderInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"factoryInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"paymasterInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IEntryPointSimulations.AggregatorStakeInfo","name":"aggregatorInfo","type":"tuple","components":[{"internalType":"address","name":"aggregator","type":"address"},{"internalType":"struct IStakeManager.StakeInfo","name":"stakeInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]}]}]}]},{"inputs":[{"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"}]}],"stateMutability":"nonpayable","type":"function","name":"simulateValidationLast","outputs":[{"internalType":"struct IEntryPointSimulations.ValidationResult","name":"","type":"tuple","components":[{"internalType":"struct IEntryPoint.ReturnInfo","name":"returnInfo","type":"tuple","components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"accountValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"bytes","name":"paymasterContext","type":"bytes"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"senderInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"factoryInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"paymasterInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IEntryPointSimulations.AggregatorStakeInfo","name":"aggregatorInfo","type":"tuple","components":[{"internalType":"address","name":"aggregator","type":"address"},{"internalType":"struct IStakeManager.StakeInfo","name":"stakeInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]}]}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"params":{"opIndex":"- The index of this userOp into the \"opInfos\" array.","outOpInfo":"- The empty unpacked in-memory UserOperation structure that will be filled in here.","userOp":"- The packed calldata UserOperation structure to validate."},"returns":{"paymasterValidationData":"- The paymaster's validationData.","validationData":" - The account's validationData."}},"addStake(uint32)":{"params":{"unstakeDelaySec":"- The new lock duration before the deposit can be withdrawn."}},"balanceOf(address)":{"params":{"account":"- The account to query."},"returns":{"_0":"- The deposit (for gas payment) of the account."}},"delegateAndRevert(address,bytes)":{"details":"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.","params":{"data":"data to pass to target in a delegatecall","target":"a target contract to make a delegatecall from entrypoint"}},"depositTo(address)":{"params":{"account":"- The account to add to."}},"eip712Domain()":{"details":"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature."},"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."}},"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"}},"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,uint256)":{"params":{"callData":"- The callData to execute.","context":"- The context bytes.","opInfo":"- The UserOpInfo struct."},"returns":{"actualGasCost":"- the actual cost in eth this UserOperation paid for gas"}},"simulateHandleOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes)":{"params":{"op":"The UserOperation to simulate."},"returns":{"_0":"the execution result structure"}},"simulateValidation((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"details":"The node must also verify it doesn't use banned opcodes, and that it doesn't reference storage outside the account's data.","params":{"userOp":"- The user operation to validate."},"returns":{"_0":"the validation result structure"}},"withdrawStake(address)":{"params":{"withdrawAddress":"- The address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"withdrawAddress":"- The address to send withdrawn value.","withdrawAmount":"- The amount to withdraw."}}},"version":1},"userdoc":{"kind":"user","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"notice":"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)"},"addStake(uint32)":{"notice":"Add to the account's stake - amount and delay any pending unstake is first cancelled."},"balanceOf(address)":{"notice":"Get account balance."},"constructor":{"notice":"simulation contract should not be deployed, and specifically, accounts should not trust it as entrypoint, since the simulation functions don't check the signatures"},"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."},"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"},"incrementNonce(uint192)":{"notice":"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key."},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"notice":"Inner function to handle a UserOperation. Must be declared \"external\" to open a call context, but it can only be called by handleOps."},"nonceSequenceNumber(address,uint192)":{"notice":"The next valid sequence number for a given nonce key."},"senderCreator()":{"notice":"Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts."},"simulateHandleOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),address,bytes)":{"notice":"Simulate full execution of a UserOperation (including both validation and target execution) It performs full validation of the UserOperation, but ignores signature error. An optional target address is called after the userop succeeds, and its value is returned (before the entire call is reverted). Note that in order to collect the the success/failure of the target call, it must be executed with trace enabled to track the emitted events."},"simulateValidation((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"notice":"Simulate a call to account.validateUserOp and paymaster.validatePaymasterUserOp."},"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":["@openzeppelin/contracts-51/=lib/openzeppelin-contracts-51/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","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/=lib/account-abstraction-v6/contracts/","bulk/=lib/bulk/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-51/lib/halmos-cheatcodes/src/","lib/openzeppelin-contracts-51/=lib/openzeppelin-contracts-51/","openzeppelin-contracts-51/=lib/openzeppelin-contracts-51/","openzeppelin-contracts/=lib/openzeppelin-contracts/","p256-verifier/=lib/bulk/lib/p256-verifier/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v08/EntryPointSimulations.sol":"EntryPointSimulations"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"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/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-51/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/ReentrancyGuardTransient.sol":{"keccak256":"0x0973ab0079b78cd41338b71d163ca180a403a7097ffe18d0204521d5dc26beb3","urls":["bzz-raw://24c51b62705c4df37f82fbc1b3991e8e711dc16def0b7abb71ca61853420bd45","dweb:/ipfs/QmPpXXxXugFQE5hejsXXNTH5QJPNJa9DNw5K8SXq7CWz44"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/ShortStrings.sol":{"keccak256":"0xc9971dd236eaf8b0c13dc242392e30b5c998f39bbddbbe92da63c17079b07ac5","urls":["bzz-raw://194404b86f076901a9ee785ae3b4818d2d9c2916641c6eb7ea39fde2874cbd81","dweb:/ipfs/QmWpxUw6ComUsoN8Q1ycWohE4qB8BCKWhLu5CAz3JmPL73"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/Strings.sol":{"keccak256":"0x967996585c54704fd501d06738b0dc2463207929f6f9d8e5193770ca88035130","urls":["bzz-raw://c22d1c0daf76538514f93f524c1a6dca7bf5a97992537122ef3a7f8632fb3375","dweb:/ipfs/QmYpjvU5LV3HsQRvoCzy9CHzQMWxEro4mHYGvcgWkCPSPw"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/TransientSlot.sol":{"keccak256":"0xb54649686c3eb4c036930cfdad1949fc13b8b9f1b586af31646e9eaa69529eda","urls":["bzz-raw://1ebb209def7de0f27f45cab753ee4147ee6a53e8ed9eb6ef92b3a279151e35e3","dweb:/ipfs/Qmdt3X5PefKsRsMziwXfn7Q1afRwHxC8NjQwAGM1QeUCBr"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0xc7d50d58b73e2ea513cb734e69e36df6ab9d6c9c3693b1b23ecef974bec09ed6","urls":["bzz-raw://4d647fa61a035f70388a30eda39239477c49c89f3e6eca4494c2d4fce92cbc10","dweb:/ipfs/QmfTVm5cbShkjBrJX2zbxsUKB2my992PHcT81PVVWC5Pcu"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x7ae21669569f436e69e064814c8b8986e1936972bdd9ad559b859f3abe7251ae","urls":["bzz-raw://ad6d66b7acf76e9ad8703c2a04c1e62c0394cba2ad8f0fbd98cf06b3d9dbb403","dweb:/ipfs/QmSrJChs3MKqG6EFAi585MPJ1FyUvMxK66Bi7Pxm4e3qxU"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/math/Math.sol":{"keccak256":"0xc240f71206795cead02e49f999b3523414c230cec53423298d8457a7ce9d3ea4","urls":["bzz-raw://7d5813c665d5ea1b73e27844800eb45831b9ba608b2a9216ead318e246fd5e8f","dweb:/ipfs/QmNStA3tbwHZm1tXgdmY4wB3NbYKJtzYWADjKmDMhYHjyA"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts-51/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"src/v08/Eip7702Support.sol":{"keccak256":"0x97dcf8077b21e11a00d0f4f04dc057a776257170f036d3d154119e5f210e8683","urls":["bzz-raw://bb756013b769ae894aa8a5286b4a53964325944b1ef20114bcb0c62deb30119b","dweb:/ipfs/QmSKopMsb23HAB8Dt7ahjenh7oBBDcFWewqLr615dpuLcA"],"license":"MIT"},"src/v08/EntryPoint.sol":{"keccak256":"0xf547a19e49ed5ae0da23b31e5f2df20d5a7d0d4a5b2e632a78303f3ad7f007a3","urls":["bzz-raw://7fe5a9c62c89e3069db9de269b75d813f5699c1e556c8b010b9576e2db5637f2","dweb:/ipfs/QmXfKfhtxA4YWEMgUbZyau3ijLci8WKZMT8VyJMRBwQZQW"],"license":"GPL-3.0"},"src/v08/EntryPointSimulations.sol":{"keccak256":"0x140d95d92569f3c314239aba4995df3c7d4796e054e153ce3416c49caf6eaf23","urls":["bzz-raw://f30880633be2c73d4bcf2ea943ad24943aee5395de744b9033796c519ff096a8","dweb:/ipfs/QmWdUVYEx5zDp68xMNY64EeCNGkap1ngpVknNi3NQh5DDH"],"license":"GPL-3.0"},"src/v08/IEntryPoint.sol":{"keccak256":"0x6ef27685ec58a67709de077a73667b0184aeb123643e7ef21ca9c95ad0122c71","urls":["bzz-raw://66e69b2738ebf45d63e7607ef67293d897ce08a39f499b0cb0234733b9f1bac1","dweb:/ipfs/QmdxBsJtzPiyWuGuxf3NFynrcLibXXrXf1CZ79HNaRnh7K"],"license":"MIT"},"src/v08/IEntryPointSimulations.sol":{"keccak256":"0x3486ad6d4e9ef01e1809b43b4bf3dace06e5733ee7bec11febd7309d4c605236","urls":["bzz-raw://79b06eb4c98ecaebf7cf2c54322b7fe07b418c828169536c380820d4bdf56abb","dweb:/ipfs/Qmdiagf27geeJ73wPkYCRErpoHUwgFLvq24aJ3HBD5rM8L"],"license":"GPL-3.0"},"src/v08/SenderCreator.sol":{"keccak256":"0x1e2fb812c446c6041c6d692bbdf1228ad60eec9779ffd7b318e680bb241d71d5","urls":["bzz-raw://34db2b82ee8e7140298bcbd1dcabf06b3bbcb60fd597f81b5b9e53b25c30b447","dweb:/ipfs/QmT4WcNu6NCaxxJ6FWGFpjadfXsMPVhgLMQfGWsW9rWZAZ"],"license":"GPL-3.0"}},"version":1},"id":28}
|