@pimlico/alto 0.0.0-main.20250625T172702 → 0.0.0-main.20250627T074103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/EIP712.sol/EIP712.json +1 -1
- package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/contracts/Exec.sol/Exec.json +1 -1
- package/contracts/IAccount.sol/IAccount.json +1 -1
- package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
- package/contracts/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/IERC5267.sol/IERC5267.json +1 -1
- package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
- package/contracts/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
- package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
- package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/Math.sol/Math.json +1 -1
- package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
- package/contracts/NonceManager.sol/NonceManager.json +1 -1
- package/contracts/Panic.sol/Panic.json +1 -1
- package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
- package/contracts/SafeCast.sol/SafeCast.json +1 -1
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
- package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
- package/contracts/SignedMath.sol/SignedMath.json +1 -1
- package/contracts/StakeManager.sol/StakeManager.json +1 -1
- package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
- package/contracts/Strings.sol/Strings.json +1 -1
- package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
- package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
- package/contracts/build-info/004071c167bc55de.json +1 -0
- package/contracts/build-info/{257ff8e2b1124ead.json → 2f5dec90e180c3a0.json} +1 -1
- package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/esm/cli/customTransport.js +3 -2
- package/esm/cli/customTransport.js.map +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/esm/executor/filterOpsAndEstimateGas.js +27 -6
- package/esm/executor/filterOpsAndEstimateGas.js.map +1 -1
- package/esm/executor/utils.js +3 -0
- package/esm/executor/utils.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationHandler.d.ts +2 -2
- package/esm/rpc/estimation/gasEstimationHandler.js +6 -6
- package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/esm/rpc/estimation/{gasEstimationsV06.d.ts → gasEstimations06.d.ts} +4 -4
- package/esm/rpc/estimation/gasEstimations06.js +68 -0
- package/esm/rpc/estimation/gasEstimations06.js.map +1 -0
- package/esm/rpc/estimation/gasEstimations07.d.ts +89 -0
- package/esm/rpc/estimation/gasEstimations07.js +386 -0
- package/esm/rpc/estimation/gasEstimations07.js.map +1 -0
- package/esm/rpc/estimation/types.d.ts +23 -111
- package/esm/rpc/estimation/types.js +5 -121
- package/esm/rpc/estimation/types.js.map +1 -1
- package/esm/rpc/estimation/utils.d.ts +51 -0
- package/esm/rpc/estimation/utils.js +182 -0
- package/esm/rpc/estimation/utils.js.map +1 -0
- package/esm/rpc/methods/eth_estimateUserOperationGas.js +4 -5
- package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +5 -5
- package/esm/rpc/validation/SafeValidator.js +28 -29
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +2 -2
- package/esm/rpc/validation/UnsafeValidator.js +2 -2
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/types/contracts/PimlicoSimulations.d.ts +1083 -96
- package/esm/types/contracts/PimlicoSimulations.js +1357 -88
- package/esm/types/contracts/PimlicoSimulations.js.map +1 -1
- package/esm/types/contracts/index.d.ts +0 -2
- package/esm/types/contracts/index.js +0 -2
- package/esm/types/contracts/index.js.map +1 -1
- package/esm/types/interfaces.d.ts +2 -2
- package/esm/types/validation.d.ts +208 -222
- package/esm/types/validation.js +0 -8
- package/esm/types/validation.js.map +1 -1
- package/esm/utils/toViemStateOverrides.d.ts +4 -0
- package/esm/utils/toViemStateOverrides.js +44 -0
- package/esm/utils/toViemStateOverrides.js.map +1 -0
- package/package.json +1 -1
- package/contracts/build-info/10cf9b18fcc1598e.json +0 -1
- package/esm/rpc/estimation/gasEstimationsV06.js +0 -156
- package/esm/rpc/estimation/gasEstimationsV06.js.map +0 -1
- package/esm/rpc/estimation/gasEstimationsV07.d.ts +0 -101
- package/esm/rpc/estimation/gasEstimationsV07.js +0 -724
- package/esm/rpc/estimation/gasEstimationsV07.js.map +0 -1
- package/esm/types/contracts/EntryPointSimulationsV6.d.ts +0 -33
- package/esm/types/contracts/EntryPointSimulationsV6.js +0 -46
- package/esm/types/contracts/EntryPointSimulationsV6.js.map +0 -1
- package/esm/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
- package/esm/types/contracts/EntryPointSimulationsV7.js +0 -2675
- package/esm/types/contracts/EntryPointSimulationsV7.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"filterOps06","inputs":[{"name":"userOps","type":"tuple[]","internalType":"struct UserOperation[]","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":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"entryPoint","type":"address","internalType":"contract IEntryPoint"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PimlicoSimulations.FilterOpsResult","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"balanceChange","type":"uint256","internalType":"uint256"},{"name":"rejectedUserOps","type":"tuple[]","internalType":"struct PimlicoSimulations.RejectedUserOp[]","components":[{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"revertReason","type":"bytes","internalType":"bytes"}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"filterOps07","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"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"entryPoint","type":"address","internalType":"contract IEntryPoint"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PimlicoSimulations.FilterOpsResult","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"balanceChange","type":"uint256","internalType":"uint256"},{"name":"rejectedUserOps","type":"tuple[]","internalType":"struct PimlicoSimulations.RejectedUserOp[]","components":[{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"revertReason","type":"bytes","internalType":"bytes"}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"filterOps08","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"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"entryPoint","type":"address","internalType":"contract IEntryPoint"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PimlicoSimulations.FilterOpsResult","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"balanceChange","type":"uint256","internalType":"uint256"},{"name":"rejectedUserOps","type":"tuple[]","internalType":"struct PimlicoSimulations.RejectedUserOp[]","components":[{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"revertReason","type":"bytes","internalType":"bytes"}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateEntryPoint","inputs":[{"name":"entryPointSimulation","type":"address","internalType":"address"},{"name":"entryPoint","type":"address","internalType":"address payable"},{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"event","name":"PimlicoSimulationDeployed","inputs":[],"anonymous":false}],"bytecode":{"object":"0x60808060405234603a577f20d4cb4d83077ae7f93cbc84f032f6918d99772c5bb321c4333007d83641ab7e600080a161198d90816100408239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063557ce2e314610fcc578063861d9d5914610d02578063959c4cb71461065e5763fccb5ff61461004857600080fd5b346104bf5760603660031901126104bf5760043567ffffffffffffffff81116104bf57610079903690600401611384565b610081611217565b90604435926001600160a01b0384168094036104bf5761009f611479565b506100a86115ad565b805190680100000000000000008211610648576000548260005580831061054d575b50602001600080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5636000915b83831061052f5750600095604095879560209550935091506001600160a01b0316845b828110610154576101508888888151926101338461122d565b8352602083015261014261181a565b8183015251918291826113b5565b0390f35b8651610160888261129f565b6001815260005b8681106104c4575061017a828587611934565b610120813603126104bf5788519061019182611282565b61019a81611203565b8252602081013560208301528981013567ffffffffffffffff81116104bf576101c690369083016112f5565b8a830152606081013567ffffffffffffffff81116104bf576101eb90369083016112f5565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013567ffffffffffffffff81116104bf5761022f90369083016112f5565b60e08301526101008101359067ffffffffffffffff82116104bf57610256913691016112f5565b61010082015261026582611442565b5261026f81611442565b5082315a918b3b156104bf57898c9181519283917f765e827f00000000000000000000000000000000000000000000000000000000835260448301846004850152815180915260648401602060648360051b87010193019160005b818110610404575050505060008094508380928b602483015203925af190816103f3575b506103c5575050610348610300611792565b602061030d848789611934565b8c8b5180809681947f22cdde4c00000000000000000000000000000000000000000000000000000000835286600484015260248301906114ed565b03915afa9182156103ba57600092610382575b506001929161037c918a519161037083611249565b825260208201526117c2565b0161011a565b90916020823d82116103b2575b8161039c6020938361129f565b810103126103af5750519061037c61035b565b80fd5b3d915061038f565b89513d6000823e3d90fd5b966103e1600193986103e76103ed949c6103e15a89319f611778565b90611785565b9b611778565b9561037c565b60006103fe9161129f565b386102ee565b9295509260206104ab600193969882936063198c82030189526101006104996104696104578d51956001600160a01b0387511686528887015189870152610120818801519187015261012086019061135f565b6060860151858203606087015261135f565b6080850151608085015260a085015160a085015260c085015160c085015260e085015184820360e086015261135f565b9201519061010081840391015261135f565b960194019101908f959391928795936102ca565b600080fd5b602090899896999a939a9792949597516104dd81611282565b6000815260008382015260608a82015260608082015260006080820152600060a0820152600060c0820152606060e0820152606061010082015282828701015201989198979496979593929095610167565b60026020826105416001945186611646565b019201920191906100f7565b6001600160ff1b0381168103610632576001600160ff1b0383168303610632576000805260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563015b8181106105ca57506100ca565b60029060008155600181016105df81546115f5565b90816105ee575b5050016105bd565b81601f600093116001146106065750555b38806105e6565b8183526020832061062291601f0160051c81019060010161162f565b80825281602081209155556105ff565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b346104bf5760603660031901126104bf5760043567ffffffffffffffff81116104bf5761068f903690600401611384565b610697611217565b90604435926001600160a01b0384168094036104bf576106b5611479565b506106be6115ad565b8051906801000000000000000082116106485760005482600055808310610c1d575b50602001600080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5636000915b838310610bff5750600095604095879560209550935091506001600160a01b0316845b828110610749576101508888888151926101338461122d565b8651610755888261129f565b6001815260005b868110610b84575061076f828587611755565b610160813603126104bf5788519061078682611265565b61078f81611203565b8252602081013560208301528981013567ffffffffffffffff81116104bf576107bb90369083016112f5565b8a830152606081013567ffffffffffffffff81116104bf576107e090369083016112f5565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013560e083015261010081013561010083015261012081013567ffffffffffffffff81116104bf5761083b90369083016112f5565b6101208301526101408101359067ffffffffffffffff82116104bf57610863913691016112f5565b61014082015261087282611442565b5261087c81611442565b5082315a918b3b156104bf57898c9181519283917f1fad948c00000000000000000000000000000000000000000000000000000000835260448301846004850152815180915260648401602060648360051b87010193019160005b818110610ac3575050505060008094508380928b602483015203925af19081610ab2575b50610a905750506109b88460206109998c6109868c610a2d610926898c610920611792565b99611755565b610a1a610a0e84519a8b98899788977fa61935310000000000000000000000000000000000000000000000000000000089528c60048a01526001600160a01b0361096f88611203565b1660248a01528c87013560448a015286018661149a565b61016060648a01526101848901916114cc565b6109a6606086018661149a565b8883036023190160848a0152906114cc565b608084013560a487015260a084013560c487015260c084013560e487015260e08401356101048701526101008401356101248701526109fb61012085018561149a565b87830360231901610144890152906114cc565b9161014081019061149a565b84830360231901610164860152906114cc565b03915afa9182156103ba57600092610a5b575b5060019291610a55918a519161037083611249565b01610730565b90916020823d8211610a88575b81610a756020938361129f565b810103126103af57505190610a55610a40565b3d9150610a68565b966103e1600193986103e7610aac949c6103e15a89319f611778565b95610a55565b6000610abd9161129f565b8c6108fb565b929550926020610b70600193969882936063198c8203018952610140610b5e610b166104578d51956001600160a01b0387511686528887015189870152610160818801519187015261016086019061135f565b6080850151608085015260a085015160a085015260c085015160c085015260e085015160e085015261010085015161010085015261012085015184820361012086015261135f565b9201519061014081840391015261135f565b960194019101908f959391928795936108d7565b602090899896999a939a979294959751610b9d81611265565b6000815260008382015260608a82015260608082015260006080820152600060a0820152600060c0820152600060e08201526000610100820152606061012082015260606101408201528282870101520198919897949697959392909561075c565b6002602082610c116001945186611646565b0192019201919061070d565b6001600160ff1b0381168103610632576001600160ff1b0383168303610632576000805260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563015b818110610c9a57506106e0565b6002906000815560018101610caf81546115f5565b9081610cbe575b505001610c8d565b81601f60009311600114610cd65750555b8980610cb6565b81835260208320610cf291601f0160051c81019060010161162f565b8082528160208120915555610ccf565b346104bf5760603660031901126104bf5760043567ffffffffffffffff81116104bf57610d33903690600401611384565b90610d3c611217565b604435906001600160a01b0382168092036104bf57929190610d5c611479565b506040519384927ffccb5ff6000000000000000000000000000000000000000000000000000000008452846064850160606004870152526084840160848660051b860101958260009061011e1981360301935b838310610f8c5788600081808d8c6001600160a01b038d1660248401526044830152038183305af1908115610f8057600091610df4575b6040518061015084826113b5565b3d8083833e610e03818361129f565b810190602081830312610f7c5780519067ffffffffffffffff8211610f74570190606082820312610f7c5760405191610e3b8361122d565b805183526020810151602084015260408101519067ffffffffffffffff8211610f78570181601f82011215610f74578051610e75816112c1565b92610e83604051948561129f565b81845260208085019260051b84010192818411610f705760208101925b848410610ebb57505050505060408201529050610150610de6565b835167ffffffffffffffff8111610f6c5782016040818503601f190112610f6c5760405190610ee982611249565b60208101518252604081015167ffffffffffffffff8111610f685760209101019184601f84011215610f6457825191610f21836112d9565b610f2e604051918261129f565b8381528660208587010111610f6057610f5160209594869586808501910161133c565b83820152815201930192610ea0565b8b80fd5b8980fd5b8a80fd5b8880fd5b8680fd5b8380fd5b8480fd5b8280fd5b6040513d6000823e3d90fd5b9193959697509193976083198a82030182528835868112156104bf576020610fb9600193868394016114ed565b9a01920193019093918997969593610daf565b346104bf5760603660031901126104bf576004356001600160a01b0381168091036104bf57610ff9611217565b60443567ffffffffffffffff81116104bf57366023820112156104bf578060040135611024816112c1565b91611032604051938461129f565b8183526024602084019260051b820101903682116104bf5760248101925b8284106111d35750505050805192611067846112c1565b93611075604051958661129f565b808552611084601f19916112c1565b0160005b8181106111c25750506001600160a01b0360009316925b825181101561115a5760019060606000806110ba8488611465565b51604051906111138261110560208201937f850aaf620000000000000000000000000000000000000000000000000000000085528b602484015260406044840152606483019061135f565b03601f19810184528361129f565b828a5a935193f11561113c575b61112a8288611465565b526111358187611465565b500161109f565b503d604051906020818301016040528082526000602083013e611120565b846040518091602082016020835281518091526040830190602060408260051b8601019301916000905b82821061119357505050500390f35b919360019193955060206111b28192603f198a8203018652885161135f565b9601920192018594939192611184565b806060602080938901015201611088565b833567ffffffffffffffff81116104bf576020916111f88392602436918701016112f5565b815201930192611050565b35906001600160a01b03821682036104bf57565b602435906001600160a01b03821682036104bf57565b6060810190811067ffffffffffffffff82111761064857604052565b6040810190811067ffffffffffffffff82111761064857604052565b610160810190811067ffffffffffffffff82111761064857604052565b610120810190811067ffffffffffffffff82111761064857604052565b90601f8019910116810190811067ffffffffffffffff82111761064857604052565b67ffffffffffffffff81116106485760051b60200190565b67ffffffffffffffff811161064857601f01601f191660200190565b81601f820112156104bf5780359061130c826112d9565b9261131a604051948561129f565b828452602083830101116104bf57816000926020809301838601378301015290565b60005b83811061134f5750506000910152565b818101518382015260200161133f565b906020916113788151809281855285808601910161133c565b601f01601f1916010190565b9181601f840112156104bf5782359167ffffffffffffffff83116104bf576020808501948460051b0101116104bf57565b602081526040608082019280516020840152602081015182840152015191606080830152825180915260a0820191602060a08360051b8301019401926000915b83831061140457505050505090565b9091929394602080611433600193609f198682030187526040838b51805184520151918185820152019061135f565b970193019301919392906113f5565b80511561144f5760200190565b634e487b7160e01b600052603260045260246000fd5b805182101561144f5760209160051b010190565b604051906114868261122d565b606060408360008152600060208201520152565b9035601e19823603018112156104bf57016020813591019167ffffffffffffffff82116104bf5781360383136104bf57565b908060209392818452848401376000828201840152601f01601f1916010190565b6115aa916001600160a01b0361150283611203565b1681526020820135602082015261159b61158f61155661153b611528604087018761149a565b61012060408801526101208701916114cc565b611548606087018761149a565b9086830360608801526114cc565b6080850135608085015260a085013560a085015260c085013560c085015261158160e086018661149a565b9085830360e08701526114cc565b9261010081019061149a565b916101008185039101526114cc565b90565b604051906115bc60208361129f565b600080835282815b8281106115d057505050565b6020906040516115df81611249565b60008152606083820152828285010152016115c4565b90600182811c92168015611625575b602083101461160f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611604565b81811061163a575050565b6000815560010161162f565b6001602091939293845181550192015191825167ffffffffffffffff81116106485761167282546115f5565b601f8111611718575b506020601f82116001146116b657819293946000926116ab575b50508160011b916000199060031b1c1916179055565b015190503880611695565b601f1982169083600052806000209160005b818110611700575095836001959697106116e7575b505050811b019055565b015160001960f88460031b161c191690553880806116dd565b9192602060018192868b0151815501940192016116c8565b61174590836000526020600020601f840160051c8101916020851061174b575b601f0160051c019061162f565b3861167b565b9091508190611738565b919081101561144f5760051b8101359061015e19813603018212156104bf570190565b9190820391821161063257565b9190820180921161063257565b3d156117bd573d906117a3826112d9565b916117b1604051938461129f565b82523d6000602084013e565b606090565b600054906801000000000000000082101561064857600182018060005582101561144f57600080526118189160011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301611646565b565b60005490611827826112c1565b91611835604051938461129f565b8083526000808052907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563602085015b8284106118715750505050565b60405161187d81611249565b82548152604051600184018054600091611896826115f5565b808552916001811690811561190f57506001146118d7575b505092600292826118c5602094600197038261129f565b83820152815201920193019290611864565b6000908152602081209092505b8183106118f9575050810160200182826118ae565b60018160209254838688010152019201916118e4565b60ff191660208087019190915292151560051b850190920192508491508390506118ae565b919081101561144f5760051b8101359061011e19813603018212156104bf57019056fea264697066735822122087c863c0ea389a84b97df4f87413d9038993308c338b8c577eb94a0aafca429764736f6c634300081c0033","sourceMap":"782:6791:19:-:0;;;;;;;2117:27;;;;782:6791;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b60003560e01c8063557ce2e314610fcc578063861d9d5914610d02578063959c4cb71461065e5763fccb5ff61461004857600080fd5b346104bf5760603660031901126104bf5760043567ffffffffffffffff81116104bf57610079903690600401611384565b610081611217565b90604435926001600160a01b0384168094036104bf5761009f611479565b506100a86115ad565b805190680100000000000000008211610648576000548260005580831061054d575b50602001600080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5636000915b83831061052f5750600095604095879560209550935091506001600160a01b0316845b828110610154576101508888888151926101338461122d565b8352602083015261014261181a565b8183015251918291826113b5565b0390f35b8651610160888261129f565b6001815260005b8681106104c4575061017a828587611934565b610120813603126104bf5788519061019182611282565b61019a81611203565b8252602081013560208301528981013567ffffffffffffffff81116104bf576101c690369083016112f5565b8a830152606081013567ffffffffffffffff81116104bf576101eb90369083016112f5565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013567ffffffffffffffff81116104bf5761022f90369083016112f5565b60e08301526101008101359067ffffffffffffffff82116104bf57610256913691016112f5565b61010082015261026582611442565b5261026f81611442565b5082315a918b3b156104bf57898c9181519283917f765e827f00000000000000000000000000000000000000000000000000000000835260448301846004850152815180915260648401602060648360051b87010193019160005b818110610404575050505060008094508380928b602483015203925af190816103f3575b506103c5575050610348610300611792565b602061030d848789611934565b8c8b5180809681947f22cdde4c00000000000000000000000000000000000000000000000000000000835286600484015260248301906114ed565b03915afa9182156103ba57600092610382575b506001929161037c918a519161037083611249565b825260208201526117c2565b0161011a565b90916020823d82116103b2575b8161039c6020938361129f565b810103126103af5750519061037c61035b565b80fd5b3d915061038f565b89513d6000823e3d90fd5b966103e1600193986103e76103ed949c6103e15a89319f611778565b90611785565b9b611778565b9561037c565b60006103fe9161129f565b386102ee565b9295509260206104ab600193969882936063198c82030189526101006104996104696104578d51956001600160a01b0387511686528887015189870152610120818801519187015261012086019061135f565b6060860151858203606087015261135f565b6080850151608085015260a085015160a085015260c085015160c085015260e085015184820360e086015261135f565b9201519061010081840391015261135f565b960194019101908f959391928795936102ca565b600080fd5b602090899896999a939a9792949597516104dd81611282565b6000815260008382015260608a82015260608082015260006080820152600060a0820152600060c0820152606060e0820152606061010082015282828701015201989198979496979593929095610167565b60026020826105416001945186611646565b019201920191906100f7565b6001600160ff1b0381168103610632576001600160ff1b0383168303610632576000805260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563015b8181106105ca57506100ca565b60029060008155600181016105df81546115f5565b90816105ee575b5050016105bd565b81601f600093116001146106065750555b38806105e6565b8183526020832061062291601f0160051c81019060010161162f565b80825281602081209155556105ff565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b346104bf5760603660031901126104bf5760043567ffffffffffffffff81116104bf5761068f903690600401611384565b610697611217565b90604435926001600160a01b0384168094036104bf576106b5611479565b506106be6115ad565b8051906801000000000000000082116106485760005482600055808310610c1d575b50602001600080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5636000915b838310610bff5750600095604095879560209550935091506001600160a01b0316845b828110610749576101508888888151926101338461122d565b8651610755888261129f565b6001815260005b868110610b84575061076f828587611755565b610160813603126104bf5788519061078682611265565b61078f81611203565b8252602081013560208301528981013567ffffffffffffffff81116104bf576107bb90369083016112f5565b8a830152606081013567ffffffffffffffff81116104bf576107e090369083016112f5565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013560e083015261010081013561010083015261012081013567ffffffffffffffff81116104bf5761083b90369083016112f5565b6101208301526101408101359067ffffffffffffffff82116104bf57610863913691016112f5565b61014082015261087282611442565b5261087c81611442565b5082315a918b3b156104bf57898c9181519283917f1fad948c00000000000000000000000000000000000000000000000000000000835260448301846004850152815180915260648401602060648360051b87010193019160005b818110610ac3575050505060008094508380928b602483015203925af19081610ab2575b50610a905750506109b88460206109998c6109868c610a2d610926898c610920611792565b99611755565b610a1a610a0e84519a8b98899788977fa61935310000000000000000000000000000000000000000000000000000000089528c60048a01526001600160a01b0361096f88611203565b1660248a01528c87013560448a015286018661149a565b61016060648a01526101848901916114cc565b6109a6606086018661149a565b8883036023190160848a0152906114cc565b608084013560a487015260a084013560c487015260c084013560e487015260e08401356101048701526101008401356101248701526109fb61012085018561149a565b87830360231901610144890152906114cc565b9161014081019061149a565b84830360231901610164860152906114cc565b03915afa9182156103ba57600092610a5b575b5060019291610a55918a519161037083611249565b01610730565b90916020823d8211610a88575b81610a756020938361129f565b810103126103af57505190610a55610a40565b3d9150610a68565b966103e1600193986103e7610aac949c6103e15a89319f611778565b95610a55565b6000610abd9161129f565b8c6108fb565b929550926020610b70600193969882936063198c8203018952610140610b5e610b166104578d51956001600160a01b0387511686528887015189870152610160818801519187015261016086019061135f565b6080850151608085015260a085015160a085015260c085015160c085015260e085015160e085015261010085015161010085015261012085015184820361012086015261135f565b9201519061014081840391015261135f565b960194019101908f959391928795936108d7565b602090899896999a939a979294959751610b9d81611265565b6000815260008382015260608a82015260608082015260006080820152600060a0820152600060c0820152600060e08201526000610100820152606061012082015260606101408201528282870101520198919897949697959392909561075c565b6002602082610c116001945186611646565b0192019201919061070d565b6001600160ff1b0381168103610632576001600160ff1b0383168303610632576000805260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563015b818110610c9a57506106e0565b6002906000815560018101610caf81546115f5565b9081610cbe575b505001610c8d565b81601f60009311600114610cd65750555b8980610cb6565b81835260208320610cf291601f0160051c81019060010161162f565b8082528160208120915555610ccf565b346104bf5760603660031901126104bf5760043567ffffffffffffffff81116104bf57610d33903690600401611384565b90610d3c611217565b604435906001600160a01b0382168092036104bf57929190610d5c611479565b506040519384927ffccb5ff6000000000000000000000000000000000000000000000000000000008452846064850160606004870152526084840160848660051b860101958260009061011e1981360301935b838310610f8c5788600081808d8c6001600160a01b038d1660248401526044830152038183305af1908115610f8057600091610df4575b6040518061015084826113b5565b3d8083833e610e03818361129f565b810190602081830312610f7c5780519067ffffffffffffffff8211610f74570190606082820312610f7c5760405191610e3b8361122d565b805183526020810151602084015260408101519067ffffffffffffffff8211610f78570181601f82011215610f74578051610e75816112c1565b92610e83604051948561129f565b81845260208085019260051b84010192818411610f705760208101925b848410610ebb57505050505060408201529050610150610de6565b835167ffffffffffffffff8111610f6c5782016040818503601f190112610f6c5760405190610ee982611249565b60208101518252604081015167ffffffffffffffff8111610f685760209101019184601f84011215610f6457825191610f21836112d9565b610f2e604051918261129f565b8381528660208587010111610f6057610f5160209594869586808501910161133c565b83820152815201930192610ea0565b8b80fd5b8980fd5b8a80fd5b8880fd5b8680fd5b8380fd5b8480fd5b8280fd5b6040513d6000823e3d90fd5b9193959697509193976083198a82030182528835868112156104bf576020610fb9600193868394016114ed565b9a01920193019093918997969593610daf565b346104bf5760603660031901126104bf576004356001600160a01b0381168091036104bf57610ff9611217565b60443567ffffffffffffffff81116104bf57366023820112156104bf578060040135611024816112c1565b91611032604051938461129f565b8183526024602084019260051b820101903682116104bf5760248101925b8284106111d35750505050805192611067846112c1565b93611075604051958661129f565b808552611084601f19916112c1565b0160005b8181106111c25750506001600160a01b0360009316925b825181101561115a5760019060606000806110ba8488611465565b51604051906111138261110560208201937f850aaf620000000000000000000000000000000000000000000000000000000085528b602484015260406044840152606483019061135f565b03601f19810184528361129f565b828a5a935193f11561113c575b61112a8288611465565b526111358187611465565b500161109f565b503d604051906020818301016040528082526000602083013e611120565b846040518091602082016020835281518091526040830190602060408260051b8601019301916000905b82821061119357505050500390f35b919360019193955060206111b28192603f198a8203018652885161135f565b9601920192018594939192611184565b806060602080938901015201611088565b833567ffffffffffffffff81116104bf576020916111f88392602436918701016112f5565b815201930192611050565b35906001600160a01b03821682036104bf57565b602435906001600160a01b03821682036104bf57565b6060810190811067ffffffffffffffff82111761064857604052565b6040810190811067ffffffffffffffff82111761064857604052565b610160810190811067ffffffffffffffff82111761064857604052565b610120810190811067ffffffffffffffff82111761064857604052565b90601f8019910116810190811067ffffffffffffffff82111761064857604052565b67ffffffffffffffff81116106485760051b60200190565b67ffffffffffffffff811161064857601f01601f191660200190565b81601f820112156104bf5780359061130c826112d9565b9261131a604051948561129f565b828452602083830101116104bf57816000926020809301838601378301015290565b60005b83811061134f5750506000910152565b818101518382015260200161133f565b906020916113788151809281855285808601910161133c565b601f01601f1916010190565b9181601f840112156104bf5782359167ffffffffffffffff83116104bf576020808501948460051b0101116104bf57565b602081526040608082019280516020840152602081015182840152015191606080830152825180915260a0820191602060a08360051b8301019401926000915b83831061140457505050505090565b9091929394602080611433600193609f198682030187526040838b51805184520151918185820152019061135f565b970193019301919392906113f5565b80511561144f5760200190565b634e487b7160e01b600052603260045260246000fd5b805182101561144f5760209160051b010190565b604051906114868261122d565b606060408360008152600060208201520152565b9035601e19823603018112156104bf57016020813591019167ffffffffffffffff82116104bf5781360383136104bf57565b908060209392818452848401376000828201840152601f01601f1916010190565b6115aa916001600160a01b0361150283611203565b1681526020820135602082015261159b61158f61155661153b611528604087018761149a565b61012060408801526101208701916114cc565b611548606087018761149a565b9086830360608801526114cc565b6080850135608085015260a085013560a085015260c085013560c085015261158160e086018661149a565b9085830360e08701526114cc565b9261010081019061149a565b916101008185039101526114cc565b90565b604051906115bc60208361129f565b600080835282815b8281106115d057505050565b6020906040516115df81611249565b60008152606083820152828285010152016115c4565b90600182811c92168015611625575b602083101461160f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611604565b81811061163a575050565b6000815560010161162f565b6001602091939293845181550192015191825167ffffffffffffffff81116106485761167282546115f5565b601f8111611718575b506020601f82116001146116b657819293946000926116ab575b50508160011b916000199060031b1c1916179055565b015190503880611695565b601f1982169083600052806000209160005b818110611700575095836001959697106116e7575b505050811b019055565b015160001960f88460031b161c191690553880806116dd565b9192602060018192868b0151815501940192016116c8565b61174590836000526020600020601f840160051c8101916020851061174b575b601f0160051c019061162f565b3861167b565b9091508190611738565b919081101561144f5760051b8101359061015e19813603018212156104bf570190565b9190820391821161063257565b9190820180921161063257565b3d156117bd573d906117a3826112d9565b916117b1604051938461129f565b82523d6000602084013e565b606090565b600054906801000000000000000082101561064857600182018060005582101561144f57600080526118189160011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301611646565b565b60005490611827826112c1565b91611835604051938461129f565b8083526000808052907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563602085015b8284106118715750505050565b60405161187d81611249565b82548152604051600184018054600091611896826115f5565b808552916001811690811561190f57506001146118d7575b505092600292826118c5602094600197038261129f565b83820152815201920193019290611864565b6000908152602081209092505b8183106118f9575050810160200182826118ae565b60018160209254838688010152019201916118e4565b60ff191660208087019190915292151560051b850190920192508491508390506118ae565b919081101561144f5760051b8101359061011e19813603018212156104bf57019056fea264697066735822122087c863c0ea389a84b97df4f87413d9038993308c338b8c577eb94a0aafca429764736f6c634300081c0033","sourceMap":"782:6791:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;782:6791:19;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;;;;:::i;:::-;;4341:23;;:::i;:::-;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;782:6791:19;;;;;;;;-1:-1:-1;4562:13:19;-1:-1:-1;782:6791:19;-1:-1:-1;;;;;;782:6791:19;;4577:18;;;;;;782:6791;;;;;;;;;;:::i;:::-;;;;5609:155;;782:6791;;;:::i;:::-;5609:155;;;782:6791;;;;;;;:::i;:::-;;;;4597:3;782:6791;;;;;;:::i;:::-;;;;;;;;;;;4797:10;;;;;;:::i;:::-;782:6791;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;4778:29;;;:::i;:::-;;;;;:::i;:::-;;4846:19;;4899:9;4927:48;;;;;;782:6791;;;;;4927:48;;;782:6791;4927:48;;782:6791;;;4927:48;782:6791;4927:48;;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4927:48;;;;;;;;782:6791;-1:-1:-1;4923:659:19;;5280:302;;782:6791;5280:302;;:::i;:::-;782:6791;5448:10;;;;;:::i;:::-;782:6791;;;5423:36;;;;;782:6791;5423:36;;;782:6791;5423:36;;782:6791;;;;;;:::i;:::-;5423:36;;;;;;;;;782:6791;5423:36;;;4923:659;782:6791;;;;5477:90;782:6791;;;;;;;:::i;:::-;;;;5498:68;;782:6791;5477:90;:::i;:::-;782:6791;4562:13;;5423:36;;;782:6791;5423:36;;;;;;;;;782:6791;5423:36;;;:::i;:::-;;;782:6791;;;;-1:-1:-1;782:6791:19;;5477:90;5423:36;;782:6791;;;5423:36;;;-1:-1:-1;5423:36:19;;;782:6791;;;;;;;;;4923:659;5013:9;5236:28;782:6791;5013:9;;5160:36;5214:50;5013:9;;5176:20;5013:9;5063:19;;5176:20;;:::i;:::-;5160:36;;:::i;:::-;5236:28;;:::i;5214:50::-;4923:659;;;4927:48;782:6791;4927:48;;;:::i;:::-;;;;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4927:48;782:6791;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;782:6791:19;;;;;;;;;-1:-1:-1;;;782:6791:19;;;;;;;;;;;;;;-1:-1:-1;;782:6791:19;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;;;;:::i;:::-;;6153:23;;:::i;:::-;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;782:6791:19;;;;;;;;-1:-1:-1;6374:13:19;-1:-1:-1;782:6791:19;-1:-1:-1;;;;;;782:6791:19;;6389:18;;;;;;782:6791;;;;;;;;;;:::i;6409:3::-;782:6791;;;;;;:::i;:::-;;;;;;;;;;;6597:10;;;;;;:::i;:::-;782:6791;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;6578:29;;;:::i;:::-;;;;;:::i;:::-;;6646:19;;6699:9;6727:48;;;;;;782:6791;;;;;6727:48;;;782:6791;6727:48;;782:6791;;;6727:48;782:6791;6727:48;;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6727:48;;;;;;;;782:6791;-1:-1:-1;6723:659:19;;7080:302;;782:6791;7080:302;782:6791;;7080:302;782:6791;7080:302;782:6791;7248:10;7080:302;;;;:::i;:::-;7248:10;;:::i;:::-;782:6791;;;;7223:36;;;;;;;782:6791;7223:36;;;782:6791;7223:36;;782:6791;-1:-1:-1;;;;;782:6791:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;782:6791:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;782:6791:19;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;782:6791:19;;;;;;;:::i;:::-;7223:36;;;;;;;;;782:6791;7223:36;;;6723:659;782:6791;;;;7277:90;782:6791;;;;;;;:::i;7277:90::-;782:6791;6374:13;;7223:36;;;782:6791;7223:36;;;;;;;;;782:6791;7223:36;;;:::i;:::-;;;782:6791;;;;-1:-1:-1;782:6791:19;;7277:90;7223:36;;;;;-1:-1:-1;7223:36:19;;6723:659;6813:9;7036:28;782:6791;6813:9;;6960:36;7014:50;6813:9;;6976:20;6813:9;6863:19;;6976:20;;:::i;7014:50::-;6723:659;;;6727:48;782:6791;6727:48;;;:::i;:::-;;;;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;782:6791:19;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;-1:-1:-1;;;;;782:6791:19;;;;;;;;;;;;:::i;:::-;;;;3872:74;;;782:6791;3872:74;;782:6791;;;;;;3872:74;;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;;;;;3872:74;:4;;;:74;;;;;;;782:6791;3872:74;;;782:6791;;;;;;;;:::i;3872:74::-;;;;;;;;;;:::i;:::-;;;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;-1:-1:-1;782:6791:19;3872:74;;782:6791;;;;;;;;;;;;;;-1:-1:-1;;782:6791:19;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3872:74;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;782:6791:19;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;2741:13;;-1:-1:-1;;;;;782:6791:19;;;2736:472;2773:3;782:6791;;2756:15;;;;;782:6791;2792:23;782:6791;;2956:7;;;;;:::i;:::-;;782:6791;;2869:95;;;782:6791;;2869:95;;;2892:40;2869:95;;;782:6791;2869:95;;782:6791;;;;;;;;;;;:::i;:::-;2869:95;782:6791;;2869:95;;;;;;:::i;:::-;3028:9;;;378:118:11;;;;3056:8:19;3052:101;;2773:3;3166:31;;;;:::i;:::-;;;;;;:::i;:::-;;782:6791;2741:13;;3052:101;1204:349:11;;782:6791:19;1204:349:11;;782:6791:19;1204:349:11;;;;782:6791:19;1204:349:11;;;;782:6791:19;;1204:349:11;;;3052:101:19;;2756:15;;782:6791;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;782:6791:19;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;782:6791:19;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;782:6791:19;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;782:6791:19;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;782:6791:19;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;782:6791:19;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;782:6791:19;;-1:-1:-1;782:6791:19;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;782:6791:19;;;;;;;;-1:-1:-1;;782:6791:19;;;;:::o;:::-;;;-1:-1:-1;;;;;782:6791:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;782:6791:19;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;782:6791:19;;;;;;;;;;;-1:-1:-1;782:6791:19;;-1:-1:-1;782:6791:19;;-1:-1:-1;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;782:6791:19;;-1:-1:-1;782:6791:19;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;782:6791:19;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;782:6791:19;;;;;;-1:-1:-1;;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;782:6791:19;;;;;;;;;;;;;;;;;;;;-1:-1:-1;782:6791:19;;-1:-1:-1;782:6791:19;;-1:-1:-1;782:6791:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"filterOps06((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address,address)":"959c4cb7","filterOps07((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,address)":"fccb5ff6","filterOps08((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,address)":"861d9d59","simulateEntryPoint(address,address,bytes[])":"557ce2e3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"PimlicoSimulationDeployed\",\"type\":\"event\"},{\"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\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct UserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IEntryPoint\",\"name\":\"entryPoint\",\"type\":\"address\"}],\"name\":\"filterOps06\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"balanceChange\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"internalType\":\"struct PimlicoSimulations.RejectedUserOp[]\",\"name\":\"rejectedUserOps\",\"type\":\"tuple[]\"}],\"internalType\":\"struct PimlicoSimulations.FilterOpsResult\",\"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[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IEntryPoint\",\"name\":\"entryPoint\",\"type\":\"address\"}],\"name\":\"filterOps07\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"balanceChange\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"internalType\":\"struct PimlicoSimulations.RejectedUserOp[]\",\"name\":\"rejectedUserOps\",\"type\":\"tuple[]\"}],\"internalType\":\"struct PimlicoSimulations.FilterOpsResult\",\"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[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IEntryPoint\",\"name\":\"entryPoint\",\"type\":\"address\"}],\"name\":\"filterOps08\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"balanceChange\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"internalType\":\"struct PimlicoSimulations.RejectedUserOp[]\",\"name\":\"rejectedUserOps\",\"type\":\"tuple[]\"}],\"internalType\":\"struct PimlicoSimulations.FilterOpsResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entryPointSimulation\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"simulateEntryPoint\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Pimlico (https://github.com/pimlicolabs/alto)\",\"kind\":\"dev\",\"methods\":{},\"title\":\"PimlicoSimulations\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"An ERC-4337 EntryPoint simulation contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/PimlicoSimulations.sol\":\"PimlicoSimulations\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v6/contracts/core/Helpers.sol\":{\"keccak256\":\"0x591c87519f7155d1909210276b77925ab2722a99b7b5d5649aecc36ebbdb045a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://69643e83f68e6a13d5075c7565bfce326673b0bd98c432033c4603ea84835746\",\"dweb:/ipfs/QmSwSzjYyV7qudi5vvsmzHMG2Z4YJZxX51RRXXVCLaNcEU\"]},\"lib/account-abstraction-v6/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0x060e9ddb0152250c269ba0640dc5753834ac44cf182a2837d508c0c529cae26a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://20ed837bc5909c89ff1910246bf245a5dad6840aa939382e1694964eb7dbd37b\",\"dweb:/ipfs/QmTMybRq5yyghPDDs1ZCNAVB9sSJ4WHe6Q9mejuKPTAdNP\"]},\"lib/account-abstraction-v6/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x3a90bf308819ed125fa4202f880999caff8a8686633b8ddb79a30ca240d5b8f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d2d21cc92c2fdab2b58d21bc25d4cd0e8c284b922528a186b087b818d54bc6cf\",\"dweb:/ipfs/QmT1qrfuBjsv2rmRCDn8mgPXHp94hARJwzbcDuBLDTbFWd\"]},\"lib/account-abstraction-v6/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0x509871e6c63663cdcc3eba19920fe84e991f38b289b1377ac3c3a6d9f22d7e12\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://00fe21b4349b24c50df60e1a705179293982bd9e7a32b78d4bac9620f89e7fe2\",\"dweb:/ipfs/QmSFFYGfUwQbVa6hASjU7YxTvgi2HkfrPr4X5oPHscHg8b\"]},\"lib/account-abstraction-v6/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xd227b02888cd4ac68daebcdfd992ec00f9fff66fa3b3bb16f656cd582fa3480f\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://b389da4714a138be63704a576a482505eab2855e263b38a93706395d8d42e7c3\",\"dweb:/ipfs/QmeeAZpdHwUXxqP8pxA7GNtoCGBmmH4FaqLLwScVKGxtxZ\"]},\"lib/account-abstraction-v6/contracts/interfaces/UserOperation.sol\":{\"keccak256\":\"0x61374003361059087fdcf17967a7bba052badeaf5c7f0ae689166f8aafd3a45c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ff83c59432e733bf6304dda27cd4b0f34401917dd535e2669cc842d2d26568c\",\"dweb:/ipfs/QmPJbHU5TAjHqUTZzAcicEeG2nknmwCN43L4EW9LHbknTN\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]},\"lib/account-abstraction-v8/contracts/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/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/solady/src/utils/LibBytes.sol\":{\"keccak256\":\"0x905f1c122299888350964a3bdd3dccd4b969273389b8d869f9aacb6871ff199e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6cff3ef7090aa48f214b960f373a33c15878f80e617443a3a4d53f130bab862\",\"dweb:/ipfs/QmdMEpK6ZVxUesqSpurqS9UkDnm1kAnjUeJKLN6ZWPNJnT\"]},\"src/PimlicoSimulations.sol\":{\"keccak256\":\"0xbd9aecad68e7dd1675536bc396753c49edacaa6a3ff987f8f4288bec35e93abd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf450f4527f69e871bfbdcc9cfccf120b18b4847a0207a7e4703c7d0fba32e7\",\"dweb:/ipfs/QmUDsX6mYEmBgcQQ3Y7DgjQGz8874f6VruoazhivJ7c6P5\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"event","name":"PimlicoSimulationDeployed","anonymous":false},{"inputs":[{"internalType":"struct UserOperation[]","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":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"contract IEntryPoint","name":"entryPoint","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"filterOps06","outputs":[{"internalType":"struct PimlicoSimulations.FilterOpsResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"uint256","name":"balanceChange","type":"uint256"},{"internalType":"struct PimlicoSimulations.RejectedUserOp[]","name":"rejectedUserOps","type":"tuple[]","components":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"bytes","name":"revertReason","type":"bytes"}]}]}]},{"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"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"contract IEntryPoint","name":"entryPoint","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"filterOps07","outputs":[{"internalType":"struct PimlicoSimulations.FilterOpsResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"uint256","name":"balanceChange","type":"uint256"},{"internalType":"struct PimlicoSimulations.RejectedUserOp[]","name":"rejectedUserOps","type":"tuple[]","components":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"bytes","name":"revertReason","type":"bytes"}]}]}]},{"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"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"contract IEntryPoint","name":"entryPoint","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"filterOps08","outputs":[{"internalType":"struct PimlicoSimulations.FilterOpsResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"uint256","name":"balanceChange","type":"uint256"},{"internalType":"struct PimlicoSimulations.RejectedUserOp[]","name":"rejectedUserOps","type":"tuple[]","components":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"bytes","name":"revertReason","type":"bytes"}]}]}]},{"inputs":[{"internalType":"address","name":"entryPointSimulation","type":"address"},{"internalType":"address payable","name":"entryPoint","type":"address"},{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"simulateEntryPoint","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/PimlicoSimulations.sol":"PimlicoSimulations"},"evmVersion":"london","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v6/contracts/core/Helpers.sol":{"keccak256":"0x591c87519f7155d1909210276b77925ab2722a99b7b5d5649aecc36ebbdb045a","urls":["bzz-raw://69643e83f68e6a13d5075c7565bfce326673b0bd98c432033c4603ea84835746","dweb:/ipfs/QmSwSzjYyV7qudi5vvsmzHMG2Z4YJZxX51RRXXVCLaNcEU"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IAggregator.sol":{"keccak256":"0x060e9ddb0152250c269ba0640dc5753834ac44cf182a2837d508c0c529cae26a","urls":["bzz-raw://20ed837bc5909c89ff1910246bf245a5dad6840aa939382e1694964eb7dbd37b","dweb:/ipfs/QmTMybRq5yyghPDDs1ZCNAVB9sSJ4WHe6Q9mejuKPTAdNP"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x3a90bf308819ed125fa4202f880999caff8a8686633b8ddb79a30ca240d5b8f8","urls":["bzz-raw://d2d21cc92c2fdab2b58d21bc25d4cd0e8c284b922528a186b087b818d54bc6cf","dweb:/ipfs/QmT1qrfuBjsv2rmRCDn8mgPXHp94hARJwzbcDuBLDTbFWd"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/INonceManager.sol":{"keccak256":"0x509871e6c63663cdcc3eba19920fe84e991f38b289b1377ac3c3a6d9f22d7e12","urls":["bzz-raw://00fe21b4349b24c50df60e1a705179293982bd9e7a32b78d4bac9620f89e7fe2","dweb:/ipfs/QmSFFYGfUwQbVa6hASjU7YxTvgi2HkfrPr4X5oPHscHg8b"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xd227b02888cd4ac68daebcdfd992ec00f9fff66fa3b3bb16f656cd582fa3480f","urls":["bzz-raw://b389da4714a138be63704a576a482505eab2855e263b38a93706395d8d42e7c3","dweb:/ipfs/QmeeAZpdHwUXxqP8pxA7GNtoCGBmmH4FaqLLwScVKGxtxZ"],"license":"GPL-3.0-only"},"lib/account-abstraction-v6/contracts/interfaces/UserOperation.sol":{"keccak256":"0x61374003361059087fdcf17967a7bba052badeaf5c7f0ae689166f8aafd3a45c","urls":["bzz-raw://6ff83c59432e733bf6304dda27cd4b0f34401917dd535e2669cc842d2d26568c","dweb:/ipfs/QmPJbHU5TAjHqUTZzAcicEeG2nknmwCN43L4EW9LHbknTN"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol":{"keccak256":"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588","urls":["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155","dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4","urls":["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9","dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol":{"keccak256":"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb","urls":["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3","dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"},"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359","urls":["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be","dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/utils/Exec.sol":{"keccak256":"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74","urls":["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77","dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"],"license":"LGPL-3.0-only"},"lib/account-abstraction-v8/contracts/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/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/solady/src/utils/LibBytes.sol":{"keccak256":"0x905f1c122299888350964a3bdd3dccd4b969273389b8d869f9aacb6871ff199e","urls":["bzz-raw://b6cff3ef7090aa48f214b960f373a33c15878f80e617443a3a4d53f130bab862","dweb:/ipfs/QmdMEpK6ZVxUesqSpurqS9UkDnm1kAnjUeJKLN6ZWPNJnT"],"license":"MIT"},"src/PimlicoSimulations.sol":{"keccak256":"0xbd9aecad68e7dd1675536bc396753c49edacaa6a3ff987f8f4288bec35e93abd","urls":["bzz-raw://3cf450f4527f69e871bfbdcc9cfccf120b18b4847a0207a7e4703c7d0fba32e7","dweb:/ipfs/QmUDsX6mYEmBgcQQ3Y7DgjQGz8874f6VruoazhivJ7c6P5"],"license":"MIT"}},"version":1},"id":19}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"binarySearchCallGas","inputs":[{"name":"entryPointSimulation","type":"address","internalType":"address"},{"name":"entryPoint","type":"address","internalType":"address"},{"name":"queuedUserOps","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":"targetUserOp","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":"initialMinGas","type":"uint256","internalType":"uint256"},{"name":"toleranceDelta","type":"uint256","internalType":"uint256"},{"name":"gasAllowance","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchResult","components":[{"name":"resultType","type":"uint8","internalType":"enum IEntryPointSimulations.BinarySearchResultType"},{"name":"successData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchSuccess","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"name":"outOfGasData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","components":[{"name":"optimalGas","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint256","internalType":"uint256"},{"name":"maxGas","type":"uint256","internalType":"uint256"}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"binarySearchPaymasterVerificationGas","inputs":[{"name":"entryPointSimulation","type":"address","internalType":"address"},{"name":"entryPoint","type":"address","internalType":"address payable"},{"name":"queuedUserOps","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":"targetUserOp","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":"initialMinGas","type":"uint256","internalType":"uint256"},{"name":"toleranceDelta","type":"uint256","internalType":"uint256"},{"name":"gasAllowance","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchResult","components":[{"name":"resultType","type":"uint8","internalType":"enum IEntryPointSimulations.BinarySearchResultType"},{"name":"successData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchSuccess","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"name":"outOfGasData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","components":[{"name":"optimalGas","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint256","internalType":"uint256"},{"name":"maxGas","type":"uint256","internalType":"uint256"}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"binarySearchVerificationGas","inputs":[{"name":"entryPointSimulation","type":"address","internalType":"address"},{"name":"entryPoint","type":"address","internalType":"address payable"},{"name":"queuedUserOps","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":"targetUserOp","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":"initialMinGas","type":"uint256","internalType":"uint256"},{"name":"toleranceDelta","type":"uint256","internalType":"uint256"},{"name":"gasAllowance","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchResult","components":[{"name":"resultType","type":"uint8","internalType":"enum IEntryPointSimulations.BinarySearchResultType"},{"name":"successData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchSuccess","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"name":"outOfGasData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","components":[{"name":"optimalGas","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint256","internalType":"uint256"},{"name":"maxGas","type":"uint256","internalType":"uint256"}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"filterOps06","inputs":[{"name":"userOps","type":"tuple[]","internalType":"struct UserOperation[]","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":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"entryPoint","type":"address","internalType":"contract IEntryPoint"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PimlicoSimulations.FilterOpsResult","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"balanceChange","type":"uint256","internalType":"uint256"},{"name":"rejectedUserOps","type":"tuple[]","internalType":"struct PimlicoSimulations.RejectedUserOp[]","components":[{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"revertReason","type":"bytes","internalType":"bytes"}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"filterOps07","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"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"entryPoint","type":"address","internalType":"contract IEntryPoint"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PimlicoSimulations.FilterOpsResult","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"balanceChange","type":"uint256","internalType":"uint256"},{"name":"rejectedUserOps","type":"tuple[]","internalType":"struct PimlicoSimulations.RejectedUserOp[]","components":[{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"revertReason","type":"bytes","internalType":"bytes"}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"filterOps08","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"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"entryPoint","type":"address","internalType":"contract IEntryPoint"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PimlicoSimulations.FilterOpsResult","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"balanceChange","type":"uint256","internalType":"uint256"},{"name":"rejectedUserOps","type":"tuple[]","internalType":"struct PimlicoSimulations.RejectedUserOp[]","components":[{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"revertReason","type":"bytes","internalType":"bytes"}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateAndEstimateGas","inputs":[{"name":"entryPointSimulation","type":"address","internalType":"address"},{"name":"entryPoint","type":"address","internalType":"address payable"},{"name":"queuedUserOps","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":"targetUserOp","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":"initialMinGas","type":"uint256","internalType":"uint256"},{"name":"toleranceDelta","type":"uint256","internalType":"uint256"},{"name":"gasAllowance","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct PimlicoSimulations.SimulateAndEstimateGasResult","components":[{"name":"simulationResult","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"}]},{"name":"verificationGasLimit","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchResult","components":[{"name":"resultType","type":"uint8","internalType":"enum IEntryPointSimulations.BinarySearchResultType"},{"name":"successData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchSuccess","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"name":"outOfGasData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","components":[{"name":"optimalGas","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint256","internalType":"uint256"},{"name":"maxGas","type":"uint256","internalType":"uint256"}]}]},{"name":"paymasterVerificationGasLimit","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchResult","components":[{"name":"resultType","type":"uint8","internalType":"enum IEntryPointSimulations.BinarySearchResultType"},{"name":"successData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchSuccess","components":[{"name":"gasUsed","type":"uint256","internalType":"uint256"},{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"name":"outOfGasData","type":"tuple","internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","components":[{"name":"optimalGas","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint256","internalType":"uint256"},{"name":"maxGas","type":"uint256","internalType":"uint256"}]}]}]}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateEntryPointBulk","inputs":[{"name":"entryPointSimulation","type":"address","internalType":"address"},{"name":"entryPoint","type":"address","internalType":"address payable"},{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"simulateHandleOp","inputs":[{"name":"entryPointSimulation","type":"address","internalType":"address"},{"name":"entryPoint","type":"address","internalType":"address payable"},{"name":"queuedUserOps","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":"targetUserOp","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":"entryPointSimulation","type":"address","internalType":"address"},{"name":"entryPoint","type":"address","internalType":"address payable"},{"name":"queuedUserOps","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":"targetUserOp","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 IEntryPoint.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":"event","name":"PimlicoSimulationDeployed","inputs":[],"anonymous":false}],"bytecode":{"object":"0x60808060405234603a577f20d4cb4d83077ae7f93cbc84f032f6918d99772c5bb321c4333007d83641ab7e600080a1612b7590816100408239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063141eb033146119995780632e5a0a931461192a578063713499031461181c578063861d9d5914611606578063959c4cb714610e345780639f2d378914610da2578063a4968eab14610b5b578063de040de11461083b578063f1143043146107b35763fccb5ff61461008a57600080fd5b3461060c57606036600319011261060c5760043567ffffffffffffffff811161060c576100bb903690600401611d6e565b906100c4611bb4565b906044356001600160a01b03811680910361060c576100e1612069565b506100ea6123c5565b80519068010000000000000000821161079d57600054826000558083106106a2575b50602090959493929501600080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5636000915b83831061067a575060409560009586956020955093509091506001600160a01b0316845b8281106102a75787878782519161017983611bde565b825260208201526000549161018d83611cab565b61019982519182611c89565b8381526000808052937f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563602083015b8287106101e6578486018490528451806101e28882611ea6565b0390f35b84516101f181611bfa565b8254815285516001840180546000916102098261240d565b8085529160018116908115610282575060011461024a575b505092600292826102386020946001970382611c89565b838201528152019201960195906101c8565b6000908152602081209092505b81831061026c57505081016020018282610221565b6001816020925483868801015201920191610257565b60ff191660208087019190915292151560051b85019092019250849150839050610221565b87516102b38982611c89565b6001815260005b86811061061157506102cd8285876127b7565b6101208136031261060c578951906102e482611c4f565b6102ed81611bca565b8252602081013560208301528a81013567ffffffffffffffff811161060c576103199036908301611cdf565b8b830152606081013567ffffffffffffffff811161060c5761033e9036908301611cdf565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013567ffffffffffffffff811161060c576103829036908301611cdf565b60e08301526101008101359067ffffffffffffffff821161060c576103a991369101611cdf565b6101008201526103b882612012565b526103c281612012565b5082315a918b3b1561060c578a51907f765e827f000000000000000000000000000000000000000000000000000000008252604482018c6004840152815180915260648301602060648360051b86010193019160005b81811061055a575050505081806000929d9e9b9c9d8860248301520381838d5af19081610549575b5061051b5750506104986104526125aa565b602061045f8487896127b7565b8c51809481927f22cdde4c000000000000000000000000000000000000000000000000000000008352846004840152602483019061211f565b03818b5afa918215610510576000926104d8575b50600192916104cd918c51916104c183611bfa565b825260208201526125da565b019796959497610163565b90916020823d8211610508575b816104f260209383611c89565b81010312610505575051906104cd6104ac565b80fd5b3d91506104e5565b8b513d6000823e3d90fd5b976105376001939961053d610543949c6105375a89319f612590565b9061259d565b9b612590565b966104cd565b600061055491611c89565b38610440565b909192938f602061060081926001946063198b82030189526101006105ee6105be6105ac8d51956001600160a01b03875116865288870151898701526101208188015191870152610120860190611d49565b60608601518582036060870152611d49565b6080850151608085015260a085015160a085015260c085015160c085015260e085015184820360e0860152611d49565b92015190610100818403910152611d49565b96019401929101610418565b600080fd5b6020908a989699939a97929495975161062981611c4f565b6000815260008382015260608a82015260608082015260006080820152600060a0820152600060c0820152606060e082015260606101008201528282870101520198919794969895939290956102ba565b60026020826106916001949b98999a9b518661245e565b01920192019190969594939661013f565b6001600160ff1b0381168103610787576001600160ff1b0383168303610787576000805260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563015b81811061071f575061010c565b6002906000815560018101610734815461240d565b9081610743575b505001610712565b81601f6000931160011461075b5750555b388061073b565b8183526020832061077791601f0160051c810190600101612447565b8082528160208120915555610754565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b3461060c576101e26108276108186108116108036001600160a01b036107d836611f92565b6107e6979394969197612632565b5060405197889363af32494360e01b602086015260248501612675565b03601f198101865285611c89565b16906127da565b6020808251830101910161269b565b604051918291602083526020830190611f33565b3461060c576109546108116108036001600160a01b0361085a36611f92565b60409793949691975161086c81611c33565b60405161087881611c33565b600081526000602082015260006040820152600060608201526060608082015281526040516108a681611bfa565b600081526000602082015260208201526040516108c281611bfa565b600081526000602082015260408201526040516108de81611bfa565b600081526000602082015260608201526080604051916108fd83611bfa565b6000835260405161090d81611bfa565b6000815260006020820152602084015201526040519788937faec321fb00000000000000000000000000000000000000000000000000000000602086015260248501612675565b8051810190602082019060208184031261060c5760208101519067ffffffffffffffff821161060c5701808303601f1981019291906101401361060c576040519361099e85611c33565b602082015167ffffffffffffffff811161060c578201602081019160a09190031261060c57604051906109d082611c33565b8051825260208101516020830152604081015160408301526060810151606083015260808101519067ffffffffffffffff821161060c57610a139185910161229a565b60808201528452610a27826040830161278f565b9160208501928352610a3c816080840161278f565b93604086019485526060610a538360c0860161278f565b8782019081529160bf19011261060c5760405190610a7082611bfa565b610100840151906001600160a01b038216820361060c576020809781610b0560806101409c610aaa849b9a610120869c879b8d520161278f565b848a01528181019889526040519d848f9e928f938452519201528c61016082519101528c610180858301519101528c6101a060408301519101528c6101c06060830151910152015160a06101e08d01526102008c0190611d49565b9851805160408c0152015160608a015251805160808a0152015160a088015251805160c0880152015160e0860152516001600160a01b038151166101008601520151805161012085015201516101408301520390f35b3461060c57610b6936611d9f565b96906040969296959394955196610b7f88611bde565b610b87612632565b88526020880195610b9661208a565b87526040890197610ba561208a565b895260405163af32494360e01b602082015280610bc784848b60248501612675565b03601f1981018252610bd99082611c89565b610bed906001600160a01b038816876127da565b805181016020019060200190610c029161269b565b8a526040517f2e5a0a9300000000000000000000000000000000000000000000000000000000815280610c3f8d878787878e8e8e60048a0161273d565b03813091815a6000948591f1908115610d7b57600091610d87575b50885260e0820135601e198336030181121561060c57820180359067ffffffffffffffff821161060c57602082360391011361060c5760141115610ce7575b610cc18a6101e28b610cd48c6040519586956020875251606060208801526080870190611f33565b9051858203601f19016040870152611e2b565b9051838203601f19016060850152611e2b565b91610d28939160009799989b936040519a8b9889987f9f2d3789000000000000000000000000000000000000000000000000000000008a5260048a0161273d565b038183305af1918215610d7b57610cc1946101e293610cd492600091610d58575b50835291928680808080610c99565b610d7591503d806000833e610d6d8183611c89565b8101906122dc565b87610d49565b6040513d6000823e3d90fd5b610d9c91503d806000833e610d6d8183611c89565b8c610c5a565b3461060c576101e2610e20610e116108036108116001600160a01b03610dc736611d9f565b929580979996610ddb9b959b93929361208a565b506040519b8c977fd72f25930000000000000000000000000000000000000000000000000000000060208a015260248901612243565b602080825183010191016122dc565b604051918291602083526020830190611e2b565b3461060c57606036600319011261060c5760043567ffffffffffffffff811161060c57610e65903690600401611d6e565b90610e6e611bb4565b906044356001600160a01b03811680910361060c57610e8b612069565b50610e946123c5565b80519068010000000000000000821161079d5760005482600055808310611521575b50602090959493929501600080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5636000915b8383106114f9575060409560009586956020955093509091506001600160a01b0316845b82811061104d57878787825191610f2383611bde565b8252602082015260005491610f3783611cab565b610f4382519182611c89565b8381526000808052937f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563602083015b828710610f8c578486018490528451806101e28882611ea6565b8451610f9781611bfa565b825481528551600184018054600091610faf8261240d565b80855291600181169081156110285750600114610ff0575b50509260029282610fde6020946001970382611c89565b83820152815201920196019590610f72565b6000908152602081209092505b81831061101257505081016020018282610fc7565b6001816020925483868801015201920191610ffd565b60ff191660208087019190915292151560051b85019092019250849150839050610fc7565b87516110598982611c89565b6001815260005b868110611480575061107382858761256d565b6101608136031261060c5789519061108a82611c16565b61109381611bca565b8252602081013560208301528a81013567ffffffffffffffff811161060c576110bf9036908301611cdf565b8b830152606081013567ffffffffffffffff811161060c576110e49036908301611cdf565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013560e083015261010081013561010083015261012081013567ffffffffffffffff811161060c5761113f9036908301611cdf565b6101208301526101408101359067ffffffffffffffff821161060c5761116791369101611cdf565b61014082015261117682612012565b5261118081612012565b5082315a918b3b1561060c578a51907f1fad948c000000000000000000000000000000000000000000000000000000008252604482018c6004840152815180915260648301602060648360051b86010193019160005b8181106113c8575050505081806000929d9e9b9c9d8860248301520381838d5af190816113b7575b506113955750506112986112106125aa565b60206112858c61132c611224878a8c61256d565b61131961130d6112b78551998a9788977fa61935310000000000000000000000000000000000000000000000000000000089528a60048a01526001600160a01b0361126e88611bca565b1660248a01528a87013560448a01528601866120cc565b61016060648a01526101848901916120fe565b6112a560608601866120cc565b8883036023190160848a0152906120fe565b608084013560a487015260a084013560c487015260c084013560e487015260e08401356101048701526101008401356101248701526112fa6101208501856120cc565b87830360231901610144890152906120fe565b916101408101906120cc565b84830360231901610164860152906120fe565b03818b5afa91821561051057600092611360575b5060019291611355918c51916104c183611bfa565b019796959497610f0d565b90916020823d821161138d575b8161137a60209383611c89565b8101031261050557505190611355611340565b3d915061136d565b976105376001939961053d6113b1949c6105375a89319f612590565b96611355565b60006113c291611c89565b8c6111fe565b909192938f602061147481926001946063198b820301895261014061146261141a6105ac8d51956001600160a01b03875116865288870151898701526101608188015191870152610160860190611d49565b6080850151608085015260a085015160a085015260c085015160c085015260e085015160e0850152610100850151610100850152610120850151848203610120860152611d49565b92015190610140818403910152611d49565b960194019291016111d6565b6020908a989699939a97929495975161149881611c16565b6000815260008382015260608a82015260608082015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260606101208201526060610140820152828287010152019891979496989593929095611060565b60026020826115106001949b98999a9b518661245e565b019201920191909695949396610ee9565b6001600160ff1b0381168103610787576001600160ff1b0383168303610787576000805260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563015b81811061159e5750610eb6565b60029060008155600181016115b3815461240d565b90816115c2575b505001611591565b81601f600093116001146115da5750555b89806115ba565b818352602083206115f691601f0160051c810190600101612447565b80825281602081209155556115d3565b3461060c57606036600319011261060c5760043567ffffffffffffffff811161060c57611637903690600401611d6e565b61163f611bb4565b91604435916001600160a01b03831680930361060c576116a993600093611664612069565b506001600160a01b0360405196879586957ffccb5ff60000000000000000000000000000000000000000000000000000000087526060600488015260648701916121dc565b921660248401526044830152038183305af1908115610d7b576000916116d8575b604051806101e28482611ea6565b3d8083833e6116e78183611c89565b8101906020818303126118145780519067ffffffffffffffff8211611818570190606082820312611814576040519161171f83611bde565b805183526020810151602084015260408101519067ffffffffffffffff8211611810570181601f820112156118185780519361175a85611cab565b926117686040519485611c89565b85845260208085019660051b840101928184116118145760208101965b8488106117a0575050505050604082015290506101e26116ca565b875167ffffffffffffffff81116118105782016040818503601f19011261181057604051906117ce82611bfa565b6020810151825260408101519067ffffffffffffffff821161180c57916117fd8660208096948196010161229a565b83820152815201970196611785565b8680fd5b8480fd5b8280fd5b8380fd5b3461060c5760e036600319011261060c57611835611b9e565b61183d611bb4565b60443567ffffffffffffffff811161060c5761185d903690600401611d6e565b906064359267ffffffffffffffff841161060c57610120600319853603011261060c576101e294611925610e11946118f0610e209761189a61208a565b506118db6040519788947facbe911e00000000000000000000000000000000000000000000000000000000602087015260c0602487015260e48601916121dc565b8381036023190160448501529060040161211f565b6001600160a01b0385166064830152608435608483015260a43560a483015260c43560c483015203601f198101855284611c89565b6127da565b3461060c576101e2610e20610e116108036108116001600160a01b0361194f36611d9f565b9295809799966119639b959b93929361208a565b506040519b8c977f212eccc60000000000000000000000000000000000000000000000000000000060208a015260248901612243565b3461060c57606036600319011261060c576119b2611b9e565b6119ba611bb4565b60443567ffffffffffffffff811161060c573660238201121561060c5780600401356119e581611cab565b916119f36040519384611c89565b8183526024602084019260051b8201019036821161060c5760248101925b828410611b6e5750505050805192611a2884611cab565b93611a366040519586611c89565b808552611a45601f1991611cab565b0160005b818110611b5d5750506001600160a01b0360009316925b8251811015611af5576001906060600080611a7b8488612035565b5160405190611aae82611aa0602082019363428557b160e11b85528b60248401612049565b03601f198101845283611c89565b828a5a935193f115611ad7575b611ac58288612035565b52611ad08187612035565b5001611a60565b503d604051906020818301016040528082526000602083013e611abb565b846040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210611b2e57505050500390f35b91936001919395506020611b4d8192603f198a82030186528851611d49565b9601920192018594939192611b1f565b806060602080938901015201611a49565b833567ffffffffffffffff811161060c57602091611b93839260243691870101611cdf565b815201930192611a11565b600435906001600160a01b038216820361060c57565b602435906001600160a01b038216820361060c57565b35906001600160a01b038216820361060c57565b6060810190811067ffffffffffffffff82111761079d57604052565b6040810190811067ffffffffffffffff82111761079d57604052565b610160810190811067ffffffffffffffff82111761079d57604052565b60a0810190811067ffffffffffffffff82111761079d57604052565b610120810190811067ffffffffffffffff82111761079d57604052565b610100810190811067ffffffffffffffff82111761079d57604052565b90601f8019910116810190811067ffffffffffffffff82111761079d57604052565b67ffffffffffffffff811161079d5760051b60200190565b67ffffffffffffffff811161079d57601f01601f191660200190565b81601f8201121561060c57803590611cf682611cc3565b92611d046040519485611c89565b8284526020838301011161060c57816000926020809301838601378301015290565b60005b838110611d395750506000910152565b8181015183820152602001611d29565b90602091611d6281518092818552858086019101611d26565b601f01601f1916010190565b9181601f8401121561060c5782359167ffffffffffffffff831161060c576020808501948460051b01011161060c57565b60e060031982011261060c576004356001600160a01b038116810361060c57916024356001600160a01b038116810361060c579160443567ffffffffffffffff811161060c5781611df291600401611d6e565b929092916064359067ffffffffffffffff821161060c5761012090829003600319011261060c57600401906084359060a4359060c43590565b9081516002811015611e905781526080604080611e7581602087015160a06020880152805160a08801526020810151151560c08801520151606060e0870152610100860190611d49565b94015180518285015260208101516060850152015191015290565b634e487b7160e01b600052602160045260246000fd5b602081526040608082019280516020840152602081015182840152015191606080830152825180915260a0820191602060a08360051b8301019401926000915b838310611ef557505050505090565b9091929394602080611f24600193609f198682030187526040838b518051845201519181858201520190611d49565b97019301930191939290611ee6565b9061010060e0611f8f93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e08201520190611d49565b90565b608060031982011261060c576004356001600160a01b038116810361060c57916024356001600160a01b038116810361060c579160443567ffffffffffffffff811161060c5781611fe591600401611d6e565b929092916064359067ffffffffffffffff821161060c5761012090829003600319011261060c5760040190565b80511561201f5760200190565b634e487b7160e01b600052603260045260246000fd5b805182101561201f5760209160051b010190565b6040906001600160a01b03611f8f94931681528160208201520190611d49565b6040519061207682611bde565b606060408360008152600060208201520152565b6040519061209782611bde565b81600081526120a4612069565b602082015260408051916120b783611bde565b60008352600060208401526000828401520152565b9035601e198236030181121561060c57016020813591019167ffffffffffffffff821161060c57813603831361060c57565b908060209392818452848401376000828201840152601f01601f1916010190565b611f8f916001600160a01b0361213483611bca565b168152602082013560208201526121cd6121c161218861216d61215a60408701876120cc565b61012060408801526101208701916120fe565b61217a60608701876120cc565b9086830360608801526120fe565b6080850135608085015260a085013560a085015260c085013560c08501526121b360e08601866120cc565b9085830360e08701526120fe565b926101008101906120cc565b916101008185039101526120fe565b90602083828152019060208160051b85010193836000915b8383106122045750505050505090565b909192939495601f19828203018652863561011e198436030181121561060c5760206122356001938683940161211f565b9801960194930191906121f4565b93979695926122789061226a6001600160a01b039360a0989560c0895260c08901916121dc565b90868203602088015261211f565b97166040840152606083015260808201520152565b5190811515820361060c57565b81601f8201121561060c5780516122b081611cc3565b926122be6040519485611c89565b8184526020828401011161060c57611f8f9160208085019101611d26565b60208183031261060c5780519067ffffffffffffffff821161060c57018082039160a0831261060c576040519261231284611bde565b8251600281101561060c578452602083015167ffffffffffffffff811161060c57830160608184031261060c576040519061234c82611bde565b8051825261235c6020820161228d565b602083015260408101519367ffffffffffffffff851161060c57606094612383920161229a565b60408201526020850152603f19011261060c576080604051916123a583611bde565b604081015183526060810151602084015201516040820152604082015290565b604051906123d4602083611c89565b600080835282815b8281106123e857505050565b6020906040516123f781611bfa565b60008152606083820152828285010152016123dc565b90600182811c9216801561243d575b602083101461242757565b634e487b7160e01b600052602260045260246000fd5b91607f169161241c565b818110612452575050565b60008155600101612447565b6001602091939293845181550192015191825167ffffffffffffffff811161079d5761248a825461240d565b601f8111612530575b506020601f82116001146124ce57819293946000926124c3575b50508160011b916000199060031b1c1916179055565b0151905038806124ad565b601f1982169083600052806000209160005b818110612518575095836001959697106124ff575b505050811b019055565b015160001960f88460031b161c191690553880806124f5565b9192602060018192868b0151815501940192016124e0565b61255d90836000526020600020601f840160051c81019160208510612563575b601f0160051c0190612447565b38612493565b9091508190612550565b919081101561201f5760051b8101359061015e198136030182121561060c570190565b9190820391821161078757565b9190820180921161078757565b3d156125d5573d906125bb82611cc3565b916125c96040519384611c89565b82523d6000602084013e565b606090565b600054906801000000000000000082101561079d57600182018060005582101561201f57600080526126309160011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630161245e565b565b6040519061263f82611c6c565b606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b91611f8f939161268d916040855260408501916121dc565b91602081840391015261211f565b60208183031261060c5780519067ffffffffffffffff821161060c57016101008183031261060c57604051916126d083611c6c565b815183526020820151602084015260408201516040840152606082015160608401526080820151608084015260a082015160a084015261271260c0830161228d565b60c084015260e082015167ffffffffffffffff811161060c57612735920161229a565b60e082015290565b94919260c096999897946001600160a01b0361278095816127729516895216602088015260e0604088015260e08701916121dc565b90848203606086015261211f565b95608083015260a08201520152565b919082604091031261060c576040516127a781611bfa565b6020808294805184520151910152565b919081101561201f5760051b8101359061011e198136030182121561060c570190565b60405163428557b160e11b602082019081526000948594859485926128089186916108039160248401612049565b5a935193f1612ad5573d60405191602082840101604052818352602083013e6004815110612a6b576000600460609183516004811115612a63575b8015612a5b575b508181106129e8575b50507fffffffff0000000000000000000000000000000000000000000000000000000063428557b160e11b916020815191015182811691600481106129d3575b50501614612969578051606091600482612961565b6004811115612959575b50828110612910575b5050508051810160408282031261060c576128d86020830161228d565b9160408101519167ffffffffffffffff831161060c576128ff92602080920192010161229a565b90156129085790565b602081519101fd5b6040519350918290039101601f8201601f19165b8181015184820152601f190190811561293d5790612924565b50506040818301600060208201520160405281523880806128bb565b9050386128b2565b9250826128a8565b608460405162461bcd60e51b815260206004820152603d60248201527f44656c6567617465416e6452657665727420646964206e6f742072657665727460448201527f20776974682044656c6567617465416e64526576657274206572726f720000006064820152fd5b839250829060040360031b1b16163880612893565b604051925090819003908301601f8201601f19165b8181015184820152601f1901908115612a1657906129fd565b505063428557b160e11b917fffffffff000000000000000000000000000000000000000000000000000000009160408183016000602082015201604052815291612853565b90503861284a565b915081612843565b608460405162461bcd60e51b815260206004820152602a60248201527f44656c6567617465416e6452657665727420726576657274206461746120697360448201527f20746f6f2073686f7274000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602c60248201527f44656c6567617465416e6452657665727420646964206e6f742072657665727460448201527f20617320657870656374656400000000000000000000000000000000000000006064820152fdfea2646970667358221220cbccf29c790f96f4235df84b0fd5c1cc2de547093f5bf08c46fc21a93e16cb5364736f6c634300081c0033","sourceMap":"852:14571:20:-:0;;;;;;;2573:27;;;;852:14571;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b60003560e01c8063141eb033146119995780632e5a0a931461192a578063713499031461181c578063861d9d5914611606578063959c4cb714610e345780639f2d378914610da2578063a4968eab14610b5b578063de040de11461083b578063f1143043146107b35763fccb5ff61461008a57600080fd5b3461060c57606036600319011261060c5760043567ffffffffffffffff811161060c576100bb903690600401611d6e565b906100c4611bb4565b906044356001600160a01b03811680910361060c576100e1612069565b506100ea6123c5565b80519068010000000000000000821161079d57600054826000558083106106a2575b50602090959493929501600080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5636000915b83831061067a575060409560009586956020955093509091506001600160a01b0316845b8281106102a75787878782519161017983611bde565b825260208201526000549161018d83611cab565b61019982519182611c89565b8381526000808052937f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563602083015b8287106101e6578486018490528451806101e28882611ea6565b0390f35b84516101f181611bfa565b8254815285516001840180546000916102098261240d565b8085529160018116908115610282575060011461024a575b505092600292826102386020946001970382611c89565b838201528152019201960195906101c8565b6000908152602081209092505b81831061026c57505081016020018282610221565b6001816020925483868801015201920191610257565b60ff191660208087019190915292151560051b85019092019250849150839050610221565b87516102b38982611c89565b6001815260005b86811061061157506102cd8285876127b7565b6101208136031261060c578951906102e482611c4f565b6102ed81611bca565b8252602081013560208301528a81013567ffffffffffffffff811161060c576103199036908301611cdf565b8b830152606081013567ffffffffffffffff811161060c5761033e9036908301611cdf565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013567ffffffffffffffff811161060c576103829036908301611cdf565b60e08301526101008101359067ffffffffffffffff821161060c576103a991369101611cdf565b6101008201526103b882612012565b526103c281612012565b5082315a918b3b1561060c578a51907f765e827f000000000000000000000000000000000000000000000000000000008252604482018c6004840152815180915260648301602060648360051b86010193019160005b81811061055a575050505081806000929d9e9b9c9d8860248301520381838d5af19081610549575b5061051b5750506104986104526125aa565b602061045f8487896127b7565b8c51809481927f22cdde4c000000000000000000000000000000000000000000000000000000008352846004840152602483019061211f565b03818b5afa918215610510576000926104d8575b50600192916104cd918c51916104c183611bfa565b825260208201526125da565b019796959497610163565b90916020823d8211610508575b816104f260209383611c89565b81010312610505575051906104cd6104ac565b80fd5b3d91506104e5565b8b513d6000823e3d90fd5b976105376001939961053d610543949c6105375a89319f612590565b9061259d565b9b612590565b966104cd565b600061055491611c89565b38610440565b909192938f602061060081926001946063198b82030189526101006105ee6105be6105ac8d51956001600160a01b03875116865288870151898701526101208188015191870152610120860190611d49565b60608601518582036060870152611d49565b6080850151608085015260a085015160a085015260c085015160c085015260e085015184820360e0860152611d49565b92015190610100818403910152611d49565b96019401929101610418565b600080fd5b6020908a989699939a97929495975161062981611c4f565b6000815260008382015260608a82015260608082015260006080820152600060a0820152600060c0820152606060e082015260606101008201528282870101520198919794969895939290956102ba565b60026020826106916001949b98999a9b518661245e565b01920192019190969594939661013f565b6001600160ff1b0381168103610787576001600160ff1b0383168303610787576000805260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563015b81811061071f575061010c565b6002906000815560018101610734815461240d565b9081610743575b505001610712565b81601f6000931160011461075b5750555b388061073b565b8183526020832061077791601f0160051c810190600101612447565b8082528160208120915555610754565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b3461060c576101e26108276108186108116108036001600160a01b036107d836611f92565b6107e6979394969197612632565b5060405197889363af32494360e01b602086015260248501612675565b03601f198101865285611c89565b16906127da565b6020808251830101910161269b565b604051918291602083526020830190611f33565b3461060c576109546108116108036001600160a01b0361085a36611f92565b60409793949691975161086c81611c33565b60405161087881611c33565b600081526000602082015260006040820152600060608201526060608082015281526040516108a681611bfa565b600081526000602082015260208201526040516108c281611bfa565b600081526000602082015260408201526040516108de81611bfa565b600081526000602082015260608201526080604051916108fd83611bfa565b6000835260405161090d81611bfa565b6000815260006020820152602084015201526040519788937faec321fb00000000000000000000000000000000000000000000000000000000602086015260248501612675565b8051810190602082019060208184031261060c5760208101519067ffffffffffffffff821161060c5701808303601f1981019291906101401361060c576040519361099e85611c33565b602082015167ffffffffffffffff811161060c578201602081019160a09190031261060c57604051906109d082611c33565b8051825260208101516020830152604081015160408301526060810151606083015260808101519067ffffffffffffffff821161060c57610a139185910161229a565b60808201528452610a27826040830161278f565b9160208501928352610a3c816080840161278f565b93604086019485526060610a538360c0860161278f565b8782019081529160bf19011261060c5760405190610a7082611bfa565b610100840151906001600160a01b038216820361060c576020809781610b0560806101409c610aaa849b9a610120869c879b8d520161278f565b848a01528181019889526040519d848f9e928f938452519201528c61016082519101528c610180858301519101528c6101a060408301519101528c6101c06060830151910152015160a06101e08d01526102008c0190611d49565b9851805160408c0152015160608a015251805160808a0152015160a088015251805160c0880152015160e0860152516001600160a01b038151166101008601520151805161012085015201516101408301520390f35b3461060c57610b6936611d9f565b96906040969296959394955196610b7f88611bde565b610b87612632565b88526020880195610b9661208a565b87526040890197610ba561208a565b895260405163af32494360e01b602082015280610bc784848b60248501612675565b03601f1981018252610bd99082611c89565b610bed906001600160a01b038816876127da565b805181016020019060200190610c029161269b565b8a526040517f2e5a0a9300000000000000000000000000000000000000000000000000000000815280610c3f8d878787878e8e8e60048a0161273d565b03813091815a6000948591f1908115610d7b57600091610d87575b50885260e0820135601e198336030181121561060c57820180359067ffffffffffffffff821161060c57602082360391011361060c5760141115610ce7575b610cc18a6101e28b610cd48c6040519586956020875251606060208801526080870190611f33565b9051858203601f19016040870152611e2b565b9051838203601f19016060850152611e2b565b91610d28939160009799989b936040519a8b9889987f9f2d3789000000000000000000000000000000000000000000000000000000008a5260048a0161273d565b038183305af1918215610d7b57610cc1946101e293610cd492600091610d58575b50835291928680808080610c99565b610d7591503d806000833e610d6d8183611c89565b8101906122dc565b87610d49565b6040513d6000823e3d90fd5b610d9c91503d806000833e610d6d8183611c89565b8c610c5a565b3461060c576101e2610e20610e116108036108116001600160a01b03610dc736611d9f565b929580979996610ddb9b959b93929361208a565b506040519b8c977fd72f25930000000000000000000000000000000000000000000000000000000060208a015260248901612243565b602080825183010191016122dc565b604051918291602083526020830190611e2b565b3461060c57606036600319011261060c5760043567ffffffffffffffff811161060c57610e65903690600401611d6e565b90610e6e611bb4565b906044356001600160a01b03811680910361060c57610e8b612069565b50610e946123c5565b80519068010000000000000000821161079d5760005482600055808310611521575b50602090959493929501600080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5636000915b8383106114f9575060409560009586956020955093509091506001600160a01b0316845b82811061104d57878787825191610f2383611bde565b8252602082015260005491610f3783611cab565b610f4382519182611c89565b8381526000808052937f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563602083015b828710610f8c578486018490528451806101e28882611ea6565b8451610f9781611bfa565b825481528551600184018054600091610faf8261240d565b80855291600181169081156110285750600114610ff0575b50509260029282610fde6020946001970382611c89565b83820152815201920196019590610f72565b6000908152602081209092505b81831061101257505081016020018282610fc7565b6001816020925483868801015201920191610ffd565b60ff191660208087019190915292151560051b85019092019250849150839050610fc7565b87516110598982611c89565b6001815260005b868110611480575061107382858761256d565b6101608136031261060c5789519061108a82611c16565b61109381611bca565b8252602081013560208301528a81013567ffffffffffffffff811161060c576110bf9036908301611cdf565b8b830152606081013567ffffffffffffffff811161060c576110e49036908301611cdf565b60608301526080810135608083015260a081013560a083015260c081013560c083015260e081013560e083015261010081013561010083015261012081013567ffffffffffffffff811161060c5761113f9036908301611cdf565b6101208301526101408101359067ffffffffffffffff821161060c5761116791369101611cdf565b61014082015261117682612012565b5261118081612012565b5082315a918b3b1561060c578a51907f1fad948c000000000000000000000000000000000000000000000000000000008252604482018c6004840152815180915260648301602060648360051b86010193019160005b8181106113c8575050505081806000929d9e9b9c9d8860248301520381838d5af190816113b7575b506113955750506112986112106125aa565b60206112858c61132c611224878a8c61256d565b61131961130d6112b78551998a9788977fa61935310000000000000000000000000000000000000000000000000000000089528a60048a01526001600160a01b0361126e88611bca565b1660248a01528a87013560448a01528601866120cc565b61016060648a01526101848901916120fe565b6112a560608601866120cc565b8883036023190160848a0152906120fe565b608084013560a487015260a084013560c487015260c084013560e487015260e08401356101048701526101008401356101248701526112fa6101208501856120cc565b87830360231901610144890152906120fe565b916101408101906120cc565b84830360231901610164860152906120fe565b03818b5afa91821561051057600092611360575b5060019291611355918c51916104c183611bfa565b019796959497610f0d565b90916020823d821161138d575b8161137a60209383611c89565b8101031261050557505190611355611340565b3d915061136d565b976105376001939961053d6113b1949c6105375a89319f612590565b96611355565b60006113c291611c89565b8c6111fe565b909192938f602061147481926001946063198b820301895261014061146261141a6105ac8d51956001600160a01b03875116865288870151898701526101608188015191870152610160860190611d49565b6080850151608085015260a085015160a085015260c085015160c085015260e085015160e0850152610100850151610100850152610120850151848203610120860152611d49565b92015190610140818403910152611d49565b960194019291016111d6565b6020908a989699939a97929495975161149881611c16565b6000815260008382015260608a82015260608082015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260606101208201526060610140820152828287010152019891979496989593929095611060565b60026020826115106001949b98999a9b518661245e565b019201920191909695949396610ee9565b6001600160ff1b0381168103610787576001600160ff1b0383168303610787576000805260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018260011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563015b81811061159e5750610eb6565b60029060008155600181016115b3815461240d565b90816115c2575b505001611591565b81601f600093116001146115da5750555b89806115ba565b818352602083206115f691601f0160051c810190600101612447565b80825281602081209155556115d3565b3461060c57606036600319011261060c5760043567ffffffffffffffff811161060c57611637903690600401611d6e565b61163f611bb4565b91604435916001600160a01b03831680930361060c576116a993600093611664612069565b506001600160a01b0360405196879586957ffccb5ff60000000000000000000000000000000000000000000000000000000087526060600488015260648701916121dc565b921660248401526044830152038183305af1908115610d7b576000916116d8575b604051806101e28482611ea6565b3d8083833e6116e78183611c89565b8101906020818303126118145780519067ffffffffffffffff8211611818570190606082820312611814576040519161171f83611bde565b805183526020810151602084015260408101519067ffffffffffffffff8211611810570181601f820112156118185780519361175a85611cab565b926117686040519485611c89565b85845260208085019660051b840101928184116118145760208101965b8488106117a0575050505050604082015290506101e26116ca565b875167ffffffffffffffff81116118105782016040818503601f19011261181057604051906117ce82611bfa565b6020810151825260408101519067ffffffffffffffff821161180c57916117fd8660208096948196010161229a565b83820152815201970196611785565b8680fd5b8480fd5b8280fd5b8380fd5b3461060c5760e036600319011261060c57611835611b9e565b61183d611bb4565b60443567ffffffffffffffff811161060c5761185d903690600401611d6e565b906064359267ffffffffffffffff841161060c57610120600319853603011261060c576101e294611925610e11946118f0610e209761189a61208a565b506118db6040519788947facbe911e00000000000000000000000000000000000000000000000000000000602087015260c0602487015260e48601916121dc565b8381036023190160448501529060040161211f565b6001600160a01b0385166064830152608435608483015260a43560a483015260c43560c483015203601f198101855284611c89565b6127da565b3461060c576101e2610e20610e116108036108116001600160a01b0361194f36611d9f565b9295809799966119639b959b93929361208a565b506040519b8c977f212eccc60000000000000000000000000000000000000000000000000000000060208a015260248901612243565b3461060c57606036600319011261060c576119b2611b9e565b6119ba611bb4565b60443567ffffffffffffffff811161060c573660238201121561060c5780600401356119e581611cab565b916119f36040519384611c89565b8183526024602084019260051b8201019036821161060c5760248101925b828410611b6e5750505050805192611a2884611cab565b93611a366040519586611c89565b808552611a45601f1991611cab565b0160005b818110611b5d5750506001600160a01b0360009316925b8251811015611af5576001906060600080611a7b8488612035565b5160405190611aae82611aa0602082019363428557b160e11b85528b60248401612049565b03601f198101845283611c89565b828a5a935193f115611ad7575b611ac58288612035565b52611ad08187612035565b5001611a60565b503d604051906020818301016040528082526000602083013e611abb565b846040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210611b2e57505050500390f35b91936001919395506020611b4d8192603f198a82030186528851611d49565b9601920192018594939192611b1f565b806060602080938901015201611a49565b833567ffffffffffffffff811161060c57602091611b93839260243691870101611cdf565b815201930192611a11565b600435906001600160a01b038216820361060c57565b602435906001600160a01b038216820361060c57565b35906001600160a01b038216820361060c57565b6060810190811067ffffffffffffffff82111761079d57604052565b6040810190811067ffffffffffffffff82111761079d57604052565b610160810190811067ffffffffffffffff82111761079d57604052565b60a0810190811067ffffffffffffffff82111761079d57604052565b610120810190811067ffffffffffffffff82111761079d57604052565b610100810190811067ffffffffffffffff82111761079d57604052565b90601f8019910116810190811067ffffffffffffffff82111761079d57604052565b67ffffffffffffffff811161079d5760051b60200190565b67ffffffffffffffff811161079d57601f01601f191660200190565b81601f8201121561060c57803590611cf682611cc3565b92611d046040519485611c89565b8284526020838301011161060c57816000926020809301838601378301015290565b60005b838110611d395750506000910152565b8181015183820152602001611d29565b90602091611d6281518092818552858086019101611d26565b601f01601f1916010190565b9181601f8401121561060c5782359167ffffffffffffffff831161060c576020808501948460051b01011161060c57565b60e060031982011261060c576004356001600160a01b038116810361060c57916024356001600160a01b038116810361060c579160443567ffffffffffffffff811161060c5781611df291600401611d6e565b929092916064359067ffffffffffffffff821161060c5761012090829003600319011261060c57600401906084359060a4359060c43590565b9081516002811015611e905781526080604080611e7581602087015160a06020880152805160a08801526020810151151560c08801520151606060e0870152610100860190611d49565b94015180518285015260208101516060850152015191015290565b634e487b7160e01b600052602160045260246000fd5b602081526040608082019280516020840152602081015182840152015191606080830152825180915260a0820191602060a08360051b8301019401926000915b838310611ef557505050505090565b9091929394602080611f24600193609f198682030187526040838b518051845201519181858201520190611d49565b97019301930191939290611ee6565b9061010060e0611f8f93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e08201520190611d49565b90565b608060031982011261060c576004356001600160a01b038116810361060c57916024356001600160a01b038116810361060c579160443567ffffffffffffffff811161060c5781611fe591600401611d6e565b929092916064359067ffffffffffffffff821161060c5761012090829003600319011261060c5760040190565b80511561201f5760200190565b634e487b7160e01b600052603260045260246000fd5b805182101561201f5760209160051b010190565b6040906001600160a01b03611f8f94931681528160208201520190611d49565b6040519061207682611bde565b606060408360008152600060208201520152565b6040519061209782611bde565b81600081526120a4612069565b602082015260408051916120b783611bde565b60008352600060208401526000828401520152565b9035601e198236030181121561060c57016020813591019167ffffffffffffffff821161060c57813603831361060c57565b908060209392818452848401376000828201840152601f01601f1916010190565b611f8f916001600160a01b0361213483611bca565b168152602082013560208201526121cd6121c161218861216d61215a60408701876120cc565b61012060408801526101208701916120fe565b61217a60608701876120cc565b9086830360608801526120fe565b6080850135608085015260a085013560a085015260c085013560c08501526121b360e08601866120cc565b9085830360e08701526120fe565b926101008101906120cc565b916101008185039101526120fe565b90602083828152019060208160051b85010193836000915b8383106122045750505050505090565b909192939495601f19828203018652863561011e198436030181121561060c5760206122356001938683940161211f565b9801960194930191906121f4565b93979695926122789061226a6001600160a01b039360a0989560c0895260c08901916121dc565b90868203602088015261211f565b97166040840152606083015260808201520152565b5190811515820361060c57565b81601f8201121561060c5780516122b081611cc3565b926122be6040519485611c89565b8184526020828401011161060c57611f8f9160208085019101611d26565b60208183031261060c5780519067ffffffffffffffff821161060c57018082039160a0831261060c576040519261231284611bde565b8251600281101561060c578452602083015167ffffffffffffffff811161060c57830160608184031261060c576040519061234c82611bde565b8051825261235c6020820161228d565b602083015260408101519367ffffffffffffffff851161060c57606094612383920161229a565b60408201526020850152603f19011261060c576080604051916123a583611bde565b604081015183526060810151602084015201516040820152604082015290565b604051906123d4602083611c89565b600080835282815b8281106123e857505050565b6020906040516123f781611bfa565b60008152606083820152828285010152016123dc565b90600182811c9216801561243d575b602083101461242757565b634e487b7160e01b600052602260045260246000fd5b91607f169161241c565b818110612452575050565b60008155600101612447565b6001602091939293845181550192015191825167ffffffffffffffff811161079d5761248a825461240d565b601f8111612530575b506020601f82116001146124ce57819293946000926124c3575b50508160011b916000199060031b1c1916179055565b0151905038806124ad565b601f1982169083600052806000209160005b818110612518575095836001959697106124ff575b505050811b019055565b015160001960f88460031b161c191690553880806124f5565b9192602060018192868b0151815501940192016124e0565b61255d90836000526020600020601f840160051c81019160208510612563575b601f0160051c0190612447565b38612493565b9091508190612550565b919081101561201f5760051b8101359061015e198136030182121561060c570190565b9190820391821161078757565b9190820180921161078757565b3d156125d5573d906125bb82611cc3565b916125c96040519384611c89565b82523d6000602084013e565b606090565b600054906801000000000000000082101561079d57600182018060005582101561201f57600080526126309160011b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630161245e565b565b6040519061263f82611c6c565b606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b91611f8f939161268d916040855260408501916121dc565b91602081840391015261211f565b60208183031261060c5780519067ffffffffffffffff821161060c57016101008183031261060c57604051916126d083611c6c565b815183526020820151602084015260408201516040840152606082015160608401526080820151608084015260a082015160a084015261271260c0830161228d565b60c084015260e082015167ffffffffffffffff811161060c57612735920161229a565b60e082015290565b94919260c096999897946001600160a01b0361278095816127729516895216602088015260e0604088015260e08701916121dc565b90848203606086015261211f565b95608083015260a08201520152565b919082604091031261060c576040516127a781611bfa565b6020808294805184520151910152565b919081101561201f5760051b8101359061011e198136030182121561060c570190565b60405163428557b160e11b602082019081526000948594859485926128089186916108039160248401612049565b5a935193f1612ad5573d60405191602082840101604052818352602083013e6004815110612a6b576000600460609183516004811115612a63575b8015612a5b575b508181106129e8575b50507fffffffff0000000000000000000000000000000000000000000000000000000063428557b160e11b916020815191015182811691600481106129d3575b50501614612969578051606091600482612961565b6004811115612959575b50828110612910575b5050508051810160408282031261060c576128d86020830161228d565b9160408101519167ffffffffffffffff831161060c576128ff92602080920192010161229a565b90156129085790565b602081519101fd5b6040519350918290039101601f8201601f19165b8181015184820152601f190190811561293d5790612924565b50506040818301600060208201520160405281523880806128bb565b9050386128b2565b9250826128a8565b608460405162461bcd60e51b815260206004820152603d60248201527f44656c6567617465416e6452657665727420646964206e6f742072657665727460448201527f20776974682044656c6567617465416e64526576657274206572726f720000006064820152fd5b839250829060040360031b1b16163880612893565b604051925090819003908301601f8201601f19165b8181015184820152601f1901908115612a1657906129fd565b505063428557b160e11b917fffffffff000000000000000000000000000000000000000000000000000000009160408183016000602082015201604052815291612853565b90503861284a565b915081612843565b608460405162461bcd60e51b815260206004820152602a60248201527f44656c6567617465416e6452657665727420726576657274206461746120697360448201527f20746f6f2073686f7274000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602c60248201527f44656c6567617465416e6452657665727420646964206e6f742072657665727460448201527f20617320657870656374656400000000000000000000000000000000000000006064820152fdfea2646970667358221220cbccf29c790f96f4235df84b0fd5c1cc2de547093f5bf08c46fc21a93e16cb5364736f6c634300081c0033","sourceMap":"852:14571:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;:::i;:::-;;12191:23;;:::i;:::-;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;;;;;;;-1:-1:-1;12412:13:20;-1:-1:-1;852:14571:20;;-1:-1:-1;;;;;;852:14571:20;;12427:18;;;;;;852:14571;;;;;;;;;:::i;:::-;;;;13459:155;;852:14571;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13459:155;;;852:14571;;;;;;;13459:155;852:14571;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;12447:3;852:14571;;;;;;:::i;:::-;;;;;;;;;;;12647:10;;;;;;:::i;:::-;852:14571;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;12628:29;;;:::i;:::-;;;;;:::i;:::-;;12696:19;;12749:9;12777:48;;;;;;852:14571;;12777:48;852:14571;12777:48;;852:14571;;;12777:48;852:14571;12777:48;;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12777:48;;;;;;;;;;852:14571;-1:-1:-1;12773:659:20;;13130:302;;852:14571;13130:302;;:::i;:::-;852:14571;13298:10;;;;;:::i;:::-;852:14571;;13273:36;;;;852:14571;13273:36;;;852:14571;13273:36;;852:14571;;;;;;:::i;:::-;13273:36;;;;;;;;;;852:14571;13273:36;;;12773:659;852:14571;;;;13327:90;852:14571;;;;;;;:::i;:::-;;;;13348:68;;852:14571;13327:90;:::i;:::-;852:14571;12412:13;;;;;;;13273:36;;;852:14571;13273:36;;;;;;;;;852:14571;13273:36;;;:::i;:::-;;;852:14571;;;;-1:-1:-1;852:14571:20;;13327:90;13273:36;;852:14571;;;13273:36;;;-1:-1:-1;13273:36:20;;;852:14571;;;;;;;;;12773:659;12863:9;13086:28;852:14571;12863:9;;13010:36;13064:50;12863:9;;13026:20;12863:9;12913:19;;13026:20;;:::i;:::-;13010:36;;:::i;:::-;13086:28;;:::i;13064:50::-;12773:659;;;12777:48;852:14571;12777:48;;;:::i;:::-;;;;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;12777:48;852:14571;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;852:14571:20;;;;;;;;;-1:-1:-1;;;852:14571:20;;;;;;;;;;;;;11026:64;10950:59;10853:61;;-1:-1:-1;;;;;852:14571:20;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;10853:61;;;-1:-1:-1;;;10853:61:20;;;;;;;;:::i;:::-;;852:14571;;10853:61;;;;;;:::i;:::-;852:14571;10950:59;;:::i;:::-;10853:61;852:14571;;;11026:64;;;;;;:::i;:::-;852:14571;;;;;10853:61;852:14571;;10853:61;852:14571;;;;:::i;:::-;;;;10263:59;10166:61;;-1:-1:-1;;;;;852:14571:20;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;;;;;;;;;;;10166:61;;;10086:50;852:14571;10166:61;;;;;;;:::i;10263:59::-;852:14571;;10339:65;;;852:14571;10339:65;;852:14571;;;;;;;;;10339:65;;852:14571;;;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;-1:-1:-1;852:14571:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;852:14571:20;6022:61;;;852:14571;6022:61;;;;;;;;:::i;:::-;;852:14571;;6022:61;;;;;;;;:::i;:::-;6119:59;;-1:-1:-1;;;;;852:14571:20;;6119:59;;:::i;:::-;852:14571;;6214:64;;852:14571;6214:64;;852:14571;6214:64;;;;;:::i;:::-;6188:90;;852:14571;;;6374:162;;852:14571;6374:162;852:14571;;;;;;;;;6374:162;;;:::i;:::-;;:4;;:162;;;852:14571;6374:162;;;;;;;;;852:14571;6374:162;;;852:14571;6344:192;;;852:14571;6641:29;;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6681:2;-1:-1:-1;6641:42:20;6637:387;;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;852:14571:20;;;;;;:::i;:::-;;;;;;-1:-1:-1;;852:14571:20;;;;;;:::i;6637:387::-;852:14571;6738:275;852:14571;;;;;;;;;;6738:275;;;;;852:14571;6738:275;;852:14571;6738:275;;;:::i;:::-;;6374:4;;;6738:275;;;;;;;852:14571;6738:275;852:14571;6738:275;852:14571;6738:275;852:14571;6738:275;;;6637:387;6699:314;;;6637:387;;;;;;;;;6738:275;;;;;;852:14571;6738:275;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;852:14571;;;;;;;;;6374:162;;;;;;852:14571;6374:162;;;;;;:::i;:::-;;;;852:14571;;;;;8778:67;8702:59;8526:140;;-1:-1:-1;;;;;852:14571:20;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;8526:140;;;8428:68;8526:140;;;;;;;;:::i;8702:59::-;8526:140;852:14571;;;8778:67;;;;;;:::i;:::-;852:14571;;;;;8526:140;852:14571;;8526:140;852:14571;;;;:::i;:::-;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;:::i;:::-;;14003:23;;:::i;:::-;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;;;;;;;-1:-1:-1;14224:13:20;-1:-1:-1;852:14571:20;;-1:-1:-1;;;;;;852:14571:20;;14239:18;;;;;;852:14571;;;;;;;;;:::i;:::-;;;;15259:155;;852:14571;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15259:155;;;852:14571;;;;;;;15259:155;852:14571;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;14259:3;852:14571;;;;;;:::i;:::-;;;;;;;;;;;14447:10;;;;;;:::i;:::-;852:14571;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;14428:29;;;:::i;:::-;;;;;:::i;:::-;;14496:19;;14549:9;14577:48;;;;;;852:14571;;14577:48;852:14571;14577:48;;852:14571;;;14577:48;852:14571;14577:48;;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14577:48;;;;;;;;;;852:14571;-1:-1:-1;14573:659:20;;14930:302;;852:14571;14930:302;;:::i;:::-;852:14571;;15098:10;852:14571;15098:10;;;;;:::i;:::-;852:14571;;;;;15073:36;;;;;852:14571;15073:36;;;852:14571;15073:36;;852:14571;-1:-1:-1;;;;;852:14571:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;852:14571:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;852:14571:20;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;852:14571:20;;;;;;;:::i;:::-;15073:36;;;;;;;;;;852:14571;15073:36;;;14573:659;852:14571;;;;15127:90;852:14571;;;;;;;:::i;15127:90::-;852:14571;14224:13;;;;;;;15073:36;;;852:14571;15073:36;;;;;;;;;852:14571;15073:36;;;:::i;:::-;;;852:14571;;;;-1:-1:-1;852:14571:20;;15127:90;15073:36;;;;;-1:-1:-1;15073:36:20;;14573:659;14663:9;14886:28;852:14571;14663:9;;14810:36;14864:50;14663:9;;14826:20;14663:9;14713:19;;14826:20;;:::i;14864:50::-;14573:659;;;14577:48;852:14571;14577:48;;;:::i;:::-;;;;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:14571:20;;11722:74;;;;;852:14571;11722:74;;852:14571;;11722:74;;852:14571;;;;;;:::i;:::-;;;;;;;;;;;11722:74;:4;;;:74;;;;;;;852:14571;11722:74;;;852:14571;;;;;;;;:::i;11722:74::-;;;;;;;;;;:::i;:::-;;;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;-1:-1:-1;852:14571:20;11722:74;;852:14571;;;;;;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;9391:140;9567:59;852:14571;;9643:67;852:14571;;;:::i;:::-;;;;;9391:140;;;9310:51;852:14571;9391:140;;;852:14571;;9391:140;;852:14571;;;;;;:::i;:::-;;;;-1:-1:-1;;852:14571:20;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;9391:140;852:14571;;9391:140;;;;;;:::i;:::-;9567:59;:::i;852:14571::-;;;;;7853:67;7777:59;7601:140;;-1:-1:-1;;;;;852:14571:20;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;7601:140;;;7512:59;7601:140;;;;;;;;:::i;852:14571::-;;;;;;-1:-1:-1;;852:14571:20;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;3142:13;;-1:-1:-1;;;;;852:14571:20;;;3137:468;3174:3;852:14571;;3157:15;;;;;852:14571;3193:23;852:14571;;3357:7;;;;;:::i;:::-;;852:14571;;3270:95;;;;852:14571;3270:95;;;-1:-1:-1;;;3270:95:20;;;852:14571;3270:95;;;:::i;:::-;;852:14571;;3270:95;;;;;;:::i;:::-;3429:9;;;378:118:11;;;;3457:8:20;3453:97;;3174:3;3563:31;;;;:::i;:::-;;;;;;:::i;:::-;;852:14571;3142:13;;3453:97;1204:349:11;;852:14571:20;1204:349:11;;852:14571:20;1204:349:11;;;;852:14571:20;1204:349:11;;;;852:14571:20;;1204:349:11;;;3453:97:20;;3157:15;;852:14571;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;852:14571:20;;;;;;:::o;:::-;;;-1:-1:-1;;;;;852:14571:20;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;852:14571:20;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;852:14571:20;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;852:14571:20;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;852:14571:20;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;852:14571:20;;;;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;-1:-1:-1;;852:14571:20;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;-1:-1:-1;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;;;;;:::o;:::-;;;;;;;:::i;:::-;;-1:-1:-1;852:14571:20;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;;;-1:-1:-1;852:14571:20;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;;;;;;;-1:-1:-1;;852:14571:20;;;;:::o;:::-;;;-1:-1:-1;;;;;852:14571:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;852:14571:20;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;852:14571:20;;;;;;;;;;;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:14571:20;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;852:14571:20;;-1:-1:-1;852:14571:20;;;;-1:-1:-1;852:14571:20;;;;-1:-1:-1;852:14571:20;;;;-1:-1:-1;852:14571:20;;;;-1:-1:-1;852:14571:20;;;;-1:-1:-1;852:14571:20;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:14571:20;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3933:1459::-;852:14571;;-1:-1:-1;;;4217:60:20;;;;;;-1:-1:-1;;;;;;;;4217:60:20;;852:14571;;4217:60;;;;;;:::i;:::-;4337:9;378:118:11;;;;-1:-1:-1;;1204:349:11;852:14571:20;1204:349:11;;4217:60:20;1204:349:11;;;;852:14571:20;1204:349:11;;;;4217:60:20;1204:349:11;;;4217:60:20;852:14571;;4609:21;4605:104;;-1:-1:-1;4217:60:20;852:14571;15879:919:18;;;4217:60:20;15879:919:18;;;;;4358:174:20;15879:919:18;;;;4358:174:20;15879:919:18;;;;;;4358:174:20;4797:30;;852:14571;-1:-1:-1;;;4797:30:20;4217:60;852:14571;;;;;;;;;4217:60;852:14571;;;;4358:174;852:14571;;;4841:60;4837:162;;852:14571;;;;4217:60;852:14571;15879:919:18;;4358:174:20;4217:60;15879:919:18;;;;;4358:174:20;15879:919:18;;;;;;4358:174:20;852:14571;;;;;5201:37;;852:14571;;;;;;;;4217:60;5201:37;;852:14571;:::i;:::-;;;;;;;;;;;;;5201:37;4217:60;5201:37;;;852:14571;;;;:::i;:::-;5253:25;;5249:98;;3933:1459;:::o;5249:98::-;4217:60;1712:95:11;;;;;15879:919:18;852:14571:20;15879:919:18;;-1:-1:-1;15879:919:18;;;;;;852:14571:20;15879:919:18;;-1:-1:-1;;15879:919:18;;;;;;;;;;-1:-1:-1;;15879:919:18;;;;;;;;;;;;852:14571:20;15879:919:18;;;-1:-1:-1;4217:60:20;15879:919:18;;;;852:14571:20;15879:919:18;;;;;;;;;;;;;;;;-1:-1:-1;15879:919:18;;;4837:162:20;4917:71;852:14571;;-1:-1:-1;;;4917:71:20;;4217:60;;4917:71;;852:14571;;4217:60;852:14571;;;;;;;;;;;;;4917:71;852:14571;;;;;;4217:60;852:14571;;;;;;;;;;15879:919:18;852:14571:20;15879:919:18;;-1:-1:-1;15879:919:18;;;;;;;852:14571:20;15879:919:18;;-1:-1:-1;;15879:919:18;;;;;;;;;;-1:-1:-1;;15879:919:18;;;;;;;;;;;;-1:-1:-1;;;15879:919:18;852:14571:20;15879:919:18;852:14571:20;15879:919:18;;;-1:-1:-1;4217:60:20;15879:919:18;;;;852:14571:20;15879:919:18;;;;;;;;;;;;;;-1:-1:-1;15879:919:18;;;4605:104:20;4646:52;852:14571;;-1:-1:-1;;;4646:52:20;;4217:60;;4646:52;;852:14571;;4217:60;852:14571;;;;;;;;;;;;;4646:52;4358:174;4467:54;852:14571;;-1:-1:-1;;;4467:54:20;;4217:60;;4467:54;;852:14571;;4217:60;852:14571;;;;;;;;;;;;;4467:54","linkReferences":{}},"methodIdentifiers":{"binarySearchCallGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)":"71349903","binarySearchPaymasterVerificationGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)":"9f2d3789","binarySearchVerificationGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)":"2e5a0a93","filterOps06((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address,address)":"959c4cb7","filterOps07((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,address)":"fccb5ff6","filterOps08((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,address)":"861d9d59","simulateAndEstimateGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)":"a4968eab","simulateEntryPointBulk(address,address,bytes[])":"141eb033","simulateHandleOp(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"f1143043","simulateValidation(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"de040de1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"PimlicoSimulationDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entryPointSimulation\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"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\":\"queuedUserOps\",\"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 PackedUserOperation\",\"name\":\"targetUserOp\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"initialMinGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toleranceDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasAllowance\",\"type\":\"uint256\"}],\"name\":\"binarySearchCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"enum IEntryPointSimulations.BinarySearchResultType\",\"name\":\"resultType\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchSuccess\",\"name\":\"successData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"optimalGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxGas\",\"type\":\"uint256\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchOutOfGas\",\"name\":\"outOfGasData\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entryPointSimulation\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"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\":\"queuedUserOps\",\"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 PackedUserOperation\",\"name\":\"targetUserOp\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"initialMinGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toleranceDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasAllowance\",\"type\":\"uint256\"}],\"name\":\"binarySearchPaymasterVerificationGas\",\"outputs\":[{\"components\":[{\"internalType\":\"enum IEntryPointSimulations.BinarySearchResultType\",\"name\":\"resultType\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchSuccess\",\"name\":\"successData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"optimalGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxGas\",\"type\":\"uint256\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchOutOfGas\",\"name\":\"outOfGasData\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entryPointSimulation\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"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\":\"queuedUserOps\",\"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 PackedUserOperation\",\"name\":\"targetUserOp\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"initialMinGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toleranceDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasAllowance\",\"type\":\"uint256\"}],\"name\":\"binarySearchVerificationGas\",\"outputs\":[{\"components\":[{\"internalType\":\"enum IEntryPointSimulations.BinarySearchResultType\",\"name\":\"resultType\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchSuccess\",\"name\":\"successData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"optimalGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxGas\",\"type\":\"uint256\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchOutOfGas\",\"name\":\"outOfGasData\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchResult\",\"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\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct UserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IEntryPoint\",\"name\":\"entryPoint\",\"type\":\"address\"}],\"name\":\"filterOps06\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"balanceChange\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"internalType\":\"struct PimlicoSimulations.RejectedUserOp[]\",\"name\":\"rejectedUserOps\",\"type\":\"tuple[]\"}],\"internalType\":\"struct PimlicoSimulations.FilterOpsResult\",\"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[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IEntryPoint\",\"name\":\"entryPoint\",\"type\":\"address\"}],\"name\":\"filterOps07\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"balanceChange\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"internalType\":\"struct PimlicoSimulations.RejectedUserOp[]\",\"name\":\"rejectedUserOps\",\"type\":\"tuple[]\"}],\"internalType\":\"struct PimlicoSimulations.FilterOpsResult\",\"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[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IEntryPoint\",\"name\":\"entryPoint\",\"type\":\"address\"}],\"name\":\"filterOps08\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"balanceChange\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"internalType\":\"struct PimlicoSimulations.RejectedUserOp[]\",\"name\":\"rejectedUserOps\",\"type\":\"tuple[]\"}],\"internalType\":\"struct PimlicoSimulations.FilterOpsResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entryPointSimulation\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"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\":\"queuedUserOps\",\"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 PackedUserOperation\",\"name\":\"targetUserOp\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"initialMinGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toleranceDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasAllowance\",\"type\":\"uint256\"}],\"name\":\"simulateAndEstimateGas\",\"outputs\":[{\"components\":[{\"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\":\"simulationResult\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enum IEntryPointSimulations.BinarySearchResultType\",\"name\":\"resultType\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchSuccess\",\"name\":\"successData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"optimalGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxGas\",\"type\":\"uint256\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchOutOfGas\",\"name\":\"outOfGasData\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchResult\",\"name\":\"verificationGasLimit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enum IEntryPointSimulations.BinarySearchResultType\",\"name\":\"resultType\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchSuccess\",\"name\":\"successData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"optimalGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxGas\",\"type\":\"uint256\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchOutOfGas\",\"name\":\"outOfGasData\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.BinarySearchResult\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"tuple\"}],\"internalType\":\"struct PimlicoSimulations.SimulateAndEstimateGasResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entryPointSimulation\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"simulateEntryPointBulk\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entryPointSimulation\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"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\":\"queuedUserOps\",\"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 PackedUserOperation\",\"name\":\"targetUserOp\",\"type\":\"tuple\"}],\"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\":[{\"internalType\":\"address\",\"name\":\"entryPointSimulation\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"entryPoint\",\"type\":\"address\"},{\"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\":\"queuedUserOps\",\"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 PackedUserOperation\",\"name\":\"targetUserOp\",\"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 IEntryPoint.AggregatorStakeInfo\",\"name\":\"aggregatorInfo\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPointSimulations.ValidationResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Pimlico (https://github.com/pimlicolabs/alto)\",\"kind\":\"dev\",\"methods\":{},\"title\":\"PimlicoSimulations\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"binarySearchCallGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)\":{\"notice\":\"Binary search for optimal call gas limit\"},\"binarySearchPaymasterVerificationGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)\":{\"notice\":\"Binary search for optimal paymaster verification gas limit\"},\"binarySearchVerificationGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)\":{\"notice\":\"Binary search for optimal verification gas limit\"},\"simulateAndEstimateGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)\":{\"notice\":\"Simulates userOp and estimates verification & paymaster gas limits\"},\"simulateHandleOp(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Simulates handling of a UserOperation\"},\"simulateValidation(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Simulates validation of a UserOperation\"}},\"notice\":\"An ERC-4337 EntryPoint simulation contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/PimlicoSimulations.sol\":\"PimlicoSimulations\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v6/contracts/core/Helpers.sol\":{\"keccak256\":\"0x591c87519f7155d1909210276b77925ab2722a99b7b5d5649aecc36ebbdb045a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://69643e83f68e6a13d5075c7565bfce326673b0bd98c432033c4603ea84835746\",\"dweb:/ipfs/QmSwSzjYyV7qudi5vvsmzHMG2Z4YJZxX51RRXXVCLaNcEU\"]},\"lib/account-abstraction-v6/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0x060e9ddb0152250c269ba0640dc5753834ac44cf182a2837d508c0c529cae26a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://20ed837bc5909c89ff1910246bf245a5dad6840aa939382e1694964eb7dbd37b\",\"dweb:/ipfs/QmTMybRq5yyghPDDs1ZCNAVB9sSJ4WHe6Q9mejuKPTAdNP\"]},\"lib/account-abstraction-v6/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x3a90bf308819ed125fa4202f880999caff8a8686633b8ddb79a30ca240d5b8f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d2d21cc92c2fdab2b58d21bc25d4cd0e8c284b922528a186b087b818d54bc6cf\",\"dweb:/ipfs/QmT1qrfuBjsv2rmRCDn8mgPXHp94hARJwzbcDuBLDTbFWd\"]},\"lib/account-abstraction-v6/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0x509871e6c63663cdcc3eba19920fe84e991f38b289b1377ac3c3a6d9f22d7e12\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://00fe21b4349b24c50df60e1a705179293982bd9e7a32b78d4bac9620f89e7fe2\",\"dweb:/ipfs/QmSFFYGfUwQbVa6hASjU7YxTvgi2HkfrPr4X5oPHscHg8b\"]},\"lib/account-abstraction-v6/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xd227b02888cd4ac68daebcdfd992ec00f9fff66fa3b3bb16f656cd582fa3480f\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://b389da4714a138be63704a576a482505eab2855e263b38a93706395d8d42e7c3\",\"dweb:/ipfs/QmeeAZpdHwUXxqP8pxA7GNtoCGBmmH4FaqLLwScVKGxtxZ\"]},\"lib/account-abstraction-v6/contracts/interfaces/UserOperation.sol\":{\"keccak256\":\"0x61374003361059087fdcf17967a7bba052badeaf5c7f0ae689166f8aafd3a45c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ff83c59432e733bf6304dda27cd4b0f34401917dd535e2669cc842d2d26568c\",\"dweb:/ipfs/QmPJbHU5TAjHqUTZzAcicEeG2nknmwCN43L4EW9LHbknTN\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]},\"lib/account-abstraction-v8/contracts/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/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/solady/src/utils/LibBytes.sol\":{\"keccak256\":\"0x905f1c122299888350964a3bdd3dccd4b969273389b8d869f9aacb6871ff199e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6cff3ef7090aa48f214b960f373a33c15878f80e617443a3a4d53f130bab862\",\"dweb:/ipfs/QmdMEpK6ZVxUesqSpurqS9UkDnm1kAnjUeJKLN6ZWPNJnT\"]},\"src/IEntryPointSimulations.sol\":{\"keccak256\":\"0x3e675bb230bc7a40b25efd914975233e1f04cc5fbb19cd3b0b3c11574894eeeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dac88adcdabc296cc02d1986684d722132e09683a5420c720b927614422c32eb\",\"dweb:/ipfs/QmTU5SQkBzfhkeCiVTXiPxvNdfpBqqHW9kuAiizQ4DEBXp\"]},\"src/PimlicoSimulations.sol\":{\"keccak256\":\"0x9cb47e6711c497da1b9e568fbcc5166d6c909b31d67fece5010be04feb4b8a5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://467cc57ebe88b4cba702b618ac046916820cf5ece94cdd0d2c846037207c54b3\",\"dweb:/ipfs/QmYjhKx7nvjhu2DfrefUYi75ju43KNgCUWpss5HyjvVTqn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"event","name":"PimlicoSimulationDeployed","anonymous":false},{"inputs":[{"internalType":"address","name":"entryPointSimulation","type":"address"},{"internalType":"address","name":"entryPoint","type":"address"},{"internalType":"struct PackedUserOperation[]","name":"queuedUserOps","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 PackedUserOperation","name":"targetUserOp","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":"uint256","name":"initialMinGas","type":"uint256"},{"internalType":"uint256","name":"toleranceDelta","type":"uint256"},{"internalType":"uint256","name":"gasAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"binarySearchCallGas","outputs":[{"internalType":"struct IEntryPointSimulations.BinarySearchResult","name":"","type":"tuple","components":[{"internalType":"enum IEntryPointSimulations.BinarySearchResultType","name":"resultType","type":"uint8"},{"internalType":"struct IEntryPointSimulations.BinarySearchSuccess","name":"successData","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]},{"internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","name":"outOfGasData","type":"tuple","components":[{"internalType":"uint256","name":"optimalGas","type":"uint256"},{"internalType":"uint256","name":"minGas","type":"uint256"},{"internalType":"uint256","name":"maxGas","type":"uint256"}]}]}]},{"inputs":[{"internalType":"address","name":"entryPointSimulation","type":"address"},{"internalType":"address payable","name":"entryPoint","type":"address"},{"internalType":"struct PackedUserOperation[]","name":"queuedUserOps","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 PackedUserOperation","name":"targetUserOp","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":"uint256","name":"initialMinGas","type":"uint256"},{"internalType":"uint256","name":"toleranceDelta","type":"uint256"},{"internalType":"uint256","name":"gasAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"binarySearchPaymasterVerificationGas","outputs":[{"internalType":"struct IEntryPointSimulations.BinarySearchResult","name":"","type":"tuple","components":[{"internalType":"enum IEntryPointSimulations.BinarySearchResultType","name":"resultType","type":"uint8"},{"internalType":"struct IEntryPointSimulations.BinarySearchSuccess","name":"successData","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]},{"internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","name":"outOfGasData","type":"tuple","components":[{"internalType":"uint256","name":"optimalGas","type":"uint256"},{"internalType":"uint256","name":"minGas","type":"uint256"},{"internalType":"uint256","name":"maxGas","type":"uint256"}]}]}]},{"inputs":[{"internalType":"address","name":"entryPointSimulation","type":"address"},{"internalType":"address payable","name":"entryPoint","type":"address"},{"internalType":"struct PackedUserOperation[]","name":"queuedUserOps","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 PackedUserOperation","name":"targetUserOp","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":"uint256","name":"initialMinGas","type":"uint256"},{"internalType":"uint256","name":"toleranceDelta","type":"uint256"},{"internalType":"uint256","name":"gasAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"binarySearchVerificationGas","outputs":[{"internalType":"struct IEntryPointSimulations.BinarySearchResult","name":"","type":"tuple","components":[{"internalType":"enum IEntryPointSimulations.BinarySearchResultType","name":"resultType","type":"uint8"},{"internalType":"struct IEntryPointSimulations.BinarySearchSuccess","name":"successData","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]},{"internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","name":"outOfGasData","type":"tuple","components":[{"internalType":"uint256","name":"optimalGas","type":"uint256"},{"internalType":"uint256","name":"minGas","type":"uint256"},{"internalType":"uint256","name":"maxGas","type":"uint256"}]}]}]},{"inputs":[{"internalType":"struct UserOperation[]","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":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"contract IEntryPoint","name":"entryPoint","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"filterOps06","outputs":[{"internalType":"struct PimlicoSimulations.FilterOpsResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"uint256","name":"balanceChange","type":"uint256"},{"internalType":"struct PimlicoSimulations.RejectedUserOp[]","name":"rejectedUserOps","type":"tuple[]","components":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"bytes","name":"revertReason","type":"bytes"}]}]}]},{"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"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"contract IEntryPoint","name":"entryPoint","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"filterOps07","outputs":[{"internalType":"struct PimlicoSimulations.FilterOpsResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"uint256","name":"balanceChange","type":"uint256"},{"internalType":"struct PimlicoSimulations.RejectedUserOp[]","name":"rejectedUserOps","type":"tuple[]","components":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"bytes","name":"revertReason","type":"bytes"}]}]}]},{"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"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"contract IEntryPoint","name":"entryPoint","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"filterOps08","outputs":[{"internalType":"struct PimlicoSimulations.FilterOpsResult","name":"","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"uint256","name":"balanceChange","type":"uint256"},{"internalType":"struct PimlicoSimulations.RejectedUserOp[]","name":"rejectedUserOps","type":"tuple[]","components":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"bytes","name":"revertReason","type":"bytes"}]}]}]},{"inputs":[{"internalType":"address","name":"entryPointSimulation","type":"address"},{"internalType":"address payable","name":"entryPoint","type":"address"},{"internalType":"struct PackedUserOperation[]","name":"queuedUserOps","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 PackedUserOperation","name":"targetUserOp","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":"uint256","name":"initialMinGas","type":"uint256"},{"internalType":"uint256","name":"toleranceDelta","type":"uint256"},{"internalType":"uint256","name":"gasAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"simulateAndEstimateGas","outputs":[{"internalType":"struct PimlicoSimulations.SimulateAndEstimateGasResult","name":"result","type":"tuple","components":[{"internalType":"struct IEntryPointSimulations.ExecutionResult","name":"simulationResult","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"}]},{"internalType":"struct IEntryPointSimulations.BinarySearchResult","name":"verificationGasLimit","type":"tuple","components":[{"internalType":"enum IEntryPointSimulations.BinarySearchResultType","name":"resultType","type":"uint8"},{"internalType":"struct IEntryPointSimulations.BinarySearchSuccess","name":"successData","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]},{"internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","name":"outOfGasData","type":"tuple","components":[{"internalType":"uint256","name":"optimalGas","type":"uint256"},{"internalType":"uint256","name":"minGas","type":"uint256"},{"internalType":"uint256","name":"maxGas","type":"uint256"}]}]},{"internalType":"struct IEntryPointSimulations.BinarySearchResult","name":"paymasterVerificationGasLimit","type":"tuple","components":[{"internalType":"enum IEntryPointSimulations.BinarySearchResultType","name":"resultType","type":"uint8"},{"internalType":"struct IEntryPointSimulations.BinarySearchSuccess","name":"successData","type":"tuple","components":[{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]},{"internalType":"struct IEntryPointSimulations.BinarySearchOutOfGas","name":"outOfGasData","type":"tuple","components":[{"internalType":"uint256","name":"optimalGas","type":"uint256"},{"internalType":"uint256","name":"minGas","type":"uint256"},{"internalType":"uint256","name":"maxGas","type":"uint256"}]}]}]}]},{"inputs":[{"internalType":"address","name":"entryPointSimulation","type":"address"},{"internalType":"address payable","name":"entryPoint","type":"address"},{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"simulateEntryPointBulk","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]},{"inputs":[{"internalType":"address","name":"entryPointSimulation","type":"address"},{"internalType":"address payable","name":"entryPoint","type":"address"},{"internalType":"struct PackedUserOperation[]","name":"queuedUserOps","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 PackedUserOperation","name":"targetUserOp","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":"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":"address","name":"entryPointSimulation","type":"address"},{"internalType":"address payable","name":"entryPoint","type":"address"},{"internalType":"struct PackedUserOperation[]","name":"queuedUserOps","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 PackedUserOperation","name":"targetUserOp","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 IEntryPoint.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"}]}]}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"binarySearchCallGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)":{"notice":"Binary search for optimal call gas limit"},"binarySearchPaymasterVerificationGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)":{"notice":"Binary search for optimal paymaster verification gas limit"},"binarySearchVerificationGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)":{"notice":"Binary search for optimal verification gas limit"},"simulateAndEstimateGas(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),uint256,uint256,uint256)":{"notice":"Simulates userOp and estimates verification & paymaster gas limits"},"simulateHandleOp(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"notice":"Simulates handling of a UserOperation"},"simulateValidation(address,address,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"notice":"Simulates validation of a UserOperation"}},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/PimlicoSimulations.sol":"PimlicoSimulations"},"evmVersion":"london","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v6/contracts/core/Helpers.sol":{"keccak256":"0x591c87519f7155d1909210276b77925ab2722a99b7b5d5649aecc36ebbdb045a","urls":["bzz-raw://69643e83f68e6a13d5075c7565bfce326673b0bd98c432033c4603ea84835746","dweb:/ipfs/QmSwSzjYyV7qudi5vvsmzHMG2Z4YJZxX51RRXXVCLaNcEU"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IAggregator.sol":{"keccak256":"0x060e9ddb0152250c269ba0640dc5753834ac44cf182a2837d508c0c529cae26a","urls":["bzz-raw://20ed837bc5909c89ff1910246bf245a5dad6840aa939382e1694964eb7dbd37b","dweb:/ipfs/QmTMybRq5yyghPDDs1ZCNAVB9sSJ4WHe6Q9mejuKPTAdNP"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x3a90bf308819ed125fa4202f880999caff8a8686633b8ddb79a30ca240d5b8f8","urls":["bzz-raw://d2d21cc92c2fdab2b58d21bc25d4cd0e8c284b922528a186b087b818d54bc6cf","dweb:/ipfs/QmT1qrfuBjsv2rmRCDn8mgPXHp94hARJwzbcDuBLDTbFWd"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/INonceManager.sol":{"keccak256":"0x509871e6c63663cdcc3eba19920fe84e991f38b289b1377ac3c3a6d9f22d7e12","urls":["bzz-raw://00fe21b4349b24c50df60e1a705179293982bd9e7a32b78d4bac9620f89e7fe2","dweb:/ipfs/QmSFFYGfUwQbVa6hASjU7YxTvgi2HkfrPr4X5oPHscHg8b"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xd227b02888cd4ac68daebcdfd992ec00f9fff66fa3b3bb16f656cd582fa3480f","urls":["bzz-raw://b389da4714a138be63704a576a482505eab2855e263b38a93706395d8d42e7c3","dweb:/ipfs/QmeeAZpdHwUXxqP8pxA7GNtoCGBmmH4FaqLLwScVKGxtxZ"],"license":"GPL-3.0-only"},"lib/account-abstraction-v6/contracts/interfaces/UserOperation.sol":{"keccak256":"0x61374003361059087fdcf17967a7bba052badeaf5c7f0ae689166f8aafd3a45c","urls":["bzz-raw://6ff83c59432e733bf6304dda27cd4b0f34401917dd535e2669cc842d2d26568c","dweb:/ipfs/QmPJbHU5TAjHqUTZzAcicEeG2nknmwCN43L4EW9LHbknTN"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol":{"keccak256":"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588","urls":["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155","dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4","urls":["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9","dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol":{"keccak256":"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb","urls":["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3","dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"},"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359","urls":["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be","dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/utils/Exec.sol":{"keccak256":"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74","urls":["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77","dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"],"license":"LGPL-3.0-only"},"lib/account-abstraction-v8/contracts/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/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/solady/src/utils/LibBytes.sol":{"keccak256":"0x905f1c122299888350964a3bdd3dccd4b969273389b8d869f9aacb6871ff199e","urls":["bzz-raw://b6cff3ef7090aa48f214b960f373a33c15878f80e617443a3a4d53f130bab862","dweb:/ipfs/QmdMEpK6ZVxUesqSpurqS9UkDnm1kAnjUeJKLN6ZWPNJnT"],"license":"MIT"},"src/IEntryPointSimulations.sol":{"keccak256":"0x3e675bb230bc7a40b25efd914975233e1f04cc5fbb19cd3b0b3c11574894eeeb","urls":["bzz-raw://dac88adcdabc296cc02d1986684d722132e09683a5420c720b927614422c32eb","dweb:/ipfs/QmTU5SQkBzfhkeCiVTXiPxvNdfpBqqHW9kuAiizQ4DEBXp"],"license":"MIT"},"src/PimlicoSimulations.sol":{"keccak256":"0x9cb47e6711c497da1b9e568fbcc5166d6c909b31d67fece5010be04feb4b8a5b","urls":["bzz-raw://467cc57ebe88b4cba702b618ac046916820cf5ece94cdd0d2c846037207c54b3","dweb:/ipfs/QmYjhKx7nvjhu2DfrefUYi75ju43KNgCUWpss5HyjvVTqn"],"license":"MIT"}},"version":1},"id":20}
|